Skip to main content
POST
gemini-omni-1.2-flash-video-upscale API

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>
default:gemini-omni-1.2-flash-video-upscale
required

Model name, fixed to gemini-omni-1.2-flash-video-upscale.

Available options:
gemini-omni-1.2-flash-video-upscale
Example:

"gemini-omni-1.2-flash-video-upscale"

video_urls
string<uri>[]
required

Video array to upscale; required, exactly 1 video.

  • HTTP/HTTPS video URLs only.
  • Format: mp4.
  • Duration: up to 15 seconds.
  • Sizes: 640×360, 1280×720, 1920×1080, or portrait 360×640, 720×1280, 1080×1920 only.
Required array length: 1 element
Example:
quality
enum<string>
required

Target resolution; required and must exceed the input resolution.

  • 360p input: 720p, 1080p.
  • 720p input: 1080p, 4k.
  • 1080p input: 4k.

Billing: Billed by actual video output token usage, with no input or thinking token charges. Output token usage depends on the input video duration and the input/target resolution combination. The charge at submission is an estimate; final billing uses actual usage.

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

"1080p"

duration
enum<string>
default:auto

May be omitted; if supplied, only auto is supported. Output duration follows the input video. A duration in seconds cannot be specified.

Available options:
auto
Example:

"auto"

aspect_ratio
enum<string>
default:auto

May be omitted; if supplied, only auto is supported. Output aspect ratio follows the input video. Other aspect ratios cannot be specified.

Available options:
auto
Example:

"auto"

seed
integer

Random seed; random by default. Range: 0–4294967295. A fixed seed improves reproducibility.

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

42

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.2-flash-video-upscale"

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 always returns processing; the internal pending state is also exposed to clients as 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