Skip to main content
POST
cURL

Authorizations

X-API-Key
string
header
required

Body

application/json
generated_video_inputs
GeneratedVideoInputs · object
required

Inputs for generating the video.

workspace_id
string | null
agent_thread_id
string<uuid> | null

Optional agent thread ID to associate this generation with.

generation_id
string<uuid> | null

Optional pre-reserved generation ID. If provided, this ID will be used instead of generating a new one. For batch operations (batch_size > 1), use generation_ids instead.

generation_ids
string<uuid>[] | null

Optional list of pre-reserved generation IDs for batch operations. Length must match batch_size. Mutually exclusive with generation_id.

reserved_asset_id
string<uuid> | null

Optional pre-reserved asset ID. Used as the produced media+asset resource_id so the client knows the asset's identity at request time. For batch operations (batch_size > 1), use reserved_asset_ids instead. Named distinctly from the response's asset_id (the produced asset) so the two don't collide across the request/response inheritance chain — mirrors generation_id (request) vs id (response).

reserved_asset_ids
string<uuid>[] | null

Optional list of pre-reserved asset IDs for batch operations. Length must match batch_size, parallel to generation_ids. Mutually exclusive with reserved_asset_id.

type
string
default:video
Allowed value: "video"
name
string | null

Optional human-friendly name for the generated asset.

Maximum string length: 255
ai_model_id
string<uuid> | null
deprecated

Deprecated. Use model_slug to select the model.

model_slug
string | null

Slug of the model to use for the generation. Alternative to ai_model_id.

start_keyframe_id
string<uuid> | null

The id of the Image asset to use as the start keyframe.

start_keyframe_url
string<uri> | null

The URL of the image to use as the start keyframe.

Required string length: 1 - 2083
end_keyframe_id
string<uuid> | null

The id of the Image asset to use as the end keyframe.

end_keyframe_url
string<uri> | null

The URL of the image to use as the end keyframe.

Required string length: 1 - 2083
audio_id

The id of the Audio asset to use, or a list of ids for multi-speaker generation.

audio_generation
GenerateTextToSpeechRequest · object | null

Optional TTS parameters for server-side audio generation. If provided (and audio_id is not), audio will be generated from these params before video generation.

audio_start_ms
integer | null

Audio start offset in milliseconds. Negative values prepend silence (e.g., -1000 adds 1s silence before audio). Positive values crop from the beginning of the source audio (e.g., 2000 skips the first 2s). Use with generated_video_inputs.duration_ms to control total output length.

reference_audio_ids
string<uuid>[] | null

The id(s) of the audio(s) to reference in the generation.

reference_image_ids
string<uuid>[] | null

The id(s) of the image(s) to reference in the generation.

reference_video_ids
string<uuid>[] | null

The id(s) of the video(s) to reference in the generation.

video_id
string<uuid> | null

The id of the Video asset to use as input. For V2V (motion control) models this is the driving video; for Google Veo models this triggers video extension.

batch_size
integer
default:1

Number of video variations to generate (1-8). When > 1, batch_results will contain all generation results.

Required range: 1 <= x <= 8

Response

Successful Response

generated_video_inputs
GeneratedVideoInputs · object
required

Inputs for generating the video.

id
string<uuid>
required

The id of the generation created.

asset_id
string<uuid>
required

The id of the video asset resulting from the generation.

created_at
string
required

Date the generation was submitted.

status
enum<string>
required

Status of the generation

Available options:
complete,
error,
processing,
queued,
finalizing
progress
number
required

Current progress to completion. Between 0-1

workspace_id
string | null
agent_thread_id
string<uuid> | null

Optional agent thread ID to associate this generation with.

generation_id
string<uuid> | null

Optional pre-reserved generation ID. If provided, this ID will be used instead of generating a new one. For batch operations (batch_size > 1), use generation_ids instead.

generation_ids
string<uuid>[] | null

Optional list of pre-reserved generation IDs for batch operations. Length must match batch_size. Mutually exclusive with generation_id.

reserved_asset_id
string<uuid> | null

Optional pre-reserved asset ID. Used as the produced media+asset resource_id so the client knows the asset's identity at request time. For batch operations (batch_size > 1), use reserved_asset_ids instead. Named distinctly from the response's asset_id (the produced asset) so the two don't collide across the request/response inheritance chain — mirrors generation_id (request) vs id (response).

reserved_asset_ids
string<uuid>[] | null

Optional list of pre-reserved asset IDs for batch operations. Length must match batch_size, parallel to generation_ids. Mutually exclusive with reserved_asset_id.

type
string
default:video
Allowed value: "video"
name
string | null

Optional human-friendly name for the generated asset.

Maximum string length: 255
ai_model_id
string<uuid> | null
deprecated

Deprecated. Use model_slug to select the model.

model_slug
string | null

Slug of the model to use for the generation. Alternative to ai_model_id.

start_keyframe_id
string<uuid> | null

The id of the Image asset to use as the start keyframe.

start_keyframe_url
string<uri> | null

The URL of the image to use as the start keyframe.

Required string length: 1 - 2083
end_keyframe_id
string<uuid> | null

The id of the Image asset to use as the end keyframe.

end_keyframe_url
string<uri> | null

The URL of the image to use as the end keyframe.

Required string length: 1 - 2083
audio_id

The id of the Audio asset to use, or a list of ids for multi-speaker generation.

audio_generation
GenerateTextToSpeechRequest · object | null

Optional TTS parameters for server-side audio generation. If provided (and audio_id is not), audio will be generated from these params before video generation.

audio_start_ms
integer | null

Audio start offset in milliseconds. Negative values prepend silence (e.g., -1000 adds 1s silence before audio). Positive values crop from the beginning of the source audio (e.g., 2000 skips the first 2s). Use with generated_video_inputs.duration_ms to control total output length.

reference_audio_ids
string<uuid>[] | null

The id(s) of the audio(s) to reference in the generation.

reference_image_ids
string<uuid>[] | null

The id(s) of the image(s) to reference in the generation.

reference_video_ids
string<uuid>[] | null

The id(s) of the video(s) to reference in the generation.

video_id
string<uuid> | null

The id of the Video asset to use as input. For V2V (motion control) models this is the driving video; for Google Veo models this triggers video extension.

batch_size
integer
default:1

Number of video variations to generate (1-8). When > 1, batch_results will contain all generation results.

Required range: 1 <= x <= 8
eta_sec
integer | null

Estimated time until completion in seconds. May be None if no historical data available.

batch_generation_id
string | null

Unique identifier linking all generations in a batch.

batch_results
BatchVideoResultItem · object[]

All generation results in the batch. Always populated (even for batch_size=1). The main response fields (id, asset_id, etc.) reflect the first successful generation.