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.

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. 720p and 1080p are the same price; 4K costs more.Options: 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.