Skip to content

API Reference

Model catalog

GET /v1/models — Clipia image, video and audio models with exact slugs, input schema and pricing, including slugs that contain a slash.

The catalog returns the exact slugs, capabilities, input parameters and base prices of the models available to your API key. It changes without a new SDK release, so the source of truth is the live GET /v1/models response, not the tables on this page.

Live catalog

Use a test key here

Paste a clipia_test_… key into the form below: it charges no credits and calls no models, and the response has the same shape. The form keeps the key in this browser, so never enter a live clipia_live_… key here: it is a server-side secret. See Sandbox.

GET
/v1/models

Authorization

headerAuthorizationBearer <token>

API key in the Authorization header with the Bearer scheme, the primary form. Generated clients add the Bearer prefix themselves, and in the playground the field already contains it: type the key after it. The playground keeps the key in this browser, so use a test key for trials:

Authorization: Bearer <CLIPIA_API_KEY>

The same key is also accepted with the Key scheme (Authorization: Key <key>, the word Key in any case) and in the separate X-Api-Key header (the apiKeyHeader scheme); use whichever form suits you, the server tells them apart. The key is created in the developer console (clipia.ai/developer, "API keys" tab) and shown only once. Format: clipia_live_… (live), clipia_test_… (sandbox).

Sandbox / test mode. A key with the clipia_test_… prefix works in the sandbox: submit charges no credits and starts no real generation; it instantly returns status: COMPLETED with a deterministic mock result (a fixed sample asset on media.clipia.ai). The cost field shows the estimated cost, but it is not charged. Webhooks arrive through the same signed mechanism (HMAC-SHA256). This mode is meant for debugging an integration before you switch to a live key.

Response Body

Model catalog.

application/json
  1. response
object?string

Present when the LLM gateway is enabled.

data*array<|>
curl -X GET "https://example.com/v1/models"
{  "data": [    {      "slug": "nano-banana-2",      "type": "image",      "name": "Nano Banana 2",      "capabilities": [        "text-to-image",        "image-to-image"      ],      "pricing": {        "credits": 12      }    },    {      "slug": "seedance-2-fast-i2v",      "type": "video",      "name": "Seedance 2 Fast",      "capabilities": [        "image-to-video"      ],      "pricing": {        "credits": 40,        "note": "depends on duration/resolution"      }    }  ]}
GET/v1/models
Query parameterDefaultWhat it does
limit100how many generation models to return
offset0how many generation models to skip
curl https://api.clipia.ai/v1/models \
  -H "Authorization: Bearer $CLIPIA_KEY"

Every generation model in the response has slug, type, name, capabilities and pricing. The set can differ between environments and change faster than these docs. limit and offset apply to generation models only: LLM models are always included in the response.

LLM models in the same list

AI Gateway is enabled, so the response uses the OpenAI list format (object: "list") and LLM models come first in data: they have an id but no slug. Generation models follow and, in addition to slug, carry id, object, created and owned_by. Filter items by the presence of slug, as in the examples above. GET /v1/models/{id} for an LLM model returns the same kind of entry as the list. For LLM models, see LLM models and pricing.

Pricing

Prices are current as of November 2026. The exact cost is always shown on the run button before anything is charged. Through the API, the price of a specific job comes from POST /v1/models/{model}/estimate.

Catalog snapshot

Below is a readable snapshot of the live catalog as of November 4, 2026: 90 active public models — 27 for images, 55 for video and 8 for audio. All of them can be called through MCP and, except for midjourney/v8.1, through the REST API; 10 of them have a slug with a slash — see Slugs with a slash for how to pass one. Always fetch the live catalog before submitting a job.

Image models

FamilyREST API slugs
FLUX 2flux-2-flex, flux-2-pro
FLUX 3flux-3-klein
FLUX Kontextflux-kontext-max, flux-kontext-pro
GPT Imagegpt-image-1-5, gpt-image-2, gpt-image-2-5-flare, gpt-image-2-5-sunburst, gpt-image-2-6-flare, gpt-image-2-6-sunburst
Imagen 4google/imagen4, google/imagen4-fast, google/imagen4-ultra
Grok Imaginegrok-imagine/text-to-image, grok-imagine/image-to-image
Midjourneymidjourney/v7, midjourney/v8.1
Nano Banananano-banana-2, nano-banana-2-1, nano-banana-pro
Qwen Imageqwen-image-2
Seedreamseedream-4-5, seedream-5-0-lite, seedream-5-0-pro, seedream-v4, seedream-v4-edit
Wan Imagewan-2-7-image
Z-Imagez-image

Video models

FamilyREST API slugs
Gemini Omni 1.2gemini-omni-video
Grok Imaginegrok-imagine-video-1-5, grok-imagine/text-to-video, grok-imagine/image-to-video
Hailuohailuo-02, hailuo-02-standard, hailuo-2-3, hailuo-2-3-fast
HappyHorsehappy-horse-t2v, happy-horse-i2v, happy-horse-r2v, happy-horse-edit
HeyGen Videoheygen-video-t2v, heygen-video-i2v, heygen-video-r2v
Kling 2.5kling-v2-5-turbo-text-to-video-pro, kling-v2-5-turbo-image-to-video-pro
Kling 2.6kling-2-6-text-to-video, kling-2-6-image-to-video, kling-2-6-motion-control
Kling 3kling-3-text-to-video, kling-3-image-to-video, kling-3-multi-shot, kling-3-motion-control
Kling 4.0kling-4-t2v, kling-4-i2v, kling-4-r2v
Kling 4.0 Flashkling-4-flash-t2v, kling-4-flash-i2v, kling-4-flash-r2v
Kling O3kling-o3-t2v, kling-o3-i2v, kling-o3-r2v, kling-o3-transform
Kling Lip Synckling-lip-sync
Midjourney Videomidjourney/v7-image-to-video
MiniMax H3h3-t2v, h3-i2v
OmniHumanomnihuman-2
Seedance 1.5seedance-1-5-text-to-video, seedance-1-5-image-to-video
Seedance 2.0seedance-2-t2v, seedance-2-i2v, seedance-2-fast-t2v, seedance-2-fast-i2v, seedance-2-mini-t2v, seedance-2-mini-i2v
Seedance 2.5seedance-2-5-t2v, seedance-2-5-i2v
Veoveo3-fast, veo3-lite, veo3-quality
Wanwan-2-5, wan-2-7, wan-2-7-image-to-video
Wan 3.0wan-3-0, wan-3-0-i2v, wan-3-0-r2v

Audio models

FamilyREST API slugs
ElevenLabseleven-v4, eleven-v4-turbo
Gemini TTSgemini-3-1-flash-tts, gemini-2-5-pro-tts
Sunosuno-music, suno-v6, suno-v6-mini, suno-v6-wild

Slugs with a slash

Ten models have a family/model slug. Pass it in the path as is, without encoding the slash: POST /v1/models/google/imagen4, GET /v1/models/google/imagen4, POST /v1/models/google/imagen4/estimate. The encoded form google%2Fimagen4 is accepted too — that is how the SDKs send it. In the MCP server, pass it as the model parameter of the generate_image or generate_video tool.

TypeFamilySlugs
imageImagen 4google/imagen4, google/imagen4-fast, google/imagen4-ultra
imageGrok Imaginegrok-imagine/text-to-image, grok-imagine/image-to-image
imageMidjourneymidjourney/v7, midjourney/v8.1
videoGrok Imaginegrok-imagine/text-to-video, grok-imagine/image-to-video
videoMidjourney Videomidjourney/v7-image-to-video

Grok Imagine video also has the short slug grok-imagine-video-1-5 — both point to the same model.

midjourney/v8.1 cannot be submitted over REST

The slug midjourney/v8.1 contains a dot, while the format check of POST /v1/models/:model allows only lowercase letters, digits, hyphens and a single slash: a submit returns 400 invalid_request with the message invalid_model. GET /v1/models/midjourney/v8.1 and the cost estimate work. Until the check is fixed, run this model through MCP or pick midjourney/v7.

Single model schema

GET/v1/models/:model
curl https://api.clipia.ai/v1/models/gpt-image-2 \
  -H "Authorization: Bearer $CLIPIA_KEY"

On submit, pass only keys from input_schema inside the input field. If the model doesn't exist or is inactive, the response is 404 with the code not_found and the message model_not_found. Parameter labels and hints (label, hint) come in English.

Prop

Type

The default value in input_schema is the execution default: a request without that parameter is priced and run with it. The server does not inject defaults into your request body, so an estimate for an input without the parameter and one with the parameter equal to default returns the same price.

Don't hard-code a schema from this page

Variants in one family can have different required fields, durations, resolutions and reference inputs. Fetch input_schema for the exact slug and call POST /v1/models/:model/estimate before generation.

New model availability

A model is available through the API only once its exact slug appears in GET /v1/models. An announcement or a product page is not that signal. For example, the slugs seedance-2-5-t2v and seedance-2-5-i2v for Seedance 2.5 are enabled separately in each environment and are present in the production catalog; the customer-facing Seedance 2.5 landing opens only when both modes are active. A model that is switched off disappears from the list, and requests to it get 404 model_not_found. Always check the live catalog before submitting.