Skip to main content
1

Set your API key

Store your Fish Audio API key as an environment variable:
2

Swap the base URL and generate

Full guide: Migrate from OpenAI — transcription, chat audio, the Realtime WebSocket, and what each feature supports.

From a framework

Frameworks that speak the OpenAI protocol work the same way — point them at /compat/v1:
Building a voice agent with Pipecat or LiveKit? Fish Audio has native integrations for those.

Models

transcribe-1 needs no language hint. The language field in a transcription response echoes what you sent — empty when you sent none, never a detection result (the ElevenLabs protocol echoes language_code the same way).

Voices

The examples above use the model’s default voice. To pick a specific one, pass a voice ID — browse the Voice Library and copy the id of any voice, or make your own with Voice Cloning or Voice Design. Vendor preset names (nova, echo, Rachel, …) don’t exist here — replace them with a voice ID.

Going further

Wondering whether an option you rely on is supported? See Compatibility. Starting fresh instead? The native API and official SDK expose every Fish Audio capability directly.