Generate a video
Changed onCreate a video generation job. Handles text-to-video, image-to-video (send a start frame in files), lipsync (sync_v2, veed_fabric_1_0, omnihuman_v1_5, ...), video editing (grok_imagine_edit), avatars (heygen_avatar), and video upscaling (topaz_video, seedvr_video).
When files contains an image and the model has an image-to-video variant, varg routes to it automatically — same model family, never substituted.
Request
- Base URL: https://api.varg.ai/v2
- URL: https://api.varg.ai/v2/video
- Auth: HTTP bearer
Headers
Any unique string. Retrying a request with the same key returns the existing job (HTTP 200) instead of creating and charging a new one (HTTP 202).
Folder id (uuid) or slug. The job's output is filed into this folder when the job completes. An unknown folder returns 404 workspace_not_found and no job is created. If you cannot set headers, send a top-level workspace_id field in the JSON body instead. Not part of the generation input, so it does not affect caching.
Request body
Example request
{
"model": "kling_v3",
"aspect_ratio": "16:9"
}Response
Idempotency replay — the existing job for this Idempotency-Key (no new charge).
Example response
{
"id": "job_a1b2c3d4e5f6",
"attempts": [
{
"n": 1,
"provider": "byteplus",
"model_key": "byteplus:dreamina-seedance-2-5-260628",
"reason": "real person in the reference images"
}
],
"tool": "tool_2001a2b3c4d5",
"tool_key": "video",
"output": {
"outputs": [
{
"media_type": "video/mp4"
}
]
},
"progress_message": "stitching 3/8 (40%)",
"step_state": {
"current_step": "extend"
},
"pricing": {
"billed_units": {
"images": 1
}
},
"provider": "fal",
"provider_model": "fal:flux_schnell"
}Changes
- info
added the required property
to the response with the status - info
added the required property
to the response with the status
- info
- info
endpoint added
- info