Skip to main content

Overview

Gemini Omni is a Google multimodal model on APIXO. Use it to create reusable audio assets, create character assets from an image, and generate videos with text, image, video, audio, and character references.

Workflow

  1. Create an audio asset with mode: "gemini-omni-audio" and save the returned audioId.
  2. Create a character asset with mode: "gemini-omni-character" and save the returned characterId.
  3. Generate a video with mode: "gemini-omni-video" and optionally pass audio_ids, character_ids, image_urls, or video_urls.
Audio and character modes return final successful results directly. Video mode returns a taskId and should be polled or delivered by webhook.

Endpoint and authentication

Base URL:
All requests require your APIXO API key:
Submit requests also require:

Copy-paste async quickstart

This minimal request submits a video task and returns a taskId.
Successful response:
Save the taskId; you need it to poll for the final video result.

Poll for result

Processing response:
Success response:
Failed response:
Parse resultJson after state becomes success:

Request body

Audio asset

Character asset

Video without video input

Video with video input

Parameters

string
default:"async"
required
Result delivery mode. Use async for polling with statusTask, or callback for webhook delivery. Callback mode is recommended for production video generation.
string
Required when request_type is callback. Must be a public HTTPS URL that can receive the final task payload. See Webhooks.
object
required
Gemini Omni input parameters.
For video mode, the total multimodal quota from image_urls, video_urls, and character_ids cannot exceed 7 units. Each image uses 1 unit, each character ID uses 1 unit, and one video URL uses 2 units. audio_ids does not consume this quota.

Official base voice options

voice_key is required for gemini-omni-audio. Choose one of these official base voices.

Response format

Audio asset response

Audio mode returns a final successful result directly:
Save audioId; use it later in audio_ids for character or video requests.

Character asset response

Character mode returns a final successful result directly:
Save characterId; use it later in character_ids for video requests.

Submit task response

POST /generateTask/gemini-omni returns a task ID when a video task is accepted:
integer
API status code. 200 means the task was accepted.
string
Human-readable status message.
string
Unique task identifier used with the status endpoint.

Status response fields

string
Unique task identifier.
string
Current task state: pending, processing, processing_r2, success, or failed.
string
Audio asset ID for audio mode.
string
Audio asset name.
string
Character asset ID for character mode.
string
Character asset name.
string
Character image URL.
string
JSON string containing generated video URLs. Present when video state is success.
string
Machine-readable failure code. Present when state is failed.
string
Human-readable failure message. Present when state is failed.
integer
Task creation timestamp in Unix milliseconds.
integer
Task completion timestamp in Unix milliseconds. Present after completion.
integer
Processing duration in milliseconds. Present after successful or failed completion when available.

Webhook callback mode

Use callback mode when your backend should receive the final video result automatically instead of polling.
See Webhooks for delivery requirements and retry behavior.

Billing

Audio and character asset modes are free asset-generation modes. Video mode is billed by whether a video input is provided and by selected resolution. Without video input, final video billing is resolution unit price * duration. With video input, duration is ignored and billing is fixed per request. For current route and market comparison pricing, see Pricing.

Latency and polling

Actual latency may vary by prompt complexity, media inputs, selected route, and current queue load.
For production video workloads, use callback mode to avoid frequent polling.
Audio and character modes share a free asset-generation limit of 1000 requests per user per 60 seconds. Video mode is billed separately and does not consume this free asset limit. Rate limits and concurrency can vary by account, API key, and route. If you receive 429, slow down requests and retry with backoff. For account-level details, see System APIs.

Errors and troubleshooting

HTTP errors

Task failure codes

Common validation issues

See Error Codes for the full error reference.