Skip to main content
POST
/
api
/
v1
/
jobs
/
createTask
curl -X POST https://kinovi.ai/api/v1/jobs/createTask \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-20",
    "inputs": {
      "urls": ["https://example.com/character-portrait.jpg"],
      "prompt": "A person @image1 walking on the beach at sunset, cinematic lighting",
      "duration": "5",
      "mode": "reference"
    }
  }'
{
  "taskId": "task_clxxxxxxxxxxxxxx"
}
Generate videos that visually match your reference materials — images, videos, and audio. Perfect for character consistency, style transfer, audio-synced scenes, and scene continuity.

What is Omni Reference?

Unlike standard Image-to-Video (which animates an image), Omni Reference uses your uploaded materials as creative guides. The generated video maintains the look, identity, or style of your references without necessarily using them as literal frames. You can combine images, videos, and audio as references in a single request.

Use Cases

Use CaseDescriptionExample
Character ConsistencyKeep a character’s appearance consistent across multiple videosProvide a character portrait, generate different scenes featuring that character
Style TransferApply the visual style of an image to a new videoProvide an art style reference, generate a new scene in that style
Scene ContinuityGenerate videos that visually match existing contentProvide a scene screenshot, generate a continuation
Audio-Synced VideoGenerate video synchronized to reference audioProvide a music clip or voice recording, generate matching visuals
Multi-Modal ReferencesCombine images, videos, and audio for richer controlProvide a character image + a motion video + background music

Pricing

Standard (seedance-20)

DurationCreditsPriceWith 4K Upscale
4s160$0.80272 credits ($1.36)
5s200$1.00340 credits ($1.70)
8s320$1.60544 credits ($2.72)
10s400$2.00680 credits ($3.40)
15s600$3.001020 credits ($5.10)

Fast (seedance2-fast)

DurationCreditsPriceWith 4K Upscale
4s112$0.56224 credits ($1.12)
5s140$0.70280 credits ($1.40)
8s224$1.12448 credits ($2.24)
10s280$1.40560 credits ($2.80)
15s420$2.10840 credits ($4.20)
Standard rate: 40 credits/sec. Fast rate: 28 credits/sec. 4K upscale: adds 28 credits/sec. Same pricing as Text-to-Video and Image-to-Video.1 credit = $0.005 (200 credits = $1).Fast mode generates videos ~2x faster with slightly reduced quality. Use seedance2-fast as the model value.

Authentication

Get API Key: API Key Management Page
Authorization: Bearer YOUR_API_KEY

The @ Reference Syntax

Use @image1, @video1, @audio1 etc. in your prompt to reference uploaded materials by position. This tells the model exactly where and how to use each reference.

How It Works

"urls": ["https://example.com/person.jpg", "https://example.com/dance-clip.mp4"],
"audioUrls": ["https://example.com/music.mp3"],
"prompt": "@image1 performs the dance moves from @video1, synced to the beat of @audio1"
  • @image1, @image2 → references images by position in the urls array (images only)
  • @video1, @video2 → references videos by position in the urls array (videos only)
  • @audio1, @audio2 → references audio files by position in the audioUrls array
  • If you don’t use @ syntax, the first image/video/audio is automatically used as the primary reference
The @ syntax is case-insensitive@image1, @Image1, @VIDEO1, @Audio1 all work the same way.

Examples

PromptBehavior
"A person @image1 walking on the beach"Uses the 1st image as the character reference
"@image1 and @image2 having a conversation"Uses both images as character references
"@image1 performs the moves from @video1"Character from image, motion from video
"A scene synced to the rhythm of @audio1"Video synced to the audio reference
"A beautiful sunset landscape" (no @)First reference is automatically prepended

Parameters

ParameterTypeRequiredDescription
modelstringYesseedance-20 (standard) or seedance2-fast (faster, lower cost)
callBackUrlstringNoWebhook URL to receive task completion notification
inputsobjectYesGeneration parameters (see below)

inputs

ParameterTypeRequiredDescription
urlsarrayYesReference image and video URLs. Can include images (JPEG, PNG, WebP) and videos (MP4). Must be publicly accessible URLs. Use @image1/@video1 in prompt to reference them.
audioUrlsarrayNoReference audio URLs. Up to 3 audio files (MP3, WAV, etc.). Use @audio1 in prompt to reference them.
promptstringYesVideo description using @image1, @video1, @audio1 etc. to reference uploaded materials. Max 4000 characters.
durationstringNoVideo length in seconds: "4" to "15". Defaults to "5" if omitted. Directly affects cost (40 credits/sec standard, 28 credits/sec fast).
aspectRatiostringNoAspect ratio: 16:9, 9:16, 1:1, 3:4, 4:3, 21:9. Defaults to 16:9.
modestringYesMust be reference for Omni Reference mode.
upscaleResolutionstringNoSet to 4k to upscale the output to 4K resolution. Adds 28 credits/sec to the base cost.

Reference Material Limits

MaterialMax CountConstraints
Images9JPEG, PNG, or WebP. Must be publicly accessible.
Videos3MP4 format. Each video max 15 seconds.
Audio3MP3, WAV, or other common audio formats. Total duration max 15 seconds.
Key differences from Image-to-Video:
  • mode must be set to reference (not keyframe)
  • Images and videos are used as creative references, not literal video frames
  • prompt is required and should describe the desired video scene
  • audioUrls is only supported in reference mode

Omni Reference vs Image-to-Video

FeatureImage-to-VideoOmni Reference
PurposeAnimate an image into videoGenerate video matching reference style/identity
Image usageLiteral first/last frameVisual style guide
Video referencesNot supportedUp to 3 videos (MP4, max 15s each)
Audio referencesNot supportedUp to 3 audio files (max 15s total)
mode parameterkeyframe (default)reference (required)
promptOptional (guides motion)Required (describes the scene)
@ syntaxNot available@image1, @video1, @audio1
Best for”Make this photo move""Generate a new scene featuring this character”

Response

Status Values

StatusDescription
waitingTask queued, waiting to start
generatingVideo is being generated (typically 1–3 minutes)
successGeneration completed, video URL available in output
failGeneration failed, check error field for details

Error Codes

HTTP StatusDescriptionCommon Cause
200Success
400Invalid parametersMissing urls or prompt, invalid mode, invalid image URL
401Authentication failedInvalid or missing API key
402Insufficient creditsNot enough credits for the requested duration
429Concurrency limit exceededToo many tasks in progress, wait for some to complete
500Server errorInternal error, retry later
curl -X POST https://kinovi.ai/api/v1/jobs/createTask \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-20",
    "inputs": {
      "urls": ["https://example.com/character-portrait.jpg"],
      "prompt": "A person @image1 walking on the beach at sunset, cinematic lighting",
      "duration": "5",
      "mode": "reference"
    }
  }'
{
  "taskId": "task_clxxxxxxxxxxxxxx"
}