---
title: "The video and image models, their limits, billing unit and prices, and which ones this organization may use"
method: GET
path: "/v1/models"
tags: ["platform-api"]
---

# The video and image models, their limits, billing unit and prices, and which ones this organization may use

`GET /v1/models`

## Request

- Base URL: `https://api.cuddler.ai`
- URL: `https://api.cuddler.ai/v1/models`
- Auth: HTTP bearer

## Response `200`

The catalog as this organization sees it

- object
  - `object` 'list', required
  - `data` union[], required
    - union
      - object
        - `object` 'model', required
        - `id` 'seedance-2.5' | 'seedance-2.0' | 'seedance-2.0-mini' | 'minimax-h3' | 'wan-3.0' | 'wan-3.0-prime' | 'happyhorse-1.0' | 'happyhorse-1.1' | 'wan-2.6' | 'wan-2.7' | 'ltx-2.5' | 'minimax-hailuo-2.3' | 'pixverse-6' | 'grok-video-1.5' | 'kling-3.0' | 'kling-2.6' | 'kling-2.5-turbo' | 'kling-o1' | 'kling-o3' | 'vidu-q4-preview' | 'runway-gen4.5' | 'runway-gen4-turbo' | 'veo-3.1' | 'veo-3.1-fast' | 'veo-3.1-lite' | 'veo-3' | 'veo-3-fast' | 'veo-2' | 'gemini-omni-flash' | 'seedream-5' | 'seedream-5-pro' | 'qwen-image-3' | 'z-image-turbo' | 'grok-imagine-2.0' | 'ideogram-4' | 'ideogram-4.5' | 'recraft-4.1' | 'nano-banana-2.1' | 'nano-banana-2' | 'nano-banana-2-lite' | 'nano-banana-pro' | 'imagen-4-ultra' | 'imagen-4' | 'imagen-4-fast' | 'imagen-3' | 'imagen-3-fast' | 'gpt-image-2.5-sunburst' | 'gpt-image-2.5-flare' | 'gpt-image-2' | 'gpt-image-1.5' | 'gpt-image-1-mini' | 'gpt-image-1', required
        - `kind` 'video' | 'image'
        - `unit` 'token' | 'second' | 'image'
        - `request_fields` string[]
        - `image_asset_reference` object
          - `enabled` boolean, required
          - `roles` string[], required
          - `excluded_resolutions` string[], required
          - `portrait_authorization` boolean, required
        - `display_name` string, required
        - `choices` object[]
          - `mode` 'text' | 'image' | 'reference' | 'edit' | 'extend' | 'motion-control' | 'image-reference' | 'video-reference' | 'first-last-frame', required
          - `variant` 'default' | 'fast' | 'pro' | 'standard' | 'turbo' | '4k' | 'base' | 'utility' | 'utility-pro', required
        - `min_duration` integer, required
        - `max_duration` integer, required
        - `resolutions` string[], required
        - `aspect_ratios` string[], required
        - `max_reference_images` integer, required
        - `max_reference_videos` integer, required
        - `max_reference_audios` integer, required
        - `max_references` integer, required
        - `audio_only_reference` boolean, required
        - `native_audio` boolean, required
        - `enabled` boolean, required
        - `pricing` object[], required
          - `duration` integer
          - `generate_audio` boolean
          - `retail_micros_per_100_jobs` integer
          - `retail_micros_per_100_million_tokens` integer
          - `retail_micros_per_100_million_tokens_with_video` integer
          - `free_input_images` integer
          - `retail_micros_per_100_input_images` integer
          - `variant` 'default' | 'fast' | 'pro' | 'standard' | 'turbo' | '4k' | 'base' | 'utility' | 'utility-pro'
          - `mode` 'text' | 'image' | 'reference' | 'edit' | 'extend' | 'motion-control' | 'image-reference' | 'video-reference' | 'first-last-frame'
          - `retail_micros_per_100_input_seconds` integer
          - `retail_micros_per_100_seconds` integer
          - `bills_input_video` boolean
          - `resolution` '360p' | '480p' | '540p' | '720p' | '768p' | '1080p' | '1440p' | '0.5K' | '1K' | '2K' | '4K', required
          - `usd_per_million_tokens` string
          - `usd_per_million_tokens_with_video_input` string
          - `usd_per_second` string
          - `usd_per_image` string
          - `usd_per_input_image` string
          - `usd_by_reference_count` string[]
          - `list_usd_per_million_tokens` string
          - `list_usd_per_million_tokens_with_video_input` string
          - `list_usd_per_second` string
          - `list_usd_per_image` string
        - `price_version` string, required
        - `price_ends_at` string, nullable
      - object
        - `object` 'model', required
        - `id` 'elevenlabs-v4' | 'elevenlabs-v4-turbo' | 'elevenlabs-flash-v2.5' | 'fish-s2.1-pro' | 'gemini-3.8-flash-tts' | 'gemini-3.8-flash-lite-tts' | 'minimax-speech-2.8-hd' | 'minimax-speech-2.8-turbo', required
        - `kind` 'speech', required
        - `display_name` string, required
        - `unit` 'character' | 'utf8_byte' | 'utf16_unit' | 'audio_token' | 'minimax_character', required
        - `max_characters` integer, required
        - `dialogue` boolean, required
        - `enabled` boolean, required
        - `request_fields` string[], required
        - `price_version` string, required
        - `usd_per_million_units` string, required
        - `voice_surcharges` boolean, required
      - object
        - `object` 'model', required
        - `id` 'lyria-3-pro' | 'lyria-3' | 'lyria-2' | 'eleven-music-2.5', required
        - `kind` 'music', required
        - `display_name` string, required
        - `unit` 'generation', required
        - `max_duration` integer, required
        - `enabled` boolean, required
        - `request_fields` string[], required
        - `price_version` string, required
        - `usd_per_generation` string, required

## Other responses

- `401`: unauthorized — no key, or an unknown or revoked one (WWW-Authenticate: Bearer)
- `403`: organization_suspended — the organization is not active; forbidden — a test key on a live-only route
- `404`: not_found — the Platform API is switched off, or the object does not exist
- `429`: rate_limited — over this key's requests per minute (Retry-After)
- `500`: internal_error — quote request_id when contacting support

---

[API](https://skmtc.dev/cuddler/apis/cuddler-platform-api.md) · [All operations](https://skmtc.dev/cuddler/apis/cuddler-platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cuddler/apis/cuddler-platform-api/revisions/f03943ceadff?raw)
