Gemini Omni gemini-omni-audio API
Same API, same SDK — switch variants by changing one parameter.
# Works with Claude Code, Codex, Gemini CLI, Cursor, and 50+ agents
npx skills add runapi-ai/gemini-omni -g
Install the Gemini Omni skill for me: 1. Clone https://github.com/runapi-ai/gemini-omni 2. Copy the skills/gemini-omni/ directory into your user-level skills directory (e.g. ~/.claude/skills/ for Claude Code, ~/.codex/skills/ for Codex). 3. Verify that SKILL.md is present. 4. Confirm the install path when done.
gemini-omni-audio targets the sweet spot of quality and cost within the Gemini Omni family.
- Pay-per-call pricing in USD
- Failed generations not charged
- Streaming when supported by the model
- Schema-validated tool calls
Pricing
Technical details
| Model ID | gemini-omni-audio |
| Provider | |
| Modality | audio_music |
| Task type | synchronous |
| Billing unit | call |
| API endpoint | /api/v1/gemini_omni/create_audio |
| Commercial license | Yes — included via API |
| Status | Operational |
Quickstart — gemini-omni-audio
curl -X POST https://runapi.ai/api/v1/gemini_omni/create_audio \
-H "Authorization: Bearer $RUNAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"audio_id": "achernar",
"name": "Acher Narrator",
"voice_description": "Create a 1080p neon city tracking shot with a reusable character walking through rain while a calm narrator speaks.",
"example_dialogue": "Hello, I am achernar"
}'
import { GeminiOmniClient } from "@runapi.ai/gemini-omni";
const client = new GeminiOmniClient();
const result = await client.createAudio.run({
audio_id: "achernar",
name: "Acher Narrator",
voice_description: "Create a 1080p neon city tracking shot with a reusable character walking through rain while a calm narrator speaks.",
example_dialogue: "Hello, I am achernar",
});
require "runapi/gemini_omni"
client = RunApi::GeminiOmni::Client.new
result = client.create_audio.run(
audio_id: "achernar",
name: "Acher Narrator",
voice_description: "Create a 1080p neon city tracking shot with a reusable character walking through rain while a calm narrator speaks.",
example_dialogue: "Hello, I am achernar"
)
Use gemini-omni-audio in four steps
Install
Install the model SDK or agent skill for this model line.
Configure
Set the model field to the full model ID shown on this page.
Call
Send a typed request with your prompt, inputs, and callback settings.
Receive
Read the task response, webhook callback, or cached output URL from RunAPI.
What's different about gemini-omni-audio
Synchronous reusable voice resource creation from preset voices
Synchronous reusable character resource creation from one reference image
Synchronous reusable voice resource creation from preset voices
Prompted multimodal video with image, audio, character, and source-clip references
Best for
Podcast & video scoring
Generate royalty-free background music matched to episode mood without licensing fees.
Game audio
Generate adaptive ambient soundscapes and effects for procedurally generated levels.
Ad voiceover & SFX
Generate custom voiceovers and sound effects for client spots without a recording studio.
Frequently asked questions about gemini-omni-audio
Is the model ID stable across versions?
RunAPI keeps the model ID stable and handles compatible version refreshes without changing your request shape.
What's the rate limit on this variant?
Per-key rate limits scale with usage tier. See pricing page for current limits.
Can I switch variants later?
Yes — variant is a flag. Switch by changing the model parameter.
Does it stream?
Where streaming is available, RunAPI streams end-to-end.
Where do I report quality issues?
Open an issue on the public GitHub repo or email support.