Cliprise Business API
Server-side access to AI image, video, and audio generation across 55 catalog entries, including 54 primary routes and 1 compatibility alias. One unified API — generate a task, receive a taskId, poll for results.
Overview
The Cliprise Business API provides a single consistent interface for AI media generation across image, video, and audio modalities.
Single host · Bearer auth · Two endpoints (generate + status) · Credit-based billing
input keys, types, and enum values · Some models use root-only body · Tier selection via options
| Item | Value |
|---|---|
| Base host | business.api.cliprise.app |
| Generate | POST /app/cliprise/generate |
| Status / download | GET /app/cliprise/status |
| Authentication | Bearer token in Authorization header (generate) · Query param (status) |
| Format | Content-Type: application/json |
| Billing | API credits deducted per successful task; tier and model determine the rate |
Key Concepts
Understand these terms before integrating — they are referenced throughout this reference.
| Term | What it means |
|---|---|
model |
The literal API string you send in the request body to identify which AI model to use. In many cases this is the catalog ID (for example imagen-v4 or flux-2), but several families require an explicit routed variant such as flux-kontext-pro, seedance-v1-lite, hailuo-2-3-standard, wan-animate-replace, or kling-2-1-standard. Each model card below states the correct request value. |
input |
A JSON object in the request body containing all per-model parameters (prompt, dimensions, references, etc.). The keys and types vary per model — see each model's card in Input Parameters and the shared Input types reference. |
options |
A stringified JSON object (not a nested object) placed at the request body root. Used for tier selection and advanced settings. Example: "options": "{"model":0,"aspectRatio":2}". Index values map to specific tiers or values — documented per model. |
imageURLList |
A stringified JSON array of image URLs placed at the request body root. Used by most models to provide reference images for image-to-image or image-to-video generation. Example: "imageURLList": "["https://example.com/ref.jpg"]". The pipeline parses and routes these URLs into the appropriate input fields. |
videoURLList |
A stringified JSON array of video URLs placed at the request body root. Used by models that accept a reference video (e.g. wan-animate, runway-aleph, kling-2-6-motion, wan-2-6-video). The pipeline parses and routes these to the appropriate input field. |
| Root-only model | A model where all request fields go directly at the JSON body root — there is no input object. Marked with an Root-only badge. Examples: flux-kontext, gpt-image-1, veo-3-fast, runway, runway-aleph. |
| Tier / multi-tier model | A model family that supports multiple quality or speed tiers. Some families use an index in options, while others require a routed model value such as -pro, -fast, or -standard. Follow the specific model card for that family. |
callBackUrl |
An HTTPS URL stored with the task. The pipeline may call it on completion, but delivery is not guaranteed. Always implement status polling as your primary mechanism for detecting task completion. |
| Credits | The billing unit for API usage. Credits are deducted when a job is submitted (not on delivery). The number of credits charged depends on the model, tier, resolution, and duration. See Pricing Reference. |
taskId |
A unique identifier returned by the generate endpoint on success. Use it to poll /app/cliprise/status until the task completes or fails. |
options field must be a JSON string, not a JSON object. Wrap the object in JSON.stringify() (JavaScript) or json.dumps() (Python) before placing it in the request body.
Input Types
JSON types matter. Many validation errors come from sending a string where the route expects an array, or sending an integer where the route expects a quoted numeric string.
| Field pattern | Expected JSON type | Common fields |
|---|---|---|
| Single media URL | string | image_url, video_url, audio_url, imageUrl, videoUrl, inputImage, referenceImage, fileUrl, image |
| Media URL list | array[string] | image_urls, video_urls, input_urls, reference_image_urls, image_input |
| Root media helpers | string containing JSON | imageURLList = stringified JSON array of URLs, videoURLList = stringified JSON array of URLs |
| Root options helper | string containing JSON | options = stringified JSON object |
| Plain text | string | prompt, negative_prompt, text, voice, language_code |
| Enum-like strings | string | aspect_ratio, aspectRatio, resolution, quality, output_format, outputFormat, mode, image_size, image_resolution, rendering_speed, character_orientation |
| Quoted numeric strings | string | duration, n_frames. Send quoted values such as "5", "10", or "250". |
| Booleans | boolean | sound, camera_fixed, enable_safety_checker, tag_audio_events, remove_watermark, loop, prompt_optimizer, generate_audio, fixed_lens, multi_shots, enableTranslation, isEnhance |
| Integers or numbers | integer or number | seed, seeds, num_frames, frames_per_second, num_inference_steps, cfg_scale, guidance_scale, similarity_boost, speed, stability, prompt_influence, shift |
| Arrays of objects | array[object] | shots, multi_prompt, dialogue, kling_elements |
image_urls, video_urls, input_urls, and reference_image_urls usually expect arrays even when you are sending only one file URL.
hailuo and hailuo-pro, input.image_urls is most reliable as a single URL string matching input.image_url.
http:// or https:// file links that Cliprise can fetch without login, cookies, browser sessions, anti-bot pages, or private-network access. Presigned URLs are fine if they stay valid long enough for the task to start.
Quick Start
Everything you need for your first successful API call.
Base URL
https://business.api.cliprise.app
Minimal generate request
curl -X POST "https://business.api.cliprise.app/app/cliprise/generate" \
-H "Authorization: Bearer YOUR_CLIPRISE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-image-2",
"callBackUrl": "https://your-service.example.com/webhooks/cliprise",
"input": {
"prompt": "A peaceful mountain lake at sunrise",
"image_size": "16:9",
"output_format": "jpeg",
"seed": 424242
}
}'
Success response
[{"code": 200, "taskId": "f11021d5b56bc19932b336ac0dbf413f"}]
Poll for status
curl -G "https://business.api.cliprise.app/app/cliprise/status" \
--data-urlencode "apiKey=YOUR_CLIPRISE_API_KEY" \
--data-urlencode "taskId=f11021d5b56bc19932b336ac0dbf413f"
How It Works
The API follows a straightforward asynchronous pattern.
/app/cliprise/generate with your model, callBackUrl, and input object. A successful submission returns HTTP 200 with a taskId.taskId from the response. This is your handle for checking progress and retrieving results. Parse defensively — the response may be a JSON array or a bare object./app/cliprise/status?apiKey=…&taskId=… until you receive HTTP 200 (done) or HTTP 400 (failed). While processing, the API returns HTTP 300. Use exponential backoff.fileURL. Add download=true to the status request to receive the binary file directly. Some models (e.g. grok-imagine) may return a .zip.Authentication
The generate and status endpoints use different authentication mechanisms.
Host header to be exactly business.api.cliprise.app. Requests to any other host return HTTP 400 with an empty body or {"msg":"method_not_allowed"}.
Generate — Bearer token
POST /app/cliprise/generate HTTP/1.1
Host: business.api.cliprise.app
Authorization: Bearer YOUR_CLIPRISE_API_KEY
Content-Type: application/json
Status — Query parameter
GET /app/cliprise/status?apiKey=YOUR_CLIPRISE_API_KEY&taskId=TASK_ID HTTP/1.1
Host: business.api.cliprise.app
Generate Endpoint
| Item | Value |
|---|---|
| Method | POST |
| URL | https://business.api.cliprise.app/app/cliprise/generate |
| Auth | Authorization: Bearer <API_KEY> |
| Content-Type | application/json |
Request body fields
| Field | Type | Required | Description |
|---|---|---|---|
model | string | Yes | Model identifier for the route you want to run. Some families use the catalog ID directly, while others require a routed variant such as flux-kontext-pro or seedance-v1-lite. See each model card below. |
callBackUrl | HTTPS URL | Yes (live) | Stored with the task. Delivery is not guaranteed — always poll the status endpoint. |
input | object | Yes* | Per-model input fields. Root-only models have no input object — all fields go at body root. |
options | stringified JSON | Conditional | Tier and advanced settings for models that use root-level option indices (for example flux-2, imagen-v4, or Kling 3 family settings). Encoded as a JSON string, not a nested object. |
imageURLList | stringified JSON array | Conditional | Reference images for image-to-image / image-to-video routes; encoded as a JSON string. |
videoURLList | stringified JSON array | Conditional | Reference videos for video-to-video routes and models that accept a video reference (e.g. wan-animate, runway-aleph, kling-2-6-motion); encoded as a JSON string. |
options while keeping the base catalog ID (for example flux-2 and imagen-v4). Other families require the routed model value itself (for example flux-kontext-pro, seedance-v1-pro, hailuo-2-3-standard, wan-animate-replace, or kling-2-1-standard). The model cards below show which pattern applies.
Success response
[{"code": 200, "taskId": "f11021d5b56bc19932b336ac0dbf413f"}]
Parse defensively — some client stacks may unwrap the outer array. Handle both Array[0].taskId and .taskId.
Application-level error (still HTTP 200)
{"code": 400, "msg": "This field is required", "data": null}
Always check code in the JSON body, not just the HTTP status code.
Status & Download
| Item | Value |
|---|---|
| Method | GET |
| URL | https://business.api.cliprise.app/app/cliprise/status |
| Auth | API key as query param apiKey |
Query parameters
| Parameter | Required | Description |
|---|---|---|
apiKey | Yes | Your Cliprise API key |
taskId | Yes | From the generate response |
download | No | Pass string true to receive the binary file instead of a JSON status response |
Response states
| State | HTTP | Body |
|---|---|---|
| Processing | 300 | {"status": "processing"} — continue polling |
| Complete (JSON) | 200 | status field + fileURL with the result URL |
| Complete (binary) | 200 | Raw file bytes when download=true. grok-imagine may return a .zip. |
| Failed | 400 | status + failMsg describing the failure reason |
| Invalid key | 400 | {"msg": "invalid_api_key"} |
| Invalid taskId | 400 | {"msg": "invalid_taskId"} |
Callback & Polling
callBackUrl is stored with each task, but delivery is not guaranteed in all deployment scenarios. Always implement status polling as your primary completion mechanism.
Use exponential backoff when polling. A common strategy: wait 2 s, then 4 s, 8 s, 16 s, up to a maximum interval (e.g. 60 s) until the task reaches a terminal state (HTTP 200 or HTTP 400).
taskId do not create duplicate work.
Error Reference
Generate errors
| Situation | HTTP | Response |
|---|---|---|
| Wrong host header | 400 | empty body |
| Missing or invalid API key | 400 | {"msg": "invalid_api_key"} |
| Invalid model ID | 400 | {"msg": "invalid_model_id"} |
| Insufficient credits | 200 | insufficient_credits + action_url (app pricing link) |
| Missing required field | 200 | {"code": 400, "msg": "This field is required", "data": null} |
code: 400 in the body. Always inspect the code field of the response body, not just the HTTP status.
Model Catalog
55 documented catalog entries across image, video, and audio, including 1 compatibility alias. Use each model card below for the exact request model value when integrating.
| model_id | Display name | Category | Credits | Billing unit |
|---|---|---|---|---|
| Image Generation | ||||
nano-banana | Nano Banana | image | 8 | per image |
nano-banana-2 | Nano Banana 2 | image | 16–36 | per image (by resolution) |
nano-banana-pro | Nano Banana Pro | image | 33–44 | per image (by resolution) |
ideogram-v3 | Ideogram V3 | image | 7–18 | per image (by speed) |
ideogram-character | Ideogram Character | image | 22–44 | per image (by speed) |
ideogram-reframe | Ideogram Reframe | image | 7–18 | per image (by speed) |
seedream-v3 | Seedream 3.0 | image | 7 | per image |
seedream-v4 | Seedream 4.0 | image | 9 | per image |
seedream-4-5 | Seedream 4.5 | image | 12 | per image |
seedream-5-lite | Seedream 5 Lite | image | 11 | per image |
qwen-image | Qwen Image | image | 2–7 | per image (by aspect ratio) |
qwen-image-2 | Qwen Image 2.0 | image | 12 | per image |
flux-kontext | Flux Kontext | image | 9–18 | per image (Pro / Max) |
flux-2 | Flux 2 | image | 9–44 | per image (tier × resolution) |
gpt-image-1 | GPT Image 1 | image | 11 | per image |
gpt-image-1-5 | GPT Image 1.5 | image | 8–44 | per image (Medium / High) |
imagen-v4 | Imagen V4 | image | 8–22 | per image (Fast / Ultra) |
z-image | Z Image | image | 2 | per image |
grok-imagine | Grok Imagine | image | 8 | per call |
recraft-remove-bg | Recraft Remove Background | image | 2 | per image |
recraft-upscaler | Recraft Upscaler | image | 1 | per image |
| Video Generation | ||||
veo-3-fast | Veo 3.1 Fast | video | 108 | per video |
veo-3-quality | Veo 3.1 Quality | video | 720 | per video |
sora-2 | Sora 2 | video | 54–63 | per video (10 s / 15 s) |
sora-2-turbo | Sora 2 Turbo | video | 270–1134 | per video (quality × duration) |
sora-story-board | Sora Story Board | video | 270–699 | per video |
wan-2-5 | Wan 2.5 | video | 108–360 | per video (resolution × duration) |
wan-2-2 | Wan 2.2 | video | 72–108 | per video |
wan-2-6 | Wan 2.6 | video | 140–630 | per video (resolution × duration) |
wan-2-6-video | Wan 2.6 Video-to-Video | video | 140–420 | per video |
wan-animate | Wan Animate | video | 11–23 | per second |
wan-speech-to-video | Wan Speech to Video | video | 22–44 | per second |
kling-video-turbo | Kling 2.5 Turbo | video | 76–152 | per video |
kling-2-5 | Kling 2.5 (alias) | video | 76–152 | per video — use kling-video-turbo |
kling-2-1 | Kling 2.1 | video | 45–576 | per video (tier × duration) |
kling-2-6 | Kling 2.6 | video | 99–396 | per video (sound option) |
kling-2-6-motion | Kling 2.6 Motion Control | video | 12–18 | per second |
kling-3 | Kling 3.0 | video | 200–1200 | per video (tier × duration × sound) |
kling-3-motion | Kling 3 Motion Control | video | 24–40 | per second |
kling-3-multi-shot | Kling 3.0 Multi-Shot | video | 200–810 | per video (tier × duration) |
hailuo | Hailuo 02 | video | 22–90 | per video (resolution × duration) |
hailuo-pro | Hailuo 02 Pro | video | 103 | per video |
hailuo-2-3 | Hailuo 2.3 | video | 54–162 | per video (tier × resolution) |
seedance-v1 | Seedance V1 | video | 18–252 | per video (tier × resolution × duration) |
seedance-v1-pro-fast | Seedance V1 Pro Fast | video | 29–130 | per video |
seedance-1-5-pro | Seedance 1.5 Pro | video | 8–38 | per video (resolution × duration) |
runway | Runway Gen4 Turbo | video | 198–396 | per video |
runway-aleph | Runway Aleph | video | 198 | per video |
grok-imagine-video | Grok Imagine Video | video | 20–80 | per video |
| Audio & Utilities | ||||
elevenlabs-tts-turbo | ElevenLabs TTS Turbo | audio | 49 | per 5 000 chars |
elevenlabs-tts | ElevenLabs TTS Multi-Language | audio | 49 | per 5 000 chars |
elevenlabs-v3-dialogue | ElevenLabs V3 Dialogue | audio | 1 | per 5 000 chars |
elevenlabs-speech-to-text | ElevenLabs Speech to Text | audio | 7 | per second of audio |
elevenlabs-audio-isolation | ElevenLabs Audio Isolation | audio | 1 | per second of audio |
elevenlabs-sound-effect | ElevenLabs Sound Effect | audio | 1 | per second of output |
Aspect Ratio & Size Quick Reference
Every model that accepts a size or aspect parameter. Full enum tables and field details are in Input Parameters.
| model_id | Parameter | Allowed values |
|---|---|---|
| Image Generation | ||
nano-banana | image_size | square | square_hd | portrait_4_3 | landscape_4_3 | portrait_16_9 | landscape_16_9 |
nano-banana-2 | aspect_ratio | 1:1 | 2:3 | 3:2 | 4:3 | 3:4 | 4:5 | 5:4 | 9:16 | 16:9 | 21:9 |
nano-banana-pro | aspect_ratio | 1:1 | 2:3 | 3:2 | 4:3 | 3:4 | 4:5 | 5:4 | 9:16 | 16:9 | 21:9 |
ideogram-v3 | image_size | square | square_hd | portrait_4_3 | landscape_4_3 | portrait_16_9 | landscape_16_9 |
ideogram-character | image_size | square | square_hd | portrait_4_3 | landscape_4_3 | portrait_16_9 | landscape_16_9 |
ideogram-reframe | image_size | square | square_hd | portrait_4_3 | landscape_4_3 | portrait_16_9 | landscape_16_9 |
seedream-v3 | image_size | square | square_hd | portrait_4_3 | landscape_4_3 | portrait_16_9 | landscape_16_9 |
seedream-v4 | image_size + image_resolution | 1:1 | 1:1 HD | 4:3 | 2:3 | 3:2 | 9:16 | 16:9 | 21:9 + 1K | 2K | 4K |
seedream-4-5 | aspect_ratio | 1:1 | 4:3 | 3:4 | 16:9 | 9:16 | 2:3 | 3:2 | 21:9 |
seedream-5-lite | aspect_ratio | 1:1 | 4:3 | 3:4 | 16:9 | 9:16 | 2:3 | 3:2 | 21:9 |
qwen-image | image_size | square | square_hd | portrait_4_3 | portrait_16_9 | landscape_4_3 | landscape_16_9 |
qwen-image-2 | image_size | 1:1 | 3:4 | 4:3 | 9:16 | 16:9 |
flux-kontext | root:aspectRatio (via options) | 1:1 | 4:3 | 3:4 | 9:16 | 16:9 | 21:9 |
flux-2 | aspect_ratio | AUTO | 1:1 | 4:3 | 3:4 | 3:2 | 2:3 | 16:9 | 9:16 |
gpt-image-1 | root:size (via options) | 1:1 | 3:2 | 2:3 — index 0 / 1 / 2 |
gpt-image-1-5 | aspect_ratio | see model card |
imagen-v4 | aspect_ratio | 1:1 | 3:4 | 4:3 | 9:16 | 16:9 |
z-image | aspect_ratio | 1:1 | 4:3 | 3:4 | 16:9 | 9:16 |
grok-imagine | aspect_ratio | 1:1 | 2:3 | 3:2 | 9:16 | 16:9 |
| Video Generation | ||
veo-3-fast | root:aspectRatio (via options) | Auto | 9:16 | 16:9 |
veo-3-quality | root:aspectRatio (via options) | Auto | 9:16 | 16:9 |
sora-2 | aspect_ratio | 9:16 | 16:9 |
sora-2-turbo | aspect_ratio | 9:16 | 16:9 |
wan-2-5 | aspect_ratio | 1:1 | 9:16 | 16:9 |
wan-2-2 | resolution | 480p | 720p |
wan-2-6 | resolution | 720p | 1080p |
wan-2-6-video | resolution | 720p | 1080p |
wan-animate | resolution | 480p | 580p | 720p |
wan-speech-to-video | resolution | 480p | 580p | 720p |
kling-video-turbo | aspect_ratio | 1:1 | 9:16 | 16:9 |
kling-2-5 | Alias — same as kling-video-turbo | |
kling-2-1 | aspect_ratio | 1:1 | 9:16 | 16:9 |
kling-2-6 | aspect_ratio | 1:1 | 9:16 | 16:9 |
kling-2-6-motion | resolution | 720p | 1080p |
kling-3 | aspect_ratio | 1:1 | 9:16 | 16:9 |
kling-3-motion | resolution | 720p | 1080p |
kling-3-multi-shot | aspect_ratio | 1:1 | 9:16 | 16:9 |
hailuo | resolution | 512P | 768P |
hailuo-2-3 | resolution | 768P | 1080P |
seedance-v1 | aspect_ratio | 1:1 | 9:16 | 16:9 | 3:4 | 4:3 |
seedance-v1-pro-fast | aspect_ratio + resolution | 1:1 | 9:16 | 16:9 + 720p | 1080p |
seedance-1-5-pro | aspect_ratio | 1:1 | 9:16 | 16:9 | 4:3 | 3:4 | 21:9 |
runway | root:aspectRatio | 1:1 | 3:4 | 4:3 | 9:16 | 16:9 |
runway-aleph | root:aspectRatio | 1:1 | 3:4 | 4:3 | 9:16 | 16:9 |
grok-imagine-video | resolution | 480p | 720p |
Input Parameters
Per-model input fields, required parameters, enum values, and tier options. Use the search to filter, or browse by category.
nano-banana
Nano Banana
Text-to-image and image editing via six standard layout presets.
prompt image_sizeimage_urls output_format| Parameter | Allowed values |
|---|---|
image_size | square | square_hd | portrait_4_3 | landscape_4_3 | portrait_16_9 | landscape_16_9 |
output_format | jpeg | png |
nano-banana-2 or nano-banana-pro for colon-ratio aspect control (e.g. 16:9) and google_search grounding.nano-banana-2
Nano Banana 2
Text-to-image with 10 colon-ratio aspect ratios and 1K–4K resolution. Supports optional web-search grounding and up to 8 reference images.
prompt aspect_ratio resolutionimage_input image_urls output_format google_search| Parameter | Allowed values |
|---|---|
aspect_ratio | 1:1 | 2:3 | 3:2 | 4:3 | 3:4 | 4:5 | 5:4 | 9:16 | 16:9 | 21:9 |
resolution | 1K | 2K | 4K |
output_format | jpeg | png |
AUTO in aspect_ratio. References via image_input (up to 8 images).nano-banana-pro
Nano Banana Pro
Premium text-to-image with 10 colon-ratio aspect ratios, 1K–4K resolution, and up to 8 reference images.
prompt aspect_ratio resolutionimage_input output_format| Parameter | Allowed values |
|---|---|
aspect_ratio | 1:1 | 2:3 | 3:2 | 4:3 | 3:4 | 4:5 | 5:4 | 9:16 | 16:9 | 21:9 |
resolution | 1K | 2K | 4K |
output_format | jpeg | png |
AUTO in aspect_ratio (10 explicit values). 1K and 2K resolution share the same credit tier.ideogram-v3
Ideogram V3
Text-to-image with Turbo / Balanced / Quality rendering speed and style control. Up to 10 images per request.
prompt image_size rendering_speednegative_prompt style seed| Parameter | Allowed values |
|---|---|
image_size | square | square_hd | portrait_4_3 | landscape_4_3 | portrait_16_9 | landscape_16_9 |
rendering_speed | TURBO | BALANCED | QUALITY |
style | includes FICTION |
ideogram-character
Ideogram Character
Character-consistent image generation with up to 3 reference images.
prompt image_size rendering_speedreference_image_urls negative_prompt style seed| Parameter | Allowed values |
|---|---|
rendering_speed | TURBO | BALANCED | QUALITY |
style | same families as ideogram-v3 but no FICTION |
reference_image_urls accepts up to 3 URLs.ideogram-reframe
Ideogram Reframe
Image reframe and outpaint. Requires a reference image. No negative_prompt accepted.
prompt image_url image_size rendering_speedstyle seed| Parameter | Allowed values |
|---|---|
rendering_speed | TURBO | BALANCED | QUALITY |
style | no FICTION |
negative_prompt is not accepted by this route.seedream-v3
Seedream 3.0
Seedream 3.0 text-to-image with six standard layout presets.
prompt image_sizeguidance_scale enable_safety_checker seed| Parameter | Allowed values |
|---|---|
image_size | square | square_hd | portrait_4_3 | landscape_4_3 | portrait_16_9 | landscape_16_9 |
seedream-v4 or seedream-4-5 for colon-ratio control.seedream-v4
Seedream 4.0
Seedream 4.0 with 8 extended image_size presets and 1K–4K resolution control.
prompt image_size image_resolutionimage_urls seed| Parameter | Allowed values |
|---|---|
image_size | 1:1 | 1:1 HD | 4:3 | 2:3 | 3:2 | 9:16 | 16:9 | 21:9 |
image_resolution | 1K | 2K | 4K |
max_images 1–6 available on applicable routes.seedream-4-5
Seedream 4.5
Seedream 4.5 with 8 colon-ratio aspect ratios and basic / high quality selection.
prompt aspect_ratio qualityimage_urls imageURLList| Parameter | Allowed values |
|---|---|
aspect_ratio | 1:1 | 4:3 | 3:4 | 16:9 | 9:16 | 2:3 | 3:2 | 21:9 |
quality | basic | high |
imageURLList (stringified JSON array) at body root so the request can populate input.image_urls.seedream-5-lite
Seedream 5 Lite
Seedream 5 Lite with 8 colon-ratio aspect ratios and basic / high quality selection.
prompt aspect_ratio qualityimage_urls imageURLList| Parameter | Allowed values |
|---|---|
aspect_ratio | 1:1 | 4:3 | 3:4 | 16:9 | 9:16 | 2:3 | 3:2 | 21:9 |
quality | basic | high |
imageURLList (stringified JSON array) at body root so the request can populate input.image_urls.qwen-image
Qwen Image
Text-to-image with per-layout pricing across six aspect ratio presets. Optional reference image for editing.
prompt image_sizeimage_url output_format acceleration guidance_scale num_inference_steps negative_prompt seed| Parameter | Allowed values |
|---|---|
image_size | square | square_hd | portrait_4_3 | portrait_16_9 | landscape_4_3 | landscape_16_9 |
output_format | jpeg | png |
qwen-image-2
Qwen Image 2.0
Qwen Image 2.0 with colon-ratio aspect control. Send image_url for image editing mode.
prompt image_size output_format seedimage_url| Parameter | Allowed values |
|---|---|
image_size | 1:1 | 3:4 | 4:3 | 9:16 | 16:9 |
output_format | jpeg | png |
seed range: 10 000–999 999.flux-kontext
Flux Kontext
Root-only
Flux Kontext image generation and editing family. In API requests use model: "flux-kontext-pro" or "flux-kontext-max"; all other fields stay at request root.
promptimageURLList outputFormat aspectRatio enableTranslation watermark options| Parameter | Allowed values |
|---|---|
outputFormat | jpeg | png |
aspectRatio | 1:1 | 4:3 | 3:4 | 9:16 | 16:9 | 21:9 |
model: "flux-kontext" on this route. For image editing send imageURLList (stringified JSON array) at body root; if you also use options.model, keep it aligned with the routed model value.flux-2
Flux 2
Flux 2 Pro or Flex tier; 8 aspect ratios and 1K / 2K resolution. Supports reference images.
prompt aspect_ratio resolutioninput_urls imageURLList| Parameter | Allowed values |
|---|---|
aspect_ratio | AUTO | 1:1 | 4:3 | 3:4 | 3:2 | 2:3 | 16:9 | 9:16 |
resolution | 1K | 2K |
input_urls for reference images: send imageURLList at body root and the pipeline forwards the raw value to input.input_urls.gpt-image-1
GPT Image 1
Root-only
GPT Image 1 text-to-image and editing. All fields go at request root — there is no input object.
prompt sizefileUrl isEnhance options| Parameter | Allowed values |
|---|---|
size | 1:1 | 3:2 | 2:3 (resolved from options.image_size index 0 / 1 / 2) |
fileUrl (raw imageURLList string, do not parse) at body root.gpt-image-1-5
GPT Image 1.5
GPT Image 1.5 with aspect ratio control, lowercase quality values, and optional editing inputs.
prompt aspect_ratio qualityinput_urls options| Parameter | Allowed values |
|---|---|
aspect_ratio | 1:1 | 16:9 | 9:16 | 4:3 | 3:4 |
quality | medium | high |
quality and may include a top-level options JSON string such as {"image_size":0,"quality":0} for layout and tier compatibility.imagen-v4
Imagen V4
Google Imagen V4 text-to-image; Fast or Ultra quality tier; 5 aspect ratio options.
prompt aspect_rationegative_prompt seed options| Parameter | Allowed values |
|---|---|
aspect_ratio | 1:1 | 3:4 | 4:3 | 9:16 | 16:9 |
negative_prompt is passed as options.negative-prompt (hyphen key) alongside other options fields.z-image
Z Image
Text-to-image with 5 aspect ratio presets. Up to 1 000-character prompt.
prompt aspect_ratio| Parameter | Allowed values |
|---|---|
aspect_ratio | 1:1 | 4:3 | 3:4 | 16:9 | 9:16 |
grok-imagine
Grok Imagine
Grok text-to-image (6 images) or image-to-image editing (2 images). Both cost 8 credits.
prompt aspect_ratioimage_urls| Parameter | Allowed values |
|---|---|
aspect_ratio | 1:1 | 2:3 | 3:2 | 9:16 | 16:9 |
image_urls for the editing path. Output count: t2i → 6 images, i2i → 2 images.recraft-remove-bg
Recraft Remove Background
Background removal from a source image URL.
imagerecraft-upscaler
Recraft Upscaler
Image upscaling from a source image URL.
imageveo-3-fast
Veo 3.1 Fast
Root-only
Google Veo 3.1 fast-tier video generation; supports image-to-video. All fields at request root — no input object.
promptimageURLList imageUrls aspectRatio seeds watermark enableTranslation options| Parameter | Allowed values |
|---|---|
aspectRatio (via options) | Auto | 9:16 | 16:9 |
imageURLList (stringified JSON array) provides the reference image; the pipeline parses it and forwards the first URL as imageUrls (root). generationType is auto-set by the pipeline (TEXT_2_VIDEO or REFERENCE_2_VIDEO) — do not send it manually.veo-3-quality
Veo 3.1 Quality
Root-only
Google Veo 3.1 quality-tier video generation; supports image-to-video. All fields at request root — no input object.
promptimageURLList imageUrls aspectRatio seeds watermark enableTranslation options| Parameter | Allowed values |
|---|---|
aspectRatio (via options) | Auto | 9:16 | 16:9 |
veo-3-fast but uses the higher-credit quality route. generationType is auto-set by the API; do not send it manually.sora-2
Sora 2
OpenAI Sora 2 video generation. Duration is controlled via n_frames (250 = 10 s, 375 = 15 s).
prompt n_frames aspect_ratioimage_urls remove_watermark| Parameter | Allowed values |
|---|---|
aspect_ratio | 9:16 | 16:9 |
n_frames | 250 (10 s) | 375 (15 s) |
remove_watermark is boolean.sora-2-turbo
Sora 2 Turbo
Sora 2 Turbo with Standard or High quality and 10 s / 15 s duration.
prompt n_frames aspect_ratio sizeimage_urls remove_watermark| Parameter | Allowed values |
|---|---|
aspect_ratio | 9:16 | 16:9 |
n_frames | 250 (10 s) | 375 (15 s) |
size | Standard | High (from options.quality index 0 / 1) |
size maps to quality tier. Same n_frames encoding as sora-2.sora-story-board
Sora Story Board
OpenAI Sora multi-shot storyboard video generation.
shots n_frames aspect_ratioimage_urls| Parameter | Allowed values |
|---|---|
n_frames | 250 (10 s) | 375 (15 s) | 625 (25 s) |
shots holds the multi-prompt storyboard payload.wan-2-5
Wan 2.5
Wan 2.5 image-to-video; 720p / 1080p resolution and 5 s or 10 s duration.
prompt image_url aspect_ratio resolution durationnegative_prompt seed| Parameter | Allowed values |
|---|---|
aspect_ratio | 1:1 | 9:16 | 16:9 |
resolution | 720p | 1080p |
duration | 5 | 10 (integer seconds) |
duration accepts an integer (5 or 10), not a string.wan-2-2
Wan 2.2
Wan 2.2 image-to-video at 480p or 720p resolution.
prompt image_url resolutionaspect_ratio negative_prompt acceleration enable_prompt_expansion seed| Parameter | Allowed values |
|---|---|
resolution | 480p | 720p |
aspect_ratio applies to text-to-video path only. acceleration and enable_prompt_expansion are additional optional control parameters.wan-2-6
Wan 2.6
Wan 2.6 text-to-video or image-to-video; 720p / 1080p resolution with up to 15 s duration.
prompt resolution durationimage_urls negative_prompt seed| Parameter | Allowed values |
|---|---|
resolution | 720p | 1080p |
duration | 5 | 10 | 15 (integer seconds) |
image_urls (array, plural) for image-to-video. resolution and duration can also be passed via options.resolution / options.duration.wan-2-6-video
Wan 2.6 Video-to-Video
Wan 2.6 video-to-video transformation; 720p / 1080p and 5 s or 10 s duration.
prompt video_url resolution duration| Parameter | Allowed values |
|---|---|
resolution | 720p | 1080p |
duration | 5 | 10 (integer seconds) |
wan-animate
Wan Animate
Wan image animation. Animation type (Replace or Move) is selected via options.animationType. Billed per second.
image_url video_url resolutionprompt| Parameter | Allowed values |
|---|---|
resolution | 480p | 580p | 720p |
wan-animate-replace or wan-animate-movie. Keep image_url, video_url, and resolution populated in input.wan-speech-to-video
Wan Speech to Video
Wan speech-to-video generation from an audio input file. Billed per second of output video.
audio_url resolutionprompt image_url num_frames frames_per_second negative_prompt seed num_inference_steps guidance_scale shift enable_safety_checker| Parameter | Allowed values |
|---|---|
resolution | 480p | 580p | 720p |
image_url provides an optional reference image. num_frames and frames_per_second control output length and frame rate. shift and guidance_scale affect generation style.kling-video-turbo
Kling 2.5 Turbo
Kling 2.5 Turbo video generation; 5 s or 10 s duration.
prompt aspect_ratio durationimage_url negative_prompt cfg_scale| Parameter | Allowed values |
|---|---|
aspect_ratio | 1:1 | 9:16 | 16:9 |
duration | 5 | 10 (integer seconds) |
image_url in input.kling-2-5
Kling 2.5 alias
Compatibility alias for kling-video-turbo. Use kling-video-turbo for all new integrations and production traffic.
kling-video-turbo as the canonical request model.kling-video-turbo, but the canonical supported ID for new builds is kling-video-turbo.kling-2-1
Kling 2.1
Kling 2.1 family with Standard, Pro, and Master routed variants plus 5 s / 10 s duration.
prompt aspect_ratio durationimage_url negative_prompt cfg_scale| Parameter | Allowed values |
|---|---|
aspect_ratio | 1:1 | 9:16 | 16:9 |
duration | 5 | 10 (integer seconds) |
model: "kling-2-1" on generate. Use one of the routed model values above. For image-to-video send image_url in input.kling-2-6
Kling 2.6
Kling 2.6 video generation with optional sound track; 5 s or 10 s duration.
prompt aspect_ratio durationimage_urls sound| Parameter | Allowed values |
|---|---|
aspect_ratio | 1:1 | 9:16 | 16:9 |
duration | 5 | 10 (integer seconds) |
sound (bool/string via options.sound) enables an audio track and raises the credit cost. aspect_ratio applies to the text-to-video path; the image-to-video path uses image_urls instead. image_urls comes from imageURLList (parsed array).kling-2-6-motion
Kling 2.6 Motion Control
Kling 2.6 motion control video generation; per-second billing at 720p or 1080p.
prompt input_urls video_urls resolution durationcharacter_orientation mode| Parameter | Allowed values |
|---|---|
resolution | 720p | 1080p |
character_orientation | string enum (pipeline-specific) |
mode | string enum (pipeline-specific) |
imageURLList (stringified JSON array) at body root — the pipeline forwards it raw to input.input_urls. Send videoURLList (stringified JSON array) at body root for input.video_urls. character_orientation and mode are passed via options.kling-3
Kling 3.0
Kling 3.0 Standard or Pro tier; 5 s / 10 s / 15 s duration with optional sound track.
prompt aspect_ratio durationimage_urls sound mode kling_elements multi_prompt multi_shots| Parameter | Allowed values |
|---|---|
aspect_ratio | 1:1 | 9:16 | 16:9 |
duration | 5 | 10 | 15 (integer seconds) |
image_urls comes from parsed imageURLList (send as stringified JSON array at root). sound (bool) enables audio track via options.sound. kling_elements is a complex nested structure built from additional image and video URL lists — array of {name, description, element_input_urls[], element_input_video_urls[]}. multi_prompt maps to options.shots (multi-shot script array); use kling-3-multi-shot for storyboard mode. videoURLList at body root is consumed to build kling_elements video entries.kling-3-motion
Kling 3 Motion Control
Kling 3 motion control video generation; per-second billing at 720p or 1080p.
prompt input_urls video_urls resolution durationcharacter_orientation mode| Parameter | Allowed values |
|---|---|
resolution | 720p | 1080p |
character_orientation | string enum (pipeline-specific) |
mode | string enum (pipeline-specific) |
kling-2-6-motion. Send imageURLList (stringified JSON array) at body root for input.input_urls. Send videoURLList at body root for input.video_urls.kling-3-multi-shot
Kling 3.0 Multi-Shot
Kling 3.0 multi-shot storyboard video. The verified public route uses a direct input payload with mode, sound, and per-shot multi_prompt entries.
multi_prompt multi_shots aspect_ratio duration mode soundimage_urls kling_elements| Parameter | Allowed values |
|---|---|
aspect_ratio | 1:1 | 9:16 | 16:9 |
duration | 5 | 10 | 15 (integer seconds) |
multi_prompt should be an array of shot objects such as {prompt, duration}. The verified public route sends mode and sound inside input, not in options. image_urls can be supplied directly in input and additional media may still be provided through root imageURLList / videoURLList when you use kling_elements.hailuo
Hailuo 02
Hailuo 02 image-to-video; 512P or 768P resolution with 6 s or 10 s duration.
prompt image_url resolution durationprompt_optimizer| Parameter | Allowed values |
|---|---|
resolution | 512P | 768P |
duration | 6 | 10 (integer seconds) |
hailuo-pro
Hailuo 02 Pro
Hailuo 02 Pro image-to-video generation. The verified public request shape includes both image routing fields plus fixed duration and resolution values.
prompt image_url duration resolutionimage_urls prompt_optimizer| Parameter | Allowed values |
|---|---|
resolution | 768P |
duration | 6 |
image_url and image_urls reference the same source image. This remains a single-tier 103-credit route.hailuo-2-3
Hailuo 2.3
Hailuo 2.3 family with Standard and Pro routed variants. Verified public requests use explicit model values plus duration: "6".
prompt image_url resolution duration| Parameter | Allowed values |
|---|---|
resolution | 768P | 1080P |
duration | 6 |
model: "hailuo-2-3" on generate. Use one of the routed model values above. For image-to-video keep imageURLList at root aligned with input.image_url.seedance-v1
Seedance V1
Seedance V1 family with Lite and Pro routed variants; 480p–1080p resolution and 5 s / 10 s duration.
prompt aspect_ratio resolution durationimage_url camera_fixed seed enable_safety_checker| Parameter | Allowed values |
|---|---|
aspect_ratio | 1:1 | 9:16 | 16:9 | 3:4 | 4:3 |
resolution | 480p | 720p | 1080p |
duration | 5 | 10 (integer seconds) |
model: "seedance-v1" on generate. Use seedance-v1-lite or seedance-v1-pro. For image-to-video send image_url in input alongside imageURLList at root. Legacy options values may still be present for compatibility, but the routed model value determines the family path.seedance-v1-pro-fast
Seedance V1 Pro Fast
Seedance V1 Pro Fast variant; 720p or 1080p resolution with 5 s or 10 s duration.
prompt aspect_ratio resolution durationimage_url| Parameter | Allowed values |
|---|---|
aspect_ratio | 1:1 | 9:16 | 16:9 |
resolution | 720p | 1080p |
duration | 5 | 10 (integer seconds) |
seedance-1-5-pro
Seedance 1.5 Pro
Seedance 1.5 Pro; 480p or 720p resolution with 4 s / 8 s / 12 s duration options.
prompt aspect_ratio resolution durationimage_urls fixed_lens generate_audio| Parameter | Allowed values |
|---|---|
aspect_ratio | 1:1 | 9:16 | 16:9 | 4:3 | 3:4 | 21:9 |
resolution | 480p | 720p |
duration | 4 | 8 | 12 (integer seconds) |
image_urls (plural) is typically supplied via imageURLList at root for image-to-video. fixed_lens and generate_audio are optional route flags and should be regression-tested on your exact use case before broad production rollout.runway
Runway Gen4 Turbo
Root-only
Runway Gen4 Turbo image-to-video. All fields at request root — there is no input object.
prompt imageUrl aspectRatio durationimageURLList watermark options| Parameter | Allowed values |
|---|---|
aspectRatio | 1:1 | 3:4 | 4:3 | 9:16 | 16:9 |
duration | 5 | 10 (integer seconds) |
imageUrl holds the reference image URL (taken from parsed imageURLList). aspectRatio and duration come from options.aspectRatio / options.duration. watermark is a bool via options.watermark. Note: quality is hardcoded to 720p by the pipeline — it is not user-controllable.runway-aleph
Runway Aleph
Root-only
Runway Aleph video generation from an image or video reference. All fields at request root — no input object.
promptreferenceImage videoUrl aspectRatio seed waterMark imageURLList videoURLList options| Parameter | Allowed values |
|---|---|
aspectRatio | 1:1 | 3:4 | 4:3 | 9:16 | 16:9 |
referenceImage is populated from imageURLList (parsed, first URL). videoUrl is populated from videoURLList (parsed, first URL) — send videoURLList as stringified JSON array at root. seed and aspectRatio come from options.seed / options.aspectRatio. Note: waterMark uses capital M (pipeline inconsistency vs other models).grok-imagine-video
Grok Imagine Video
Grok image-to-video; 480p or 720p resolution with 6 s / 10 s / 15 s duration options.
prompt image_urls resolution durationmode aspect_ratio| Parameter | Allowed values |
|---|---|
resolution | 480p | 720p |
duration | 6 | 10 | 15 (integer seconds) |
image_urls is plural (array). mode is an optional control parameter. aspect_ratio is optional.elevenlabs-tts-turbo
ElevenLabs TTS Turbo
Text-to-speech synthesis with turbo (low-latency) output.
text voice language_codestability similarity_boost speed styleelevenlabs-tts
ElevenLabs TTS Multi-Language
Text-to-speech synthesis with broad multi-language voice support.
text voice language_codestability similarity_boost speed styleelevenlabs-v3-dialogue
ElevenLabs V3 Dialogue
Multi-voice dialogue synthesis for structured multi-speaker scripts.
dialogue language_codestabilitydialogue holds the structured multi-speaker script payload.elevenlabs-speech-to-text
ElevenLabs Speech to Text
Speech-to-text transcription with language detection and optional audio event tagging.
audio_urllanguage_code tag_audio_eventselevenlabs-audio-isolation
ElevenLabs Audio Isolation
Background noise removal and audio isolation from an audio file.
audio_urlelevenlabs-sound-effect
ElevenLabs Sound Effect
Sound effect generation from a text description.
textduration_seconds loop prompt_influenceField Index — All Models
Complete list of request fields per model in the current public API contract. Fields prefixed root: are placed at the request body root (not inside input). Use the model cards above when a family requires a specific routed model value, and see Input types for the expected JSON types.
input object (except for root-only families where everything is at root). Use the shared type reference above for string vs array vs boolean expectations.
model | Input fields (workflow-extracted) |
|---|---|
nano-banana | image_size, image_urls, output_format, prompt |
nano-banana-2 | aspect_ratio, google_search, image_input, output_format, prompt, resolution |
nano-banana-pro | aspect_ratio, image_input, output_format, prompt, resolution |
ideogram-v3 | image_size, negative_prompt, prompt, rendering_speed, seed, style |
ideogram-character | image_size, negative_prompt, prompt, reference_image_urls, rendering_speed, seed, style |
ideogram-reframe | image_size, image_url, prompt, rendering_speed, seed, style |
seedream-v3 | enable_safety_checker, guidance_scale, image_size, prompt, seed |
seedream-v4 | image_resolution, image_size, image_urls, prompt, seed |
seedream-4-5 | aspect_ratio, image_urls, prompt, quality, root:imageURLList, root:options |
seedream-5-lite | aspect_ratio, image_urls, prompt, quality, root:imageURLList, root:options |
qwen-image | acceleration, guidance_scale, image_size, image_url, negative_prompt, num_inference_steps, output_format, prompt, seed |
qwen-image-2 | image_size, image_url, output_format, prompt, seed |
flux-kontext | root:aspectRatio, root:enableTranslation, root:imageURLList, root:inputImage, root:options, root:outputFormat, root:prompt, root:watermark |
flux-2 | aspect_ratio, input_urls, prompt, resolution, root:options, root:imageURLList |
gpt-image-1 | root:fileUrl, root:imageURLList, root:isEnhance, root:options, root:prompt, root:size |
gpt-image-1-5 | aspect_ratio, input_urls, prompt, quality, root:options |
imagen-v4 | aspect_ratio, negative_prompt, prompt, seed, root:options |
z-image | aspect_ratio, prompt |
grok-imagine | aspect_ratio, image_urls, prompt |
recraft-remove-bg | image |
recraft-upscaler | image |
| Video models | |
veo-3-fast | root:aspectRatio, root:enableTranslation, root:generationType (auto-set), root:imageURLList, root:imageUrls, root:options, root:prompt, root:seeds, root:watermark |
veo-3-quality | root:aspectRatio, root:enableTranslation, root:generationType (auto-set), root:imageURLList, root:imageUrls, root:options, root:prompt, root:seeds, root:watermark |
sora-2 | aspect_ratio, image_urls, n_frames, prompt, remove_watermark |
sora-2-turbo | aspect_ratio, image_urls, n_frames, prompt, remove_watermark, size |
sora-story-board | aspect_ratio, image_urls, n_frames, shots |
wan-2-5 | aspect_ratio, duration, image_url, negative_prompt, prompt, resolution, seed |
wan-2-2 | acceleration, aspect_ratio, enable_prompt_expansion, image_url, prompt, resolution, seed |
wan-2-6 | duration, image_urls, prompt, resolution, root:options |
wan-2-6-video | duration, prompt, resolution, video_urls, root:options, root:videoURLList |
wan-animate | image_url, resolution, video_url, root:imageURLList, root:options, root:videoURLList |
wan-speech-to-video | audio_url, enable_safety_checker, frames_per_second, guidance_scale, image_url, negative_prompt, num_frames, num_inference_steps, prompt, resolution, seed, shift |
kling-video-turbo | aspect_ratio, cfg_scale, duration, image_url, negative_prompt, prompt |
kling-2-5 | Compatibility alias — follow kling-video-turbo keys and use kling-video-turbo for new integrations |
kling-2-1 | cfg_scale, duration, image_url, negative_prompt, prompt, root:imageURLList, root:options |
kling-2-6 | aspect_ratio, duration, image_urls, prompt, sound, root:imageURLList, root:options |
kling-2-6-motion | character_orientation, input_urls, mode, prompt, video_urls, root:imageURLList, root:options, root:videoURLList |
kling-3 | aspect_ratio, duration, image_urls, kling_elements, mode, multi_prompt, multi_shots, prompt, sound, root:imageURLList, root:options, root:videoURLList |
kling-3-motion | character_orientation, input_urls, mode, prompt, video_urls, root:imageURLList, root:options, root:videoURLList |
kling-3-multi-shot | aspect_ratio, duration, image_urls, kling_elements, mode, multi_prompt, multi_shots, sound, root:imageURLList, root:videoURLList |
hailuo | duration, image_url, prompt, prompt_optimizer, resolution |
hailuo-pro | duration, image_url, image_urls, prompt, prompt_optimizer, resolution |
hailuo-2-3 | duration, image_url, prompt, resolution, root:imageURLList, root:options |
seedance-v1 | aspect_ratio, camera_fixed, duration, enable_safety_checker, image_url, prompt, resolution, seed, root:imageURLList, root:options |
seedance-v1-pro-fast | duration, image_url, prompt, resolution, root:imageURLList, root:options |
seedance-1-5-pro | aspect_ratio, duration, fixed_lens, generate_audio, image_urls, prompt, resolution, root:imageURLList, root:options |
runway | root:aspectRatio, root:duration, root:imageURLList, root:imageUrl, root:options, root:prompt, root:quality (hardcoded=720p), root:watermark |
runway-aleph | root:aspectRatio, root:imageURLList, root:options, root:prompt, root:referenceImage, root:seed, root:videoURLList, root:videoUrl, root:waterMark (capital M) |
grok-imagine-video | aspect_ratio, duration, image_urls, mode, prompt, resolution |
| Audio models | |
elevenlabs-tts | language_code, similarity_boost, speed, stability, style, text, voice |
elevenlabs-tts-turbo | language_code, similarity_boost, speed, stability, style, text, voice |
elevenlabs-v3-dialogue | dialogue, language_code, stability |
elevenlabs-speech-to-text | audio_url, language_code, tag_audio_events |
elevenlabs-audio-isolation | audio_url |
elevenlabs-sound-effect | duration_seconds, loop, prompt_influence, text |
input fields, follow the verified model cards and examples above. The field index is a quick reference to available keys, not a substitute for the per-model request shape notes.
Pricing Reference
Credits deducted per successful task. Depending on the family, billing is determined either by routed model value or by the options / input settings you send.
cliprise-api-catalog.csv.
model_id | Credits | Billing unit & tiers |
|---|---|---|
| Image Generation | ||
nano-banana | 8 | per image — Standard |
nano-banana-2 | 16 / 24 / 36 | per image — 1K / 2K / 4K |
nano-banana-pro | 33 / 44 | per image — 1K–2K / 4K |
ideogram-v3 | 7 / 13 / 18 | per image — Turbo / Balanced / Quality |
ideogram-character | 22 / 33 / 44 | per image — Turbo / Balanced / Quality |
ideogram-reframe | 7 / 13 / 18 | per image — Turbo / Balanced / Quality |
seedream-v3 | 7 | per image — Standard |
seedream-v4 | 9 | per image — Standard |
seedream-4-5 | 12 | per image — Standard |
seedream-5-lite | 11 | per image — Standard |
qwen-image | 2–7 | per image — varies by aspect ratio |
qwen-image-2 | 12 | per image — Standard |
flux-kontext | 9 / 18 | per image — Pro / Max |
flux-2 | 9 / 13 / 26 / 44 | per image — Pro 1K / Pro 2K / Flex 1K / Flex 2K |
gpt-image-1 | 11 | per image — Standard |
gpt-image-1-5 | 8 / 44 | per image — Medium / High |
imagen-v4 | 8 / 22 | per image — Fast / Ultra |
z-image | 2 | per image — Standard |
grok-imagine | 8 | per call — Both tiers (t2i 6 imgs / i2i 2 imgs) |
recraft-remove-bg | 2 | per image — Standard |
recraft-upscaler | 1 | per image — Standard |
| Video Generation | ||
veo-3-fast | 108 | per video — Standard |
veo-3-quality | 720 | per video — Standard |
sora-2 | 54 / 63 | per video — 10 s / 15 s |
sora-2-turbo | 270 / 486 / 594 / 1 134 | per video — Std 10s / Std 15s / High 10s / High 15s |
sora-story-board | 270 / 486 / 699 | per video — 10 s / 15 s / 25 s |
wan-2-5 | 108 / 216 / 180 / 360 | per video — 720p 5s / 720p 10s / 1080p 5s / 1080p 10s |
wan-2-2 | 72 / 108 | per video — 480p / 720p |
wan-2-6 | 140–630 | per video — 720p/1080p × 5s/10s/15s |
wan-2-6-video | 140 / 280 / 210 / 420 | per video — 720p 5s / 720p 10s / 1080p 5s / 1080p 10s |
wan-animate | 11 / 18 / 23 | per second — 480p / 580p / 720p |
wan-speech-to-video | 22 / 33 / 44 | per second — 480p / 580p / 720p |
kling-video-turbo | 76 / 152 | per video — 5 s / 10 s |
kling-2-5 (alias) | 76 / 152 | per video — 5 s / 10 s (same as kling-video-turbo) |
kling-2-1 | 45–576 | per video — Std/Pro/Master × 5s/10s |
kling-2-6 | 99 / 198 / 198 / 396 | per video — 5s no snd / 5s snd / 10s no snd / 10s snd |
kling-2-6-motion | 12 / 18 | per second — 720p / 1080p |
kling-3 | 200–1200 | per video — Std/Pro × 5s/10s/15s × sound/no sound |
kling-3-motion | 24 / 40 | per second — 720p / 1080p |
kling-3-multi-shot | 200–810 | per video — Std/Pro × 5s/10s/15s |
hailuo | 22 / 36 / 54 / 90 | per video — 512p 6s / 512p 10s / 768p 6s / 768p 10s |
hailuo-pro | 103 | per video — Standard |
hailuo-2-3 | 54 / 90 / 90 / 162 | per video — Std 768p / Std 1080p / Pro 768p / Pro 1080p |
seedance-v1 | 18–252 | per video — Lite/Pro × 480p–1080p × 5s/10s |
seedance-v1-pro-fast | 29 / 65 / 65 / 130 | per video — 720p 5s / 720p 10s / 1080p 5s / 1080p 10s |
seedance-1-5-pro | 8 / 14 / 14 / 28 / 19 / 38 | per video — 480p 4s / 720p 4s / 480p 8s / 720p 8s / 480p 12s / 720p 12s |
runway | 198 / 396 | per video — 5 s / 10 s |
runway-aleph | 198 | per video — Standard |
grok-imagine-video | 20–80 | per video — 480p/720p × 6s/10s/15s |
| Audio & Utilities | ||
elevenlabs-tts-turbo | 49 | per 5 000 characters — Standard |
elevenlabs-tts | 49 | per 5 000 characters — Standard |
elevenlabs-v3-dialogue | 1 | per 5 000 characters — Standard |
elevenlabs-speech-to-text | 7 | per second of audio — Standard |
elevenlabs-audio-isolation | 1 | per second of audio — Standard |
elevenlabs-sound-effect | 1 | per second of audio — Standard |
Examples
Text-to-image (Flux Kontext — root-only model)
{
"model": "flux-kontext-pro",
"callBackUrl": "https://your-service.example.com/webhooks/cliprise",
"options": "{\"model\":0,\"outputFormat\":0,\"aspectRatio\":4}",
"prompt": "Cinematic aerial view of a city at golden hour"
}
No input object — all fields are at body root. Use flux-kontext-max for the Max route; options.model should stay aligned with the routed model you chose.
Image-to-video (Seedance V1 — multi-tier model)
{
"model": "seedance-v1-pro",
"callBackUrl": "https://your-service.example.com/webhooks/cliprise",
"options": "{\"aspectRatio\":2,\"duration\":0,\"resolution\":1}",
"imageURLList": "[\"https://example.com/ref.jpg\"]",
"input": {
"prompt": "Ocean waves crashing on rocky shore",
"image_url": "https://example.com/ref.jpg",
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": 5
}
}
Use seedance-v1-lite or seedance-v1-pro in the request model field. For image-to-video, keep image_url and root imageURLList pointed at the same source image.
Download output
curl -G "https://business.api.cliprise.app/app/cliprise/status" \
--data-urlencode "apiKey=YOUR_KEY" \
--data-urlencode "taskId=YOUR_TASK_ID" \
--data-urlencode "download=true" \
-o output.bin
Polling loop (pseudocode)
interval = 2
while True:
r = GET /app/cliprise/status?apiKey=KEY&taskId=ID
if r.status == 200:
print("Done:", r.json["fileURL"])
break
elif r.status == 400:
raise Exception("Failed:", r.json["failMsg"])
# 300 = still processing
sleep(interval)
interval = min(interval * 2, 60) # cap at 60 s
FAQ
Why do I get an empty body with HTTP 400 on generate?
The most common cause is a wrong Host header. The generate endpoint only accepts requests where Host is exactly business.api.cliprise.app. Any other host value — including an IP address or a different subdomain — returns HTTP 400 with an empty body.
Why does my request return HTTP 200 but code 400 in the body?
Application-level errors (missing fields, wrong enum value, insufficient credits) return HTTP 200 with {"code": 400, "msg": "…"} in the body. Always check the code field in the JSON, not just the HTTP status code.
When should I append -pro, -fast, or -standard to the model ID?
It depends on the family. Some routes require the routed model value itself, such as flux-kontext-pro, seedance-v1-lite, hailuo-2-3-standard, wan-animate-replace, or kling-2-1-standard. Other families accept the base ID and choose the tier through options, such as flux-2 and imagen-v4. Follow the specific model card rather than assuming one rule for every family.
What is the options field and how do I send it?
options is a stringified JSON object — not a nested object. You must JSON-encode it to a string before placing it in the request body. Example: "options": "{"model":0,"aspectRatio":2}". Each model's card in Input parameters documents which keys and index values are valid.
What is a root-only model?
Some models (flux-kontext, gpt-image-1, veo-3-fast, veo-3-quality, runway) do not use an input object. All fields — including prompt, tier options, and reference images — go directly at the request body root. Sending an input object for these models has no effect.
How should I handle reference images (imageURLList)?
imageURLList is a stringified JSON array of URL strings placed at the request body root. Example: "imageURLList": "[\"https://example.com/image.jpg\"]". Use direct public file URLs, not share pages that require login, cookies, or browser interaction. For image-to-video routes you also need to pass the same URL in input.image_url. For root-only image editing models like flux-kontext, send imageURLList at root only — the pipeline extracts the first URL internally.
How should I build my callback endpoint?
Expose a public HTTPS URL, verify the request on your side as appropriate, and respond with HTTP 200 quickly. Do not do heavy processing inline. Instead, queue follow-up work in your app and make the handler idempotent so the same taskId can be safely processed more than once.
How do I control video duration?
Duration is an integer (seconds) in the input object for most video models (e.g. duration: 5 or duration: 10). Exception — Sora models: sora-2 and sora-2-turbo use n_frames instead of duration. Pass 250 for 10 s or 375 for 15 s.
Are credits charged for failed tasks?
Credits are deducted when a task is accepted and queued for processing. If the task later fails (status endpoint returns HTTP 400 with a failMsg), contact Cliprise support for credit adjustment. Requests rejected before queueing, such as invalid model names or missing required fields, do not consume credits.