Skip to main content
POST

Authorizations

Authorization
string
header
required

##All endpoints require authentication using a Bearer Token##

Get your API Key:

Visit the API Key management page to obtain your API Key

Add it to the request header:

Body

application/json
model
enum<string>
required

Choose the model ID that matches the task and input media:

  • gemini-omni-1.1-flash-text-to-video
  • gemini-omni-1.1-flash-image-to-video
  • gemini-omni-1.1-flash-reference-to-video
  • gemini-omni-1.1-flash-video-edit
  • gemini-omni-1.1-flash-video-extend
Available options:
gemini-omni-1.1-flash-text-to-video,
gemini-omni-1.1-flash-image-to-video,
gemini-omni-1.1-flash-reference-to-video,
gemini-omni-1.1-flash-video-edit,
gemini-omni-1.1-flash-video-extend
Example:

"gemini-omni-1.1-flash-text-to-video"

prompt
string
required

Text prompt describing the generation, edit, or extension goal.

Example:

"A glass marble rolls down a wooden track and splashes into water."

image_urls
string<uri>[]

Image URLs: Image-to-Video requires 1-2 first/last-frame images; Reference-to-Video requires up to 10 images; Video Edit and Video Extend accept up to 10 optional reference images.

Required array length: 1 - 10 elements
Example:
video_urls
string<uri>[]

Video URLs: Reference-to-Video accepts up to 3 clips of up to 10 seconds; Video Edit requires one clip up to 10 seconds; Video Extend requires one clip up to 30 seconds.

Required array length: 1 - 3 elements
Example:
quality
enum<string>

Video resolution

Supported values:

  • 360p: landscape 640×360 / portrait 360×640
  • 720p: landscape 1280×720 / portrait 720×1280
  • 1080p: landscape 1920×1080 / portrait 1080×1920
  • 4k: landscape 3840×2160 / portrait 2160×3840
  • auto: supported only by Video Edit and Video Extend; follows the input video's resolution

Defaults:

  • Text-to-Video, Image-to-Video, and Reference-to-Video: 720p
  • Video Edit and Video Extend: auto

Billing: Video output is billed by output tokens. For Video Edit and Video Extend, input and output video tokens are both calculated using the final output resolution.

Available options:
360p,
720p,
1080p,
4k,
auto
Example:

"720p"

duration

Video duration

  • Text-to-Video, Image-to-Video, and Reference-to-Video: integer from 3 to 10 seconds; default 3
  • Video Edit: only auto is accepted; default auto; output duration follows the input video
  • Video Extend: integer from 3 to 10 seconds; default 3; specifies the number of appended seconds
Required range: 3 <= x <= 10
Example:

3

aspect_ratio
enum<string>
default:auto

Default is auto. Generation modes also support 16:9 and 9:16; Edit and Extend only accept auto.

Available options:
16:9,
9:16,
auto
Example:

"auto"

callback_url
string<uri>

HTTPS callback URL to notify when the task completes

Callback timing:

  • Triggered when the task completes (completed), fails (failed), or is cancelled (cancelled)
  • Sent after billing is confirmed

Security restrictions:

  • HTTPS protocol only
  • Callbacks to internal IP addresses are forbidden (127.0.0.1, 10.x.x.x, 172.16-31.x.x, 192.168.x.x, etc.)
  • URL length must not exceed 2048 characters

Callback mechanism:

  • Timeout: 10 seconds
  • Up to 3 retries on failure (retried 1s / 2s / 4s after each failure respectively)
  • The callback body format matches the response of the task query endpoint
  • A 2xx status code from the callback URL is treated as success; other status codes trigger a retry
Example:

"https://your-domain.com/webhooks/video-task-completed"

Response

Video task created successfully

created
integer

Task creation timestamp

Example:

1757169743

id
string

Task ID

Example:

"task-unified-1757169743-7cvnl5zw"

model
string

The model name actually used

Example:

"gemini-omni-1.1-flash-text-to-video"

object
enum<string>

The specific type of the task

Available options:
video.generation.task
progress
integer

Task progress percentage (0-100)

Required range: 0 <= x <= 100
Example:

0

status
enum<string>

Task status. The create endpoint returns processing.

Available options:
pending,
processing,
completed,
failed
Example:

"processing"

task_info
object

Detailed video task information

type
enum<string>

The output type of the task

Available options:
text,
image,
audio,
video
Example:

"video"

usage
object

Usage and billing information