Skip to main content
POST
  1. After submission, a task_id will be returned. If you provided a callback_url, when the task status becomes finished or failed, a POST request will be sent to the callback_url.
  2. Regardless of whether callback_url is provided, you can retrieve the result through the unified Query Task Status endpoint.
gemini-omni-1.2-flash generates videos from a text prompt, first and last frames, or reference images and videos, and edits an existing video with a text instruction. Use it for product campaigns, social clips, storyboard shots, and restyling footage you already have.

Models

  • gemini-omni-1.2-flash - Text-to-video, first/last-frame generation, reference generation with images and videos, and video editing

Features

  • Output durations from 3 to 15 seconds in one-second steps
  • Output resolutions of 360p, 720p, 1080p, and 4k, in 16:9 landscape or 9:16 portrait
  • Up to 10 reference images and 3 reference videos in a single request
  • Text-instructed editing of an existing video up to 15 seconds long

Input modes

The mode is chosen from the fields you send, in this order:
  • Video editing: Send video_url. Only prompt and resolution can be sent with it, and the output length follows the source video
  • Reference generation: Send reference_image_urls, reference_video_urls, or both
  • First/last frame video: Send one or two images in image_urls
  • Text to video: Send only prompt and optional generation settings

Required parameters

  • prompt: Text prompt describing the scene, motion, style, and camera behavior, or the edit instruction when video_url is provided. Maximum length is 20,000 characters

Optional parameters

  • image_urls: First-frame and optional last-frame image URL array. At most 2 images are allowed
  • reference_image_urls: Reference image URL array. At most 10 images are allowed
  • reference_video_urls: Reference video URL array. At most 3 videos are allowed, each at most 15 seconds long
  • video_url: Source video URL to edit. The video must be at most 15 seconds long
  • duration: Integer from 3 to 15 seconds. Default is 8. At most 10 when a last frame is provided. Not accepted for video editing
  • resolution: 360p, 720p, 1080p, or 4k. Default is 720p
  • aspect_ratio: 16:9 or 9:16. Default is 16:9. Not accepted for video editing
  • callback_url: Optional webhook URL for completion notifications

Examples

Text to Video

First and Last Frames

Reference Images and Videos

Video Editing

Notes

  • image_urls cannot be combined with reference_image_urls or reference_video_urls
  • video_url cannot be combined with image_urls, reference_image_urls, reference_video_urls, duration, or aspect_ratio
  • Reference images and reference videos can be sent together in the same request
  • Media URLs must be publicly accessible HTTP or HTTPS links
  • Requests with a reference video or source video longer than 15 seconds are rejected
  • The response returns a task_id; query task status to retrieve the generated video file

Authorizations

Authorization
string
header
required

All API endpoints require Bearer Token authentication.

Create an API key: sign in to PoYo, open Dashboard → API Key at poyo.ai/dashboard/api-key, and click to create a key.

Add it to the request header:

Body

application/json
model
enum<string>
required

Gemini Omni 1.2 Flash model identifier

Available options:
gemini-omni-1.2-flash
input
object
required
callback_url
string<uri>

Webhook callback URL for result notifications

Example:

"https://your-domain.com/callback"

Response

Task submitted successfully

code
enum<integer>
required

Business status code. 200 means success; any other value means the request failed. Always check this field: some validation errors return HTTP 200 with code: 400 in the body.

  • 200: Success
  • 400: Invalid request parameters
  • 401: Missing or invalid API key
  • 402: Insufficient credits
  • 403: Permission denied
  • 404: Resource not found
  • 408: Request timeout
  • 429: Rate limit exceeded
  • 500: Internal server error
  • 502: Upstream service error
  • 503: Service unavailable

See Error Codes for details.

Available options:
200,
400,
401,
402,
403,
404,
408,
429,
500,
502,
503
Example:

200

data
object
required
message
string
Example:

"success"