Fish Audio integration
Fish Audio is a speech AI platform. Turn text into speech with a library or cloned voice, transcribe recordings with speaker turns, design new voices from a prompt, clone and manage voice models, and run Fish Audio voice agents: create and configure agents, publish versions, place outbound phone calls, read session transcripts and recordings, and manage agent knowledge sources and webhook tools. Text to speech, transcription, voice design and calls spend API credit. Streaming and WebSocket speech, browser session tokens, the embeddable widget, agent test suites, and buying, importing or releasing phone numbers are not exposed. Authentication is an API key from the Fish Audio API keys page, sent as a Bearer token.
Say what should happen.
The workflow builds itself.
What you can do with Fish Audio
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Each badge shows the default agent permission of an endpoint (allowed: an agent calls it without asking; ask first: you are asked before an agent calls it, when the agent or chat asks permission for sensitive actions; never: no agent may call it), which every user can change endpoint by endpoint in their credential settings.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Agent, 7 operations
create_agentCreate agentPOSTAgents: ask firstCreates a voice agent as a draft, optionally with its whole configuration in config. Publish it with publish_agent before it can take calls.delete_agentDelete agentDELETEAgents: ask firstPermanently deletes an agent with its configuration and version history. Its past session records stay readable.get_agentGet agentGETAgents: ask firstReturns one agent's profile: name, description, status, publication_state, public access and allowed overrides. Its prompt, voice and behaviour are read with get_agent_config.list_agentsList agentsGETAgents: ask firstLists your team's voice agents, newest first, with name, status and publication_state (live or draft). Filter with search; page with cursor (next_cursor while has_more) or page.list_agent_tool_agentsList agent tool agentsGETAgents: ask firstLists the agents whose draft configuration uses this tool, the check to run before delete_agent_tool.list_knowledge_source_agentsList knowledge source agentsGETAgents: ask firstLists the agents whose draft or live configuration uses this knowledge source, the check to run before delete_knowledge_source.update_agentUpdate agentPATCHAgents: ask firstChanges an agent's name, description, status (active or archived), public browser access, allowed origins or allowed session overrides. Fields left out keep their value. Prompt and voice live in update_agent_config.
Agent tool, 5 operations
create_agent_toolCreate agent toolPOSTAgents: ask firstCreates an agent tool: a webhook your agents call during conversations (with url, method and argument schema) or a client tool your frontend runs. Attach it with update_agent_config tools.tool_ids.delete_agent_toolDelete agent toolDELETEAgents: ask firstDeletes an agent tool. Refused (409) while any agent draft still uses it: check list_agent_tool_agents and detach it through update_agent_config first.get_agent_toolGet agent toolGETAgents: ask firstReturns one agent tool's definition: type, url, method, argument schema, body template, header names and kinds (never their values), timeout and execution mode.list_agent_toolsList agent toolsGETAgents: ask firstLists your team's agent tools (webhooks the agent calls during conversations, or client tools), newest first. Filter by agent_id or search; page with cursor or page.update_agent_toolUpdate agent toolPATCHAgents: ask firstChanges an agent tool; fields left out keep their value. Attached agents' drafts use the change at once. Sending headers replaces the whole list, values included.
Knowledge source, 5 operations
create_knowledge_sourceCreate knowledge sourcePOSTAgents: ask firstUploads a plain-text or Markdown file (UTF-8, up to 1 MB) as a knowledge source. Attach it to an agent through update_agent_config knowledge_base.knowledge_source_ids.delete_knowledge_sourceDelete knowledge sourceDELETEAgents: ask firstDeletes a knowledge source. Refused (409) while any agent draft or live version still uses it: check list_knowledge_source_agents and detach it first.get_knowledge_sourceGet knowledge sourceGETAgents: ask firstReturns one knowledge source with its full text content and current revision number.list_knowledge_sourcesList knowledge sourcesGETAgents: ask firstLists your team's knowledge sources (text files agents answer from), newest first, with name, file name, size and revision. Filter with search; page with cursor or page.update_knowledge_sourceUpdate knowledge sourcePATCHAgents: ask firstRenames a knowledge source or replaces its content with a new file. New content raises revision_number and reaches every attached agent's draft at once; published versions keep their revision.
Voice model, 5 operations
create_voice_modelCreate voice modelPOSTAgents: ask firstClones a voice: creates a private (or unlisted) voice model from one audio sample. Use its _id as reference_id in text_to_speech. train_mode fast makes it usable at once.delete_voice_modelDelete voice modelDELETEAgents: ask firstPermanently deletes one of your voice models. Calls that pass its id as reference_id stop working.get_voice_modelGet voice modelGETAgents: ask firstReturns one voice model: title, description, state, languages, tags, visibility, samples, quality report of its audio and author.list_voice_modelsList voice modelsGETAgents: ask firstLists voice models: the public Fish Audio voice library, or with self=true the models your workspace owns. Each item's _id is the reference_id to pass to text_to_speech. Paged by page_number and page_size.update_voice_modelUpdate voice modelPATCHAgents: ask firstChanges a voice model's title, description, cover image, visibility or tag. Leave a field out to keep its current value. Setting visibility to public or unlist shares the voice with other people.
Agent version, 3 operations
get_agent_versionGet agent versionGETAgents: ask firstReturns one published version of an agent with its frozen configuration snapshot (secrets left out).list_agent_versionsList agent versionsGETAgents: ask firstLists an agent's published versions, newest first; the highest version_number is live. Compare config_hash with get_agent_config's to spot unpublished changes.publish_agentPublish agentPOSTAgents: ask firstPublishes the agent's current draft as a new immutable version, which every new call then uses. If the draft equals the live version, that version is returned unchanged.
Phone number, 3 operations
get_phone_numberGet phone numberGETAgents: ask firstReturns one of your phone numbers with the agent it routes inbound calls to, its caller ID policy and provisioning status.list_phone_numbersList phone numbersGETAgents: ask firstLists your team's phone numbers, newest first, with the agent each one routes to, its provider and status. Look one up by E.164 with phone_number, or filter by agent_id.update_phone_numberUpdate phone numberPATCHAgents: ask firstChanges a number's label, the agent that answers its inbound calls, or its transfer caller ID. Fields left out keep their value. Rebinding applies from the next inbound call.
Session, 3 operations
end_sessionEnd sessionPOSTAgents: ask firstHangs up a live session: the agent leaves and the call ends at once. The session record, transcript and recording are kept.get_sessionGet sessionGETAgents: ask firstReturns one session in full: status, timing, caller numbers, the ordered transcript with tool calls and transfers, post-call analysis and LLM usage. Personal data: it holds what callers said.list_sessionsList sessionsGETAgents: ask firstLists your team's agent sessions (web and phone conversations), newest first, with status, end reason, direction, numbers and duration. Filter by agent, status, caller, time; page with cursor.
Agent config, 2 operations
get_agent_configGet agent configGETAgents: ask firstReturns the agent's draft configuration (prompt, voice, speech recognition, conversation, tools, webhooks, knowledge base, analysis, guardrails, LLM, variables). Live calls run the last published version.update_agent_configUpdate agent configPATCHAgents: ask firstChanges sections of an agent's draft configuration; sections left out keep their value. Takes effect on calls only after publish_agent. Read get_agent_config first.
Api credit, 1 operation
get_api_creditGet api creditGETAgents: ask firstReturns the account's remaining API credit balance (USD, as a decimal string) and cumulative top-ups, the balance that text to speech, transcription and calls draw from.
Package, 1 operation
get_packageGet packageGETAgents: ask firstReturns the account's current plan package: its type, total and remaining balance, when it started, ends and refreshes.
Phone call, 1 operation
place_phone_callPlace phone callPOSTAgents: ask firstPlaces a real outbound phone call: the agent dials to_number from one of your numbers and talks to whoever answers. Spends credit once answered. Returns session_id; read the outcome with get_session.
Session recording, 1 operation
get_session_recordingGet session recordingGETAgents: ask firstReturns time-limited download URLs for a session's audio recording, one track per speaker, plus transfer leg recordings. status is processing until the files are ready.
Speech, 1 operation
text_to_speechText to speechPOSTAgents: ask firstConverts text to speech and returns the audio file (mp3 by default). Spends API credit per text byte on paid models; send model s2.1-pro-free for the free tier. Pick a voice with reference_id (from list_voice_models).
Transcription, 1 operation
transcribe_audioTranscribe audioPOSTAgents: ask firstTranscribes one audio file (up to 60 minutes) to text and returns the transcript, duration and detected language. Spends API credit ($0.36 per audio hour). Send model transcribe-1-pro for speaker turns.
Voice candidate, 1 operation
design_voiceDesign voicePOSTAgents: ask firstGenerates 1 to 4 short candidate voices from a text prompt and returns each as base64 WAV audio. Spends API credit: $0.01 per successful request, whatever the number of candidates.
Use Fish Audio from Claude Code, Cursor or Codex
Connect Fish Audio in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Fish Audio operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Fish Audio
- Create your workspace
Sign up free. Nothing to install.
- Connect Fish Audio once
Add your Fish Audio connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Fish Audio integration FAQ
What can you do with the Fish Audio integration?
LiveContext exposes 40 operations on Fish Audio, covering agent, agent tool, knowledge source and voice model.
