Business API · Public Reference

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.

55Catalog entries
2Endpoints
3Modalities
1Base URL

Overview

The Cliprise Business API provides a single consistent interface for AI media generation across image, video, and audio modalities.

Consistent across all models
Single host · Bearer auth · Two endpoints (generate + status) · Credit-based billing
Differs per model
input keys, types, and enum values · Some models use root-only body · Tier selection via options
ItemValue
Base hostbusiness.api.cliprise.app
GeneratePOST /app/cliprise/generate
Status / downloadGET /app/cliprise/status
AuthenticationBearer token in Authorization header (generate) · Query param (status)
FormatContent-Type: application/json
BillingAPI credits deducted per successful task; tier and model determine the rate

Key Concepts

Understand these terms before integrating — they are referenced throughout this reference.

TermWhat 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 encoding: The 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 patternExpected JSON typeCommon fields
Single media URLstringimage_url, video_url, audio_url, imageUrl, videoUrl, inputImage, referenceImage, fileUrl, image
Media URL listarray[string]image_urls, video_urls, input_urls, reference_image_urls, image_input
Root media helpersstring containing JSONimageURLList = stringified JSON array of URLs, videoURLList = stringified JSON array of URLs
Root options helperstring containing JSONoptions = stringified JSON object
Plain textstringprompt, negative_prompt, text, voice, language_code
Enum-like stringsstringaspect_ratio, aspectRatio, resolution, quality, output_format, outputFormat, mode, image_size, image_resolution, rendering_speed, character_orientation
Quoted numeric stringsstringduration, n_frames. Send quoted values such as "5", "10", or "250".
Booleansbooleansound, camera_fixed, enable_safety_checker, tag_audio_events, remove_watermark, loop, prompt_optimizer, generate_audio, fixed_lens, multi_shots, enableTranslation, isEnhance
Integers or numbersinteger or numberseed, seeds, num_frames, frames_per_second, num_inference_steps, cfg_scale, guidance_scale, similarity_boost, speed, stability, prompt_influence, shift
Arrays of objectsarray[object]shots, multi_prompt, dialogue, kling_elements
Important: Plural URL fields such as image_urls, video_urls, input_urls, and reference_image_urls usually expect arrays even when you are sending only one file URL.
Current Cliprise compatibility exception: On hailuo and hailuo-pro, input.image_urls is most reliable as a single URL string matching input.image_url.
Media URL requirements: When you send source image, video, or audio URLs, use direct public 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.

1
Submit a generate request
POST to /app/cliprise/generate with your model, callBackUrl, and input object. A successful submission returns HTTP 200 with a taskId.
2
Receive a taskId
Store the 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.
3
Poll the status endpoint
GET /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.
4
Download the result
On HTTP 200 the response includes a 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 gate: Both endpoints require the 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

ItemValue
MethodPOST
URLhttps://business.api.cliprise.app/app/cliprise/generate
AuthAuthorization: Bearer <API_KEY>
Content-Typeapplication/json

Request body fields

FieldTypeRequiredDescription
modelstringYesModel 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.
callBackUrlHTTPS URLYes (live)Stored with the task. Delivery is not guaranteed — always poll the status endpoint.
inputobjectYes*Per-model input fields. Root-only models have no input object — all fields go at body root.
optionsstringified JSONConditionalTier 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.
imageURLListstringified JSON arrayConditionalReference images for image-to-image / image-to-video routes; encoded as a JSON string.
videoURLListstringified JSON arrayConditionalReference 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.
Tier selection: Cliprise uses two patterns. Some families select tiers through 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

ItemValue
MethodGET
URLhttps://business.api.cliprise.app/app/cliprise/status
AuthAPI key as query param apiKey

Query parameters

ParameterRequiredDescription
apiKeyYesYour Cliprise API key
taskIdYesFrom the generate response
downloadNoPass string true to receive the binary file instead of a JSON status response

Response states

StateHTTPBody
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"}
Treat result links as temporary delivery URLs. If you need durable storage, download the generated file as soon as the task completes and store it in your own bucket, CDN, or asset system.

Callback & Polling

Do not rely on callbacks alone. The 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).

Recommended callback handler: Use a public HTTPS endpoint, return HTTP 200 quickly, move heavy processing to background jobs, and make the handler idempotent so repeated notifications for the same taskId do not create duplicate work.
Production tip: Keep callback timeouts short on your side too. If you receive a success callback with result media, fetch and persist the output promptly instead of treating the returned URL as permanent storage.

Error Reference

Generate errors

SituationHTTPResponse
Wrong host header400empty body
Missing or invalid API key400{"msg": "invalid_api_key"}
Invalid model ID400{"msg": "invalid_model_id"}
Insufficient credits200insufficient_credits + action_url (app pricing link)
Missing required field200{"code": 400, "msg": "This field is required", "data": null}
HTTP 200 ≠ success. Application-level errors return HTTP 200 with 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-bananaNano Bananaimage8per image
nano-banana-2Nano Banana 2image16–36per image (by resolution)
nano-banana-proNano Banana Proimage33–44per image (by resolution)
ideogram-v3Ideogram V3image7–18per image (by speed)
ideogram-characterIdeogram Characterimage22–44per image (by speed)
ideogram-reframeIdeogram Reframeimage7–18per image (by speed)
seedream-v3Seedream 3.0image7per image
seedream-v4Seedream 4.0image9per image
seedream-4-5Seedream 4.5image12per image
seedream-5-liteSeedream 5 Liteimage11per image
qwen-imageQwen Imageimage2–7per image (by aspect ratio)
qwen-image-2Qwen Image 2.0image12per image
flux-kontextFlux Kontextimage9–18per image (Pro / Max)
flux-2Flux 2image9–44per image (tier × resolution)
gpt-image-1GPT Image 1image11per image
gpt-image-1-5GPT Image 1.5image8–44per image (Medium / High)
imagen-v4Imagen V4image8–22per image (Fast / Ultra)
z-imageZ Imageimage2per image
grok-imagineGrok Imagineimage8per call
recraft-remove-bgRecraft Remove Backgroundimage2per image
recraft-upscalerRecraft Upscalerimage1per image
Video Generation
veo-3-fastVeo 3.1 Fastvideo108per video
veo-3-qualityVeo 3.1 Qualityvideo720per video
sora-2Sora 2video54–63per video (10 s / 15 s)
sora-2-turboSora 2 Turbovideo270–1134per video (quality × duration)
sora-story-boardSora Story Boardvideo270–699per video
wan-2-5Wan 2.5video108–360per video (resolution × duration)
wan-2-2Wan 2.2video72–108per video
wan-2-6Wan 2.6video140–630per video (resolution × duration)
wan-2-6-videoWan 2.6 Video-to-Videovideo140–420per video
wan-animateWan Animatevideo11–23per second
wan-speech-to-videoWan Speech to Videovideo22–44per second
kling-video-turboKling 2.5 Turbovideo76–152per video
kling-2-5Kling 2.5 (alias)video76–152per video — use kling-video-turbo
kling-2-1Kling 2.1video45–576per video (tier × duration)
kling-2-6Kling 2.6video99–396per video (sound option)
kling-2-6-motionKling 2.6 Motion Controlvideo12–18per second
kling-3Kling 3.0video200–1200per video (tier × duration × sound)
kling-3-motionKling 3 Motion Controlvideo24–40per second
kling-3-multi-shotKling 3.0 Multi-Shotvideo200–810per video (tier × duration)
hailuoHailuo 02video22–90per video (resolution × duration)
hailuo-proHailuo 02 Provideo103per video
hailuo-2-3Hailuo 2.3video54–162per video (tier × resolution)
seedance-v1Seedance V1video18–252per video (tier × resolution × duration)
seedance-v1-pro-fastSeedance V1 Pro Fastvideo29–130per video
seedance-1-5-proSeedance 1.5 Provideo8–38per video (resolution × duration)
runwayRunway Gen4 Turbovideo198–396per video
runway-alephRunway Alephvideo198per video
grok-imagine-videoGrok Imagine Videovideo20–80per video
Audio & Utilities
elevenlabs-tts-turboElevenLabs TTS Turboaudio49per 5 000 chars
elevenlabs-ttsElevenLabs TTS Multi-Languageaudio49per 5 000 chars
elevenlabs-v3-dialogueElevenLabs V3 Dialogueaudio1per 5 000 chars
elevenlabs-speech-to-textElevenLabs Speech to Textaudio7per second of audio
elevenlabs-audio-isolationElevenLabs Audio Isolationaudio1per second of audio
elevenlabs-sound-effectElevenLabs Sound Effectaudio1per 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_idParameterAllowed values
Image Generation
nano-bananaimage_sizesquare | square_hd | portrait_4_3 | landscape_4_3 | portrait_16_9 | landscape_16_9
nano-banana-2aspect_ratio1:1 | 2:3 | 3:2 | 4:3 | 3:4 | 4:5 | 5:4 | 9:16 | 16:9 | 21:9
nano-banana-proaspect_ratio1:1 | 2:3 | 3:2 | 4:3 | 3:4 | 4:5 | 5:4 | 9:16 | 16:9 | 21:9
ideogram-v3image_sizesquare | square_hd | portrait_4_3 | landscape_4_3 | portrait_16_9 | landscape_16_9
ideogram-characterimage_sizesquare | square_hd | portrait_4_3 | landscape_4_3 | portrait_16_9 | landscape_16_9
ideogram-reframeimage_sizesquare | square_hd | portrait_4_3 | landscape_4_3 | portrait_16_9 | landscape_16_9
seedream-v3image_sizesquare | square_hd | portrait_4_3 | landscape_4_3 | portrait_16_9 | landscape_16_9
seedream-v4image_size + image_resolution1:1 | 1:1 HD | 4:3 | 2:3 | 3:2 | 9:16 | 16:9 | 21:9  +  1K | 2K | 4K
seedream-4-5aspect_ratio1:1 | 4:3 | 3:4 | 16:9 | 9:16 | 2:3 | 3:2 | 21:9
seedream-5-liteaspect_ratio1:1 | 4:3 | 3:4 | 16:9 | 9:16 | 2:3 | 3:2 | 21:9
qwen-imageimage_sizesquare | square_hd | portrait_4_3 | portrait_16_9 | landscape_4_3 | landscape_16_9
qwen-image-2image_size1:1 | 3:4 | 4:3 | 9:16 | 16:9
flux-kontextroot:aspectRatio (via options)1:1 | 4:3 | 3:4 | 9:16 | 16:9 | 21:9
flux-2aspect_ratioAUTO | 1:1 | 4:3 | 3:4 | 3:2 | 2:3 | 16:9 | 9:16
gpt-image-1root:size (via options)1:1 | 3:2 | 2:3 — index 0 / 1 / 2
gpt-image-1-5aspect_ratiosee model card
imagen-v4aspect_ratio1:1 | 3:4 | 4:3 | 9:16 | 16:9
z-imageaspect_ratio1:1 | 4:3 | 3:4 | 16:9 | 9:16
grok-imagineaspect_ratio1:1 | 2:3 | 3:2 | 9:16 | 16:9
Video Generation
veo-3-fastroot:aspectRatio (via options)Auto | 9:16 | 16:9
veo-3-qualityroot:aspectRatio (via options)Auto | 9:16 | 16:9
sora-2aspect_ratio9:16 | 16:9
sora-2-turboaspect_ratio9:16 | 16:9
wan-2-5aspect_ratio1:1 | 9:16 | 16:9
wan-2-2resolution480p | 720p
wan-2-6resolution720p | 1080p
wan-2-6-videoresolution720p | 1080p
wan-animateresolution480p | 580p | 720p
wan-speech-to-videoresolution480p | 580p | 720p
kling-video-turboaspect_ratio1:1 | 9:16 | 16:9
kling-2-5Alias — same as kling-video-turbo
kling-2-1aspect_ratio1:1 | 9:16 | 16:9
kling-2-6aspect_ratio1:1 | 9:16 | 16:9
kling-2-6-motionresolution720p | 1080p
kling-3aspect_ratio1:1 | 9:16 | 16:9
kling-3-motionresolution720p | 1080p
kling-3-multi-shotaspect_ratio1:1 | 9:16 | 16:9
hailuoresolution512P | 768P
hailuo-2-3resolution768P | 1080P
seedance-v1aspect_ratio1:1 | 9:16 | 16:9 | 3:4 | 4:3
seedance-v1-pro-fastaspect_ratio + resolution1:1 | 9:16 | 16:9  +  720p | 1080p
seedance-1-5-proaspect_ratio1:1 | 9:16 | 16:9 | 4:3 | 3:4 | 21:9
runwayroot:aspectRatio1:1 | 3:4 | 4:3 | 9:16 | 16:9
runway-alephroot:aspectRatio1:1 | 3:4 | 4:3 | 9:16 | 16:9
grok-imagine-videoresolution480p | 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
image text-to-image 8 credits per image

Text-to-image and image editing via six standard layout presets.

Required fields
prompt image_size
Optional fields
image_urls output_format
ParameterAllowed values
image_sizesquare | square_hd | portrait_4_3 | landscape_4_3 | portrait_16_9 | landscape_16_9
output_formatjpeg | png
Use 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
image text-to-image 16 / 24 / 36 credits per image (1K / 2K / 4K)

Text-to-image with 10 colon-ratio aspect ratios and 1K–4K resolution. Supports optional web-search grounding and up to 8 reference images.

Required fields
prompt aspect_ratio resolution
Optional fields
image_input image_urls output_format google_search
ParameterAllowed values
aspect_ratio1:1 | 2:3 | 3:2 | 4:3 | 3:4 | 4:5 | 5:4 | 9:16 | 16:9 | 21:9
resolution1K | 2K | 4K
output_formatjpeg | png
No AUTO in aspect_ratio. References via image_input (up to 8 images).
nano-banana-pro Nano Banana Pro
image text-to-image 33 / 44 credits per image (1K–2K / 4K)

Premium text-to-image with 10 colon-ratio aspect ratios, 1K–4K resolution, and up to 8 reference images.

Required fields
prompt aspect_ratio resolution
Optional fields
image_input output_format
ParameterAllowed values
aspect_ratio1:1 | 2:3 | 3:2 | 4:3 | 3:4 | 4:5 | 5:4 | 9:16 | 16:9 | 21:9
resolution1K | 2K | 4K
output_formatjpeg | png
No AUTO in aspect_ratio (10 explicit values). 1K and 2K resolution share the same credit tier.
ideogram-v3 Ideogram V3
image text-to-image 7 / 13 / 18 credits per image (Turbo / Balanced / Quality)

Text-to-image with Turbo / Balanced / Quality rendering speed and style control. Up to 10 images per request.

Required fields
prompt image_size rendering_speed
Optional fields
negative_prompt style seed
ParameterAllowed values
image_sizesquare | square_hd | portrait_4_3 | landscape_4_3 | portrait_16_9 | landscape_16_9
rendering_speedTURBO | BALANCED | QUALITY
styleincludes FICTION
ideogram-character Ideogram Character
image text-to-image 22 / 33 / 44 credits per image (Turbo / Balanced / Quality)

Character-consistent image generation with up to 3 reference images.

Required fields
prompt image_size rendering_speed
Optional fields
reference_image_urls negative_prompt style seed
ParameterAllowed values
rendering_speedTURBO | BALANCED | QUALITY
stylesame families as ideogram-v3 but no FICTION
reference_image_urls accepts up to 3 URLs.
ideogram-reframe Ideogram Reframe
image image-to-image 7 / 13 / 18 credits per image (Turbo / Balanced / Quality)

Image reframe and outpaint. Requires a reference image. No negative_prompt accepted.

Required fields
prompt image_url image_size rendering_speed
Optional fields
style seed
ParameterAllowed values
rendering_speedTURBO | BALANCED | QUALITY
styleno FICTION
Note: negative_prompt is not accepted by this route.
seedream-v3 Seedream 3.0
image text-to-image 7 credits per image

Seedream 3.0 text-to-image with six standard layout presets.

Required fields
prompt image_size
Optional fields
guidance_scale enable_safety_checker seed
ParameterAllowed values
image_sizesquare | square_hd | portrait_4_3 | landscape_4_3 | portrait_16_9 | landscape_16_9
Use seedream-v4 or seedream-4-5 for colon-ratio control.
seedream-v4 Seedream 4.0
image text-to-image 9 credits per image

Seedream 4.0 with 8 extended image_size presets and 1K–4K resolution control.

Required fields
prompt image_size image_resolution
Optional fields
image_urls seed
ParameterAllowed values
image_size1:1 | 1:1 HD | 4:3 | 2:3 | 3:2 | 9:16 | 16:9 | 21:9
image_resolution1K | 2K | 4K
max_images 1–6 available on applicable routes.
seedream-4-5 Seedream 4.5
image text-to-image 12 credits per image

Seedream 4.5 with 8 colon-ratio aspect ratios and basic / high quality selection.

Required fields
prompt aspect_ratio quality
Optional fields
image_urls imageURLList
ParameterAllowed values
aspect_ratio1:1 | 4:3 | 3:4 | 16:9 | 9:16 | 2:3 | 3:2 | 21:9
qualitybasic | high
For image editing send imageURLList (stringified JSON array) at body root so the request can populate input.image_urls.
seedream-5-lite Seedream 5 Lite
image text-to-image 11 credits per image

Seedream 5 Lite with 8 colon-ratio aspect ratios and basic / high quality selection.

Required fields
prompt aspect_ratio quality
Optional fields
image_urls imageURLList
ParameterAllowed values
aspect_ratio1:1 | 4:3 | 3:4 | 16:9 | 9:16 | 2:3 | 3:2 | 21:9
qualitybasic | high
For image editing send imageURLList (stringified JSON array) at body root so the request can populate input.image_urls.
qwen-image Qwen Image
image text-to-image 2–7 credits per image (varies by aspect ratio)

Text-to-image with per-layout pricing across six aspect ratio presets. Optional reference image for editing.

Required fields
prompt image_size
Optional fields
image_url output_format acceleration guidance_scale num_inference_steps negative_prompt seed
ParameterAllowed values
image_sizesquare | square_hd | portrait_4_3 | portrait_16_9 | landscape_4_3 | landscape_16_9
output_formatjpeg | png
Credits vary by aspect ratio — see pricing section.
qwen-image-2 Qwen Image 2.0
image text-to-image 12 credits per image

Qwen Image 2.0 with colon-ratio aspect control. Send image_url for image editing mode.

Required fields
prompt image_size output_format seed
Optional fields
image_url
ParameterAllowed values
image_size1:1 | 3:4 | 4:3 | 9:16 | 16:9
output_formatjpeg | png
seed range: 10 000–999 999.
flux-kontext Flux Kontext Root-only
image text-to-image 9 / 18 credits per image (Pro / Max)

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.

Request model values: flux-kontext-pro = Pro (9 credits) / flux-kontext-max = Max (18 credits)

Required fields
prompt
Optional fields
imageURLList outputFormat aspectRatio enableTranslation watermark options
ParameterAllowed values
outputFormatjpeg | png
aspectRatio1:1 | 4:3 | 3:4 | 9:16 | 16:9 | 21:9
Root-only family. Do not send base 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
image text-to-image 9 / 13 / 26 / 44 credits per image (Pro 1K / Pro 2K / Flex 1K / Flex 2K)

Flux 2 Pro or Flex tier; 8 aspect ratios and 1K / 2K resolution. Supports reference images.

Tier / type selection: options.model: 0 = Pro / 1 = Flex

Required fields
prompt aspect_ratio resolution
Optional fields
input_urls imageURLList
ParameterAllowed values
aspect_ratioAUTO | 1:1 | 4:3 | 3:4 | 3:2 | 2:3 | 16:9 | 9:16
resolution1K | 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
image text-to-image 11 credits per image

GPT Image 1 text-to-image and editing. All fields go at request root — there is no input object.

Required fields
prompt size
Optional fields
fileUrl isEnhance options
ParameterAllowed values
size1:1 | 3:2 | 2:3 (resolved from options.image_size index 0 / 1 / 2)
Root-only model. For image editing send fileUrl (raw imageURLList string, do not parse) at body root.
gpt-image-1-5 GPT Image 1.5
image text-to-image 8 / 44 credits per image (Medium / High)

GPT Image 1.5 with aspect ratio control, lowercase quality values, and optional editing inputs.

Required fields
prompt aspect_ratio quality
Optional fields
input_urls options
ParameterAllowed values
aspect_ratio1:1 | 16:9 | 9:16 | 4:3 | 3:4
qualitymedium | high
Verified public requests use lowercase 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
image text-to-image 8 / 22 credits per image (Fast / Ultra)

Google Imagen V4 text-to-image; Fast or Ultra quality tier; 5 aspect ratio options.

Tier / type selection: options.fast_ultra: 0 = Fast (8 credits) / any other value = Ultra (22 credits)

Required fields
prompt aspect_ratio
Optional fields
negative_prompt seed options
ParameterAllowed values
aspect_ratio1: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
image text-to-image 2 credits per image

Text-to-image with 5 aspect ratio presets. Up to 1 000-character prompt.

Required fields
prompt aspect_ratio
Optional fields
ParameterAllowed values
aspect_ratio1:1 | 4:3 | 3:4 | 16:9 | 9:16
grok-imagine Grok Imagine
image text-to-image 8 credits per call (Both tiers (t2i 6 imgs / i2i 2 imgs))

Grok text-to-image (6 images) or image-to-image editing (2 images). Both cost 8 credits.

Required fields
prompt aspect_ratio
Optional fields
image_urls
ParameterAllowed values
aspect_ratio1:1 | 2:3 | 3:2 | 9:16 | 16:9
Send image_urls for the editing path. Output count: t2i → 6 images, i2i → 2 images.
recraft-remove-bg Recraft Remove Background
image image-editing 2 credits per image

Background removal from a source image URL.

Required fields
image
Optional fields
recraft-upscaler Recraft Upscaler
image image-editing 1 credits per image

Image upscaling from a source image URL.

Required fields
image
Optional fields
veo-3-fast Veo 3.1 Fast Root-only
video text-to-video 108 credits per video

Google Veo 3.1 fast-tier video generation; supports image-to-video. All fields at request root — no input object.

Tier / type selection: options.aspectRatio (int index); options.watermark (bool); options.enableTranslation (bool); options.seeds (int)

Required fields
prompt
Optional fields
imageURLList imageUrls aspectRatio seeds watermark enableTranslation options
ParameterAllowed values
aspectRatio (via options)Auto | 9:16 | 16:9
Root-only model. 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
video text-to-video 720 credits per video

Google Veo 3.1 quality-tier video generation; supports image-to-video. All fields at request root — no input object.

Tier / type selection: options.aspectRatio (int index); options.watermark (bool); options.enableTranslation (bool); options.seeds (int)

Required fields
prompt
Optional fields
imageURLList imageUrls aspectRatio seeds watermark enableTranslation options
ParameterAllowed values
aspectRatio (via options)Auto | 9:16 | 16:9
Shares the same request shape as 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
video text-to-video 54 / 63 credits per video (10 s / 15 s)

OpenAI Sora 2 video generation. Duration is controlled via n_frames (250 = 10 s, 375 = 15 s).

Required fields
prompt n_frames aspect_ratio
Optional fields
image_urls remove_watermark
ParameterAllowed values
aspect_ratio9:16 | 16:9
n_frames250 (10 s) | 375 (15 s)
Pass the frame count integer, not a duration string. remove_watermark is boolean.
sora-2-turbo Sora 2 Turbo
video text-to-video 270 / 486 / 594 / 1 134 credits per video (Std 10s / Std 15s / High 10s / High 15s)

Sora 2 Turbo with Standard or High quality and 10 s / 15 s duration.

Required fields
prompt n_frames aspect_ratio size
Optional fields
image_urls remove_watermark
ParameterAllowed values
aspect_ratio9:16 | 16:9
n_frames250 (10 s) | 375 (15 s)
sizeStandard | 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
video text-to-video 270 / 486 / 699 credits per video (10 s / 15 s / 25 s)

OpenAI Sora multi-shot storyboard video generation.

Required fields
shots n_frames aspect_ratio
Optional fields
image_urls
ParameterAllowed values
n_frames250 (10 s) | 375 (15 s) | 625 (25 s)
shots holds the multi-prompt storyboard payload.
wan-2-5 Wan 2.5
video image-to-video 108 / 216 / 180 / 360 credits per video (720p 5s / 720p 10s / 1080p 5s / 1080p 10s)

Wan 2.5 image-to-video; 720p / 1080p resolution and 5 s or 10 s duration.

Required fields
prompt image_url aspect_ratio resolution duration
Optional fields
negative_prompt seed
ParameterAllowed values
aspect_ratio1:1 | 9:16 | 16:9
resolution720p | 1080p
duration5 | 10 (integer seconds)
duration accepts an integer (5 or 10), not a string.
wan-2-2 Wan 2.2
video image-to-video 72 / 108 credits per video (480p / 720p)

Wan 2.2 image-to-video at 480p or 720p resolution.

Required fields
prompt image_url resolution
Optional fields
aspect_ratio negative_prompt acceleration enable_prompt_expansion seed
ParameterAllowed values
resolution480p | 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
video text-to-video 140–630 credits per video (720p/1080p × 5s/10s/15s)

Wan 2.6 text-to-video or image-to-video; 720p / 1080p resolution with up to 15 s duration.

Required fields
prompt resolution duration
Optional fields
image_urls negative_prompt seed
ParameterAllowed values
resolution720p | 1080p
duration5 | 10 | 15 (integer seconds)
Send 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
video video-to-video 140 / 280 / 210 / 420 credits per video (720p 5s / 720p 10s / 1080p 5s / 1080p 10s)

Wan 2.6 video-to-video transformation; 720p / 1080p and 5 s or 10 s duration.

Required fields
prompt video_url resolution duration
Optional fields
ParameterAllowed values
resolution720p | 1080p
duration5 | 10 (integer seconds)
wan-animate Wan Animate
video image-to-video 11 / 18 / 23 credits per second (480p / 580p / 720p)

Wan image animation. Animation type (Replace or Move) is selected via options.animationType. Billed per second.

Tier / type selection: options.animationType: 0 = Replace / 1 = Move

Required fields
image_url video_url resolution
Optional fields
prompt
ParameterAllowed values
resolution480p | 580p | 720p
Use routed model values 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
video audio-to-video 22 / 33 / 44 credits per second (480p / 580p / 720p)

Wan speech-to-video generation from an audio input file. Billed per second of output video.

Required fields
audio_url resolution
Optional fields
prompt image_url num_frames frames_per_second negative_prompt seed num_inference_steps guidance_scale shift enable_safety_checker
ParameterAllowed values
resolution480p | 580p | 720p
Billed per second of output video. 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
video text-to-video 76 / 152 credits per video (5 s / 10 s)

Kling 2.5 Turbo video generation; 5 s or 10 s duration.

Required fields
prompt aspect_ratio duration
Optional fields
image_url negative_prompt cfg_scale
ParameterAllowed values
aspect_ratio1:1 | 9:16 | 16:9
duration5 | 10 (integer seconds)
For image-to-video send image_url in input.
kling-2-5 Kling 2.5 alias
video text-to-video 76 / 152 credits per video (5 s / 10 s (same as kling-video-turbo))

Compatibility alias for kling-video-turbo. Use kling-video-turbo for all new integrations and production traffic.

Compatibility alias only. Keep it for backward compatibility, but use kling-video-turbo as the canonical request model.
Required fields
Optional fields
This alias is preserved for backward compatibility. Parameters follow kling-video-turbo, but the canonical supported ID for new builds is kling-video-turbo.
kling-2-1 Kling 2.1
video text-to-video 45–576 credits per video (Std/Pro/Master × 5s/10s)

Kling 2.1 family with Standard, Pro, and Master routed variants plus 5 s / 10 s duration.

Request model values: kling-2-1-standard = Standard / kling-2-1-pro = Pro / kling-2-1-master = Master

Required fields
prompt aspect_ratio duration
Optional fields
image_url negative_prompt cfg_scale
ParameterAllowed values
aspect_ratio1:1 | 9:16 | 16:9
duration5 | 10 (integer seconds)
Do not send base 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
video text-to-video 99 / 198 / 198 / 396 credits per video (5s no snd / 5s snd / 10s no snd / 10s snd)

Kling 2.6 video generation with optional sound track; 5 s or 10 s duration.

Required fields
prompt aspect_ratio duration
Optional fields
image_urls sound
ParameterAllowed values
aspect_ratio1:1 | 9:16 | 16:9
duration5 | 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
video video-to-video 12 / 18 credits per second (720p / 1080p)

Kling 2.6 motion control video generation; per-second billing at 720p or 1080p.

Required fields
prompt input_urls video_urls resolution duration
Optional fields
character_orientation mode
ParameterAllowed values
resolution720p | 1080p
character_orientationstring enum (pipeline-specific)
modestring enum (pipeline-specific)
Billed per second of output video. Send 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
video text-to-video 200–1200 credits per video (Std/Pro × 5s/10s/15s × sound/no sound)

Kling 3.0 Standard or Pro tier; 5 s / 10 s / 15 s duration with optional sound track.

Tier / type selection: options.mode: 0 = Standard / 1 = Pro

Required fields
prompt aspect_ratio duration
Optional fields
image_urls sound mode kling_elements multi_prompt multi_shots
ParameterAllowed values
aspect_ratio1:1 | 9:16 | 16:9
duration5 | 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
video video-to-video 24 / 40 credits per second (720p / 1080p)

Kling 3 motion control video generation; per-second billing at 720p or 1080p.

Required fields
prompt input_urls video_urls resolution duration
Optional fields
character_orientation mode
ParameterAllowed values
resolution720p | 1080p
character_orientationstring enum (pipeline-specific)
modestring enum (pipeline-specific)
Billed per second of output video. Same field structure as 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
video text-to-video 200–810 credits per video (Std/Pro × 5s/10s/15s)

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.

Tier selection: input.mode: "std" = Standard / "pro" = Pro

Required fields
multi_prompt multi_shots aspect_ratio duration mode sound
Optional fields
image_urls kling_elements
ParameterAllowed values
aspect_ratio1:1 | 9:16 | 16:9
duration5 | 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
video image-to-video 22 / 36 / 54 / 90 credits per video (512p 6s / 512p 10s / 768p 6s / 768p 10s)

Hailuo 02 image-to-video; 512P or 768P resolution with 6 s or 10 s duration.

Required fields
prompt image_url resolution duration
Optional fields
prompt_optimizer
ParameterAllowed values
resolution512P | 768P
duration6 | 10 (integer seconds)
hailuo-pro Hailuo 02 Pro
video image-to-video 103 credits per video

Hailuo 02 Pro image-to-video generation. The verified public request shape includes both image routing fields plus fixed duration and resolution values.

Required fields
prompt image_url duration resolution
Optional fields
image_urls prompt_optimizer
ParameterAllowed values
resolution768P
duration6
Verified public requests are most reliable when image_url and image_urls reference the same source image. This remains a single-tier 103-credit route.
hailuo-2-3 Hailuo 2.3
video image-to-video 54 / 90 / 90 / 162 credits per video (Std 768p / Std 1080p / Pro 768p / Pro 1080p)

Hailuo 2.3 family with Standard and Pro routed variants. Verified public requests use explicit model values plus duration: "6".

Request model values: hailuo-2-3-standard = Standard / hailuo-2-3-pro = Pro

Required fields
prompt image_url resolution duration
Optional fields
ParameterAllowed values
resolution768P | 1080P
duration6
Do not send base 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
video text-to-video 18–252 credits per video (Lite/Pro × 480p–1080p × 5s/10s)

Seedance V1 family with Lite and Pro routed variants; 480p–1080p resolution and 5 s / 10 s duration.

Request model values: seedance-v1-lite = Lite / seedance-v1-pro = Pro

Required fields
prompt aspect_ratio resolution duration
Optional fields
image_url camera_fixed seed enable_safety_checker
ParameterAllowed values
aspect_ratio1:1 | 9:16 | 16:9 | 3:4 | 4:3
resolution480p | 720p | 1080p
duration5 | 10 (integer seconds)
Do not send base 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
video text-to-video 29 / 65 / 65 / 130 credits per video (720p 5s / 720p 10s / 1080p 5s / 1080p 10s)

Seedance V1 Pro Fast variant; 720p or 1080p resolution with 5 s or 10 s duration.

Required fields
prompt aspect_ratio resolution duration
Optional fields
image_url
ParameterAllowed values
aspect_ratio1:1 | 9:16 | 16:9
resolution720p | 1080p
duration5 | 10 (integer seconds)
seedance-1-5-pro Seedance 1.5 Pro
video text-to-video 8 / 14 / 14 / 28 / 19 / 38 credits per video (480p 4s / 720p 4s / 480p 8s / 720p 8s / 480p 12s / 720p 12s)

Seedance 1.5 Pro; 480p or 720p resolution with 4 s / 8 s / 12 s duration options.

Required fields
prompt aspect_ratio resolution duration
Optional fields
image_urls fixed_lens generate_audio
ParameterAllowed values
aspect_ratio1:1 | 9:16 | 16:9 | 4:3 | 3:4 | 21:9
resolution480p | 720p
duration4 | 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
video image-to-video 198 / 396 credits per video (5 s / 10 s)

Runway Gen4 Turbo image-to-video. All fields at request root — there is no input object.

Required fields
prompt imageUrl aspectRatio duration
Optional fields
imageURLList watermark options
ParameterAllowed values
aspectRatio1:1 | 3:4 | 4:3 | 9:16 | 16:9
duration5 | 10 (integer seconds)
Root-only model. 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
video image-to-video 198 credits per video

Runway Aleph video generation from an image or video reference. All fields at request root — no input object.

Required fields
prompt
Optional fields
referenceImage videoUrl aspectRatio seed waterMark imageURLList videoURLList options
ParameterAllowed values
aspectRatio1:1 | 3:4 | 4:3 | 9:16 | 16:9
Root-only model. 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
video image-to-video 20–80 credits per video (480p/720p × 6s/10s/15s)

Grok image-to-video; 480p or 720p resolution with 6 s / 10 s / 15 s duration options.

Required fields
prompt image_urls resolution duration
Optional fields
mode aspect_ratio
ParameterAllowed values
resolution480p | 720p
duration6 | 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
audio tts 49 credits per 5 000 characters

Text-to-speech synthesis with turbo (low-latency) output.

Required fields
text voice language_code
Optional fields
stability similarity_boost speed style
Billed per 5 000-character block regardless of actual output length.
elevenlabs-tts ElevenLabs TTS Multi-Language
audio tts 49 credits per 5 000 characters

Text-to-speech synthesis with broad multi-language voice support.

Required fields
text voice language_code
Optional fields
stability similarity_boost speed style
Billed per 5 000-character block.
elevenlabs-v3-dialogue ElevenLabs V3 Dialogue
audio tts 1 credits per 5 000 characters

Multi-voice dialogue synthesis for structured multi-speaker scripts.

Required fields
dialogue language_code
Optional fields
stability
dialogue holds the structured multi-speaker script payload.
elevenlabs-speech-to-text ElevenLabs Speech to Text
audio transcription 7 credits per second of audio

Speech-to-text transcription with language detection and optional audio event tagging.

Required fields
audio_url
Optional fields
language_code tag_audio_events
Billed per second of audio input.
elevenlabs-audio-isolation ElevenLabs Audio Isolation
audio audio-processing 1 credits per second of audio

Background noise removal and audio isolation from an audio file.

Required fields
audio_url
Optional fields
Billed per second of audio input.
elevenlabs-sound-effect ElevenLabs Sound Effect
audio sound-generation 1 credits per second of audio

Sound effect generation from a text description.

Required fields
text
Optional fields
duration_seconds loop prompt_influence
Billed per second of generated audio.

Field 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.

Fields shown here are the request keys currently used by the public API routing. root: fields go at the top level of the JSON body. All other fields go inside the 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.
modelInput fields (workflow-extracted)
nano-bananaimage_size, image_urls, output_format, prompt
nano-banana-2aspect_ratio, google_search, image_input, output_format, prompt, resolution
nano-banana-proaspect_ratio, image_input, output_format, prompt, resolution
ideogram-v3image_size, negative_prompt, prompt, rendering_speed, seed, style
ideogram-characterimage_size, negative_prompt, prompt, reference_image_urls, rendering_speed, seed, style
ideogram-reframeimage_size, image_url, prompt, rendering_speed, seed, style
seedream-v3enable_safety_checker, guidance_scale, image_size, prompt, seed
seedream-v4image_resolution, image_size, image_urls, prompt, seed
seedream-4-5aspect_ratio, image_urls, prompt, quality, root:imageURLList, root:options
seedream-5-liteaspect_ratio, image_urls, prompt, quality, root:imageURLList, root:options
qwen-imageacceleration, guidance_scale, image_size, image_url, negative_prompt, num_inference_steps, output_format, prompt, seed
qwen-image-2image_size, image_url, output_format, prompt, seed
flux-kontextroot:aspectRatio, root:enableTranslation, root:imageURLList, root:inputImage, root:options, root:outputFormat, root:prompt, root:watermark
flux-2aspect_ratio, input_urls, prompt, resolution, root:options, root:imageURLList
gpt-image-1root:fileUrl, root:imageURLList, root:isEnhance, root:options, root:prompt, root:size
gpt-image-1-5aspect_ratio, input_urls, prompt, quality, root:options
imagen-v4aspect_ratio, negative_prompt, prompt, seed, root:options
z-imageaspect_ratio, prompt
grok-imagineaspect_ratio, image_urls, prompt
recraft-remove-bgimage
recraft-upscalerimage
Video models
veo-3-fastroot:aspectRatio, root:enableTranslation, root:generationType (auto-set), root:imageURLList, root:imageUrls, root:options, root:prompt, root:seeds, root:watermark
veo-3-qualityroot:aspectRatio, root:enableTranslation, root:generationType (auto-set), root:imageURLList, root:imageUrls, root:options, root:prompt, root:seeds, root:watermark
sora-2aspect_ratio, image_urls, n_frames, prompt, remove_watermark
sora-2-turboaspect_ratio, image_urls, n_frames, prompt, remove_watermark, size
sora-story-boardaspect_ratio, image_urls, n_frames, shots
wan-2-5aspect_ratio, duration, image_url, negative_prompt, prompt, resolution, seed
wan-2-2acceleration, aspect_ratio, enable_prompt_expansion, image_url, prompt, resolution, seed
wan-2-6duration, image_urls, prompt, resolution, root:options
wan-2-6-videoduration, prompt, resolution, video_urls, root:options, root:videoURLList
wan-animateimage_url, resolution, video_url, root:imageURLList, root:options, root:videoURLList
wan-speech-to-videoaudio_url, enable_safety_checker, frames_per_second, guidance_scale, image_url, negative_prompt, num_frames, num_inference_steps, prompt, resolution, seed, shift
kling-video-turboaspect_ratio, cfg_scale, duration, image_url, negative_prompt, prompt
kling-2-5Compatibility alias — follow kling-video-turbo keys and use kling-video-turbo for new integrations
kling-2-1cfg_scale, duration, image_url, negative_prompt, prompt, root:imageURLList, root:options
kling-2-6aspect_ratio, duration, image_urls, prompt, sound, root:imageURLList, root:options
kling-2-6-motioncharacter_orientation, input_urls, mode, prompt, video_urls, root:imageURLList, root:options, root:videoURLList
kling-3aspect_ratio, duration, image_urls, kling_elements, mode, multi_prompt, multi_shots, prompt, sound, root:imageURLList, root:options, root:videoURLList
kling-3-motioncharacter_orientation, input_urls, mode, prompt, video_urls, root:imageURLList, root:options, root:videoURLList
kling-3-multi-shotaspect_ratio, duration, image_urls, kling_elements, mode, multi_prompt, multi_shots, sound, root:imageURLList, root:videoURLList
hailuoduration, image_url, prompt, prompt_optimizer, resolution
hailuo-produration, image_url, image_urls, prompt, prompt_optimizer, resolution
hailuo-2-3duration, image_url, prompt, resolution, root:imageURLList, root:options
seedance-v1aspect_ratio, camera_fixed, duration, enable_safety_checker, image_url, prompt, resolution, seed, root:imageURLList, root:options
seedance-v1-pro-fastduration, image_url, prompt, resolution, root:imageURLList, root:options
seedance-1-5-proaspect_ratio, duration, fixed_lens, generate_audio, image_urls, prompt, resolution, root:imageURLList, root:options
runwayroot:aspectRatio, root:duration, root:imageURLList, root:imageUrl, root:options, root:prompt, root:quality (hardcoded=720p), root:watermark
runway-alephroot:aspectRatio, root:imageURLList, root:options, root:prompt, root:referenceImage, root:seed, root:videoURLList, root:videoUrl, root:waterMark (capital M)
grok-imagine-videoaspect_ratio, duration, image_urls, mode, prompt, resolution
Audio models
elevenlabs-ttslanguage_code, similarity_boost, speed, stability, style, text, voice
elevenlabs-tts-turbolanguage_code, similarity_boost, speed, stability, style, text, voice
elevenlabs-v3-dialoguedialogue, language_code, stability
elevenlabs-speech-to-textaudio_url, language_code, tag_audio_events
elevenlabs-audio-isolationaudio_url
elevenlabs-sound-effectduration_seconds, loop, prompt_influence, text
For families that combine root helper fields with nested 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.

Prices are in API credits. Contact Cliprise to obtain credit pricing in your currency. The full credit-per-tier breakdown for every model is available in cliprise-api-catalog.csv.
model_idCreditsBilling unit & tiers
Image Generation
nano-banana8per image — Standard
nano-banana-216 / 24 / 36per image — 1K / 2K / 4K
nano-banana-pro33 / 44per image — 1K–2K / 4K
ideogram-v37 / 13 / 18per image — Turbo / Balanced / Quality
ideogram-character22 / 33 / 44per image — Turbo / Balanced / Quality
ideogram-reframe7 / 13 / 18per image — Turbo / Balanced / Quality
seedream-v37per image — Standard
seedream-v49per image — Standard
seedream-4-512per image — Standard
seedream-5-lite11per image — Standard
qwen-image2–7per image — varies by aspect ratio
qwen-image-212per image — Standard
flux-kontext9 / 18per image — Pro / Max
flux-29 / 13 / 26 / 44per image — Pro 1K / Pro 2K / Flex 1K / Flex 2K
gpt-image-111per image — Standard
gpt-image-1-58 / 44per image — Medium / High
imagen-v48 / 22per image — Fast / Ultra
z-image2per image — Standard
grok-imagine8per call — Both tiers (t2i 6 imgs / i2i 2 imgs)
recraft-remove-bg2per image — Standard
recraft-upscaler1per image — Standard
Video Generation
veo-3-fast108per video — Standard
veo-3-quality720per video — Standard
sora-254 / 63per video — 10 s / 15 s
sora-2-turbo270 / 486 / 594 / 1 134per video — Std 10s / Std 15s / High 10s / High 15s
sora-story-board270 / 486 / 699per video — 10 s / 15 s / 25 s
wan-2-5108 / 216 / 180 / 360per video — 720p 5s / 720p 10s / 1080p 5s / 1080p 10s
wan-2-272 / 108per video — 480p / 720p
wan-2-6140–630per video — 720p/1080p × 5s/10s/15s
wan-2-6-video140 / 280 / 210 / 420per video — 720p 5s / 720p 10s / 1080p 5s / 1080p 10s
wan-animate11 / 18 / 23per second — 480p / 580p / 720p
wan-speech-to-video22 / 33 / 44per second — 480p / 580p / 720p
kling-video-turbo76 / 152per video — 5 s / 10 s
kling-2-5 (alias)76 / 152per video — 5 s / 10 s (same as kling-video-turbo)
kling-2-145–576per video — Std/Pro/Master × 5s/10s
kling-2-699 / 198 / 198 / 396per video — 5s no snd / 5s snd / 10s no snd / 10s snd
kling-2-6-motion12 / 18per second — 720p / 1080p
kling-3200–1200per video — Std/Pro × 5s/10s/15s × sound/no sound
kling-3-motion24 / 40per second — 720p / 1080p
kling-3-multi-shot200–810per video — Std/Pro × 5s/10s/15s
hailuo22 / 36 / 54 / 90per video — 512p 6s / 512p 10s / 768p 6s / 768p 10s
hailuo-pro103per video — Standard
hailuo-2-354 / 90 / 90 / 162per video — Std 768p / Std 1080p / Pro 768p / Pro 1080p
seedance-v118–252per video — Lite/Pro × 480p–1080p × 5s/10s
seedance-v1-pro-fast29 / 65 / 65 / 130per video — 720p 5s / 720p 10s / 1080p 5s / 1080p 10s
seedance-1-5-pro8 / 14 / 14 / 28 / 19 / 38per video — 480p 4s / 720p 4s / 480p 8s / 720p 8s / 480p 12s / 720p 12s
runway198 / 396per video — 5 s / 10 s
runway-aleph198per video — Standard
grok-imagine-video20–80per video — 480p/720p × 6s/10s/15s
Audio & Utilities
elevenlabs-tts-turbo49per 5 000 characters — Standard
elevenlabs-tts49per 5 000 characters — Standard
elevenlabs-v3-dialogue1per 5 000 characters — Standard
elevenlabs-speech-to-text7per second of audio — Standard
elevenlabs-audio-isolation1per second of audio — Standard
elevenlabs-sound-effect1per 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.