Skip to content

Generate Video

POST
/api/video/generate
curl --request POST \
--url https://example.com/api/video/generate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "mode": "i2v", "workflow": "wan2.2_i2v_14b_fp8", "prompt": "a woman turning to face the camera, soft natural light, cinematic", "character": "example", "characters": [ { "id": "example", "role": "example", "reference_image": "example", "lora_strength": 1 } ], "image": "projects/prj-xxx/scene-01-sht-xxx-image-v01_0001.png", "audio": "voice/line-01.wav", "video": "videos/motion-01.mp4", "negative": "blurry, low quality", "description": "The ridge shot, take 3 — the one where the light held", "width": 1, "height": 1, "length": 1, "fps": 1, "seed": 1, "filename_prefix": "videos/my_clip", "steps_high": 1, "steps_low": 1, "cfg_high": 1, "cfg_low": 1, "shift": 1, "sampler": "example", "scheduler": "example", "workflow_params": {}, "provider": "local-gpu-1", "submit": true }'

Submit a single video generation job (t2v, i2v, or v2v).

Media typeapplication/json
VideoGenerateRequest
object
mode
Any of:
string
Allowed values: t2v i2v v2v
workflow
required
Workflow

Workflow id to run (e.g. from GET /api/workflows)

string
>= 1 characters
prompt
required
Prompt

Motion/prompt for the video. In i2v mode the source image carries identity.

string
>= 1 characters
character
Any of:
string
characters
Characters

Optional explicit character bindings

Array<object>
CharacterBinding
object
id
required
Id
string
>= 1 characters
role
Any of:
string
reference_image
Any of:
string
lora_strength
Any of:
number
image
Any of:
string
audio
Any of:
string
video
Any of:
string
negative
Any of:
string
description
Any of:
string
width
Any of:
integer
height
Any of:
integer
length
Any of:
integer
fps
Any of:
integer
seed
Any of:
integer
filename_prefix
Any of:
string
steps_high
Any of:
integer
steps_low
Any of:
integer
cfg_high
Any of:
number
cfg_low
Any of:
number
shift
Any of:
number
sampler
Any of:
string
scheduler
Any of:
string
workflow_params
Any of:
object
key
additional properties
any
provider
required
Provider

Provider id (see GET /api/providers)

string
submit
Submit

False returns workflow JSON without queueing

boolean
default: true

Successful Response

Media typeapplication/json
VideoGenerateResponse
object
ok
required
Ok
boolean
mode
required
Mode
string
prompt_id
Any of:
string
number
Any of:
integer
node_errors
Any of:
object
key
additional properties
any
workflow
Any of:
object
key
additional properties
any
Examplegenerated
{
"ok": true,
"mode": "example",
"prompt_id": "example",
"number": 1,
"node_errors": {},
"workflow": {}
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
Examplegenerated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example"
}
]
}