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.
Seedance 2.5 API
Exact T2V/I2V slugs, parameters, and live-catalog availability checks.
Submit a generation
The universal POST request for every active model.
Estimate cost
Get the exact price for a model and input before submitting it.
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.
AuthorizationBearer <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.
Model catalog.
application/json- response
object?stringPresent 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" } } ]}/v1/models| Query parameter | Default | What it does |
|---|---|---|
limit | 100 | how many generation models to return |
offset | 0 | how 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
| Family | REST API slugs |
|---|---|
| FLUX 2 | flux-2-flex, flux-2-pro |
| FLUX 3 | flux-3-klein |
| FLUX Kontext | flux-kontext-max, flux-kontext-pro |
| GPT Image | gpt-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 4 | google/imagen4, google/imagen4-fast, google/imagen4-ultra |
| Grok Imagine | grok-imagine/text-to-image, grok-imagine/image-to-image |
| Midjourney | midjourney/v7, midjourney/v8.1 |
| Nano Banana | nano-banana-2, nano-banana-2-1, nano-banana-pro |
| Qwen Image | qwen-image-2 |
| Seedream | seedream-4-5, seedream-5-0-lite, seedream-5-0-pro, seedream-v4, seedream-v4-edit |
| Wan Image | wan-2-7-image |
| Z-Image | z-image |
Video models
| Family | REST API slugs |
|---|---|
| Gemini Omni 1.2 | gemini-omni-video |
| Grok Imagine | grok-imagine-video-1-5, grok-imagine/text-to-video, grok-imagine/image-to-video |
| Hailuo | hailuo-02, hailuo-02-standard, hailuo-2-3, hailuo-2-3-fast |
| HappyHorse | happy-horse-t2v, happy-horse-i2v, happy-horse-r2v, happy-horse-edit |
| HeyGen Video | heygen-video-t2v, heygen-video-i2v, heygen-video-r2v |
| Kling 2.5 | kling-v2-5-turbo-text-to-video-pro, kling-v2-5-turbo-image-to-video-pro |
| Kling 2.6 | kling-2-6-text-to-video, kling-2-6-image-to-video, kling-2-6-motion-control |
| Kling 3 | kling-3-text-to-video, kling-3-image-to-video, kling-3-multi-shot, kling-3-motion-control |
| Kling 4.0 | kling-4-t2v, kling-4-i2v, kling-4-r2v |
| Kling 4.0 Flash | kling-4-flash-t2v, kling-4-flash-i2v, kling-4-flash-r2v |
| Kling O3 | kling-o3-t2v, kling-o3-i2v, kling-o3-r2v, kling-o3-transform |
| Kling Lip Sync | kling-lip-sync |
| Midjourney Video | midjourney/v7-image-to-video |
| MiniMax H3 | h3-t2v, h3-i2v |
| OmniHuman | omnihuman-2 |
| Seedance 1.5 | seedance-1-5-text-to-video, seedance-1-5-image-to-video |
| Seedance 2.0 | seedance-2-t2v, seedance-2-i2v, seedance-2-fast-t2v, seedance-2-fast-i2v, seedance-2-mini-t2v, seedance-2-mini-i2v |
| Seedance 2.5 | seedance-2-5-t2v, seedance-2-5-i2v |
| Veo | veo3-fast, veo3-lite, veo3-quality |
| Wan | wan-2-5, wan-2-7, wan-2-7-image-to-video |
| Wan 3.0 | wan-3-0, wan-3-0-i2v, wan-3-0-r2v |
Audio models
| Family | REST API slugs |
|---|---|
| ElevenLabs | eleven-v4, eleven-v4-turbo |
| Gemini TTS | gemini-3-1-flash-tts, gemini-2-5-pro-tts |
| Suno | suno-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.
| Type | Family | Slugs |
|---|---|---|
| image | Imagen 4 | google/imagen4, google/imagen4-fast, google/imagen4-ultra |
| image | Grok Imagine | grok-imagine/text-to-image, grok-imagine/image-to-image |
| image | Midjourney | midjourney/v7, midjourney/v8.1 |
| video | Grok Imagine | grok-imagine/text-to-video, grok-imagine/image-to-video |
| video | Midjourney Video | midjourney/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
/v1/models/:modelcurl 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.
Generation result
GET /v1/requests/{request_id} — fetch the finished result with links to the image, video or audio; while the job is still running, the API returns 202.
Seedance 2.5 API: slugs and pricing
Seedance 2.5 in the Clipia API — T2V and I2V slugs, parameter limits, how to check availability in the catalog, estimate the price and submit over REST.