Audio
POST/v1/audio/speech
Parameters
inputstringRequired. Text to speak.modelstringOptional, default "tts-1" (also the "auto" resolution).voicestringOptional for OpenAI models (defaults "alloy") and the Gemini TTS family (defaults "Kore", one of 30 Gemini prebuilt names) — required for MiniMax/ElevenLabs models, which use their own voice-id vocabulary (400 if omitted with no default). Voice vocabularies aren't interchangeable across providers.titlestringOptional, kie/suno-* only (max 80 chars). Giving a title or lyrics switches Suno into custom mode.stylestringOptional, kie/suno-* only. Genre/style tags, e.g. "synthwave, female vocal, cinematic". Defaults to prompt in custom mode.negative_tagsstringOptional, kie/suno-* only. Styles to avoid.vocal_genderstringOptional, kie/suno-* only: "m" or "f" (a strong hint, not a guarantee).response_formatstringOptional, default "mp3". Also opus/aac/flac/wav/pcm.speednumberOptional, forwarded as-is when present.Response
Raw audio bytes in the requested response_format, Content-Type set accordingly (e.g. audio/mpeg for mp3) — not a JSON envelope.
Billed per input character, except gpt-4o-mini-tts and the Gemini TTS family (gemini-3.1-flash-tts-preview, gemini-3.8-flash-tts, gemini-3.8-flash-lite-tts), which bill on real per-call token usage instead — see Text-to-speech.
POST/v1/audio/transcriptions
multipart/form-data, not JSON.
Parameters
filefileRequired. The audio file.modelstring (form)Optional, default "whisper-1" (also the "auto" resolution).response_formatstring (form)Optional, default "json". Also text (raw body) and verbose_json (full object incl. duration/segments). srt/vtt aren't supported yet.Example response (response_format: "json", the default)
{ "text": "..." }
Billed on the real provider-reported audio duration (never a size-based guess when the provider supplies one) — see Speech-to-text. Exception: gemini-3.5-transcribe is billed per-token (input audio + output text tokens), not per-minute.
POST/v1/audio/music
Text-to-music across Google Lyria, Mureka, ElevenLabs, StepFun, MiniMax Music, and Suno (V4–V6 via kie.ai, Chirp v6 via Atlas Cloud). No job/poll — returns audio in one response, same shape as /v1/audio/speech.
Parameters
promptstringRequired. Describes the song. For the Lyria rows, genre/mood/vocals/structure/length are all controlled here, not via separate parameters. See Music generation.modelstringOptional, default "lyria-3.5" (also the "auto" resolution). Also lyria-3-clip-preview, lyria-3-pro-preview, mureka-v9, mureka-v8, elevenlabs-music-v2.5, sonilo-music, stepaudio-3-music, atlascloud/suno-chirp-v6 (and -wild/-mini), atlascloud/minimax-music-3.0, atlascloud/minimax-music-2.6, and real Suno via kie/suno-v6, kie/suno-v5.5, kie/suno-v5, kie/suno-v4.5-plus, kie/suno-v4.5, kie/suno-v4 (and kie/suno-v6-wild/-mini).lyricsstringOptional. Your own lyrics text (section tags like [Verse] supported). Used by Mureka, StepFun, MiniMax Music, and the kie/suno-* rows; ignored by every other provider. With kie/suno-*, prompt then acts as the style description.instrumentalbooleanOptional. Requests no vocals — supported by every provider except the Lyria rows (use the prompt string for those instead).durationnumberOptional, seconds. ElevenLabs (defaults to 30s if omitted) and sonilo-music (5–360 s, defaults to 30s) — this is what their per-minute price is computed from — and the Suno V6 rows (kie/suno-v6, -wild, -mini; 10–360 s target length, flat price regardless). Ignored by every other provider.response_formatstringOptional, default "mp3". Also wav — only takes effect for the Lyria rows; every other provider always returns MP3.Response
Raw audio bytes in the requested response_format, Content-Type set accordingly — not a JSON envelope.
Billed flat per generated song for every model except elevenlabs-music-v2.5, sonilo-music (both billed per minute of requested duration) — see Music generation for the full price table.
POST/v1/audio/sfx
Text-to-sound-effect (Foley, impacts, ambience, UI sounds, transitions), and video-to-sound-effect with the mirelo-* models. No job/poll — returns audio in one response, same shape as /v1/audio/music.
Parameters
promptstringRequired. Describes the sound, e.g. "glass bottle breaking on concrete".modelstringOptional, default "sonilo-sfx" (also the "auto" resolution). Also "mirelo-sfx-2.0", "mirelo-sfx-1.6".video_urlstringOptional, mirelo-* only. Public video URL to score; prompt then becomes optional guidance and duration is required.durationnumberOptional, seconds (sonilo-sfx 0.5–180, mirelo-sfx-2.0 0.1–600, mirelo-sfx-1.6 0.1–60; video input 1–600). Defaults to 8; required with video_url.Response
Raw audio bytes (sonilo-sfx: AAC in an m4a container, audio/mp4; mirelo-*: MP3, audio/mpeg) — not a JSON envelope.
Billed per generated second: sonilo-sfx is $0.0018 / second ($0.108 / minute); mirelo-* is credit-metered, about $0.014 / second of audio.