Gemini Omni Text to Video API: AI Video Generation

Generate videos from text with Gemini Omni Text to Video via the Muapi REST API. Pay per generation — no subscription needed.

Interactive model controls

Gemini Omni — natively multimodal any-to-any model. Generates high-fidelity video with synchronized audio directly from text prompts, with unified reasoning across modalities for more coherent scenes and fewer pipeline artifacts.

Gemini Omni Text to Video API Reference

Endpoint

POST https://api.muapi.ai/api/v1/gemini-omni-text-to-video

Submit a job with your Muapi API key in the x-api-key header, then poll https://api.muapi.ai/api/v1/predictions/{request_id}/result until status is completed.

Parameters

NameTypeRequiredDescription
promptstringYesText description of the desired video content. Gemini Omni supports rich multimodal prompts including scene composition, camera direction, dialogue, and ambient audio cues.
durationintNoDuration of the generated video in seconds.Options: 4, 6, 8, 10Default: 8
resolutionstringNoOutput video resolution. Billed per second of output: $0.039/s at 360p, $0.13/s at 720p, $0.195/s at 1080p, $0.39/s at 4K.Options: 360p, 720p, 1080p, 4kDefault: "1080p"
aspect_ratiostringNoOutput video aspect ratio.Options: 16:9, 9:16Default: "16:9"
audio_idsarrayNoUp to 3 voice profile IDs returned by the Gemini Omni Audio endpoint.
seedintNoRandom seed (0–2147483647). Fix for reproducibility; results may still vary due to model stochasticity.Default: 0
character_idsarrayNoUp to 3 character IDs from Gemini Omni Character to feature in the video.

cURL example

REQUEST_ID=$(curl -s -X POST https://api.muapi.ai/api/v1/gemini-omni-text-to-video \
  -H "x-api-key: $MUAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt":"<prompt>"}' | jq -r .request_id)

curl -s https://api.muapi.ai/api/v1/predictions/$REQUEST_ID/result -H "x-api-key: $MUAPI_API_KEY"

Python example

import os, time, requests

API = "https://api.muapi.ai/api/v1"
headers = {"x-api-key": os.environ["MUAPI_API_KEY"]}

r = requests.post(f"{API}/gemini-omni-text-to-video", headers=headers, json={"prompt":"<prompt>"})
request_id = r.json()["request_id"]

while True:
    res = requests.get(f"{API}/predictions/{request_id}/result", headers=headers).json()
    if res["status"] == "completed":
        print(res["outputs"]); break
    if res["status"] == "failed":
        raise RuntimeError(res.get("error"))
    time.sleep(3)

Full docs and agent/MCP integration: llms.txt. Get an API key at muapi.ai/access-keys.