Fish Audio S1

by Fish Audio

fish_audio/s1

Turn text into spoken audio, in a saved or cloned voice.

Billed per
byte
Price
Price: $0.000015
Provider
Fish Audio
Timeout
5 min

Overview

Converts text into speech using either a saved voice referenced by id or a voice cloned on the fly from reference audio and its transcript. This is the standard tier. Output encoding is selectable across compressed and uncompressed containers with bitrate control. A latency mode trades time-to-first-audio against quality, and a chunk length governs how the text is segmented for synthesis, which keeps prosody consistent across long passages. Text normalisation expands numbers, dates, and abbreviations into the way they are spoken.

The audio, returned inline with its media type and size in bytes. Billing counts the bytes of text submitted.

Input

These go in the input object of the run request.

FieldTypeRequiredDescription
textstringYesWhat to say.
Maximum: 100000
reference_idstringNoThe id of a saved voice to speak with.
formatstringNoAudio container to return.
Allowed: wav, pcm, mp3, opus
Default: "mp3"
mp3_bitrateintegerNoBitrate when returning MP3.
Allowed: 64, 128, 192
Default: 128
chunk_lengthintegerNoHow much text to synthesise at a time.
Default: 300
Minimum: 100
Maximum: 300
latencystringNoTrade responsiveness against quality.
Allowed: low, balanced, normal
Default: "normal"
normalizebooleanNoExpand numbers, dates, and abbreviations before speaking them.
Default: true

Requests up to 1 MB, text up to 100,000 characters.

Example

Use your own API key and a saved idempotency key for each new job. Replace image or media placeholders with your own publicly reachable HTTPS URLs. Keep the same key and request body when recovering a timeout.

# Set once per job; reuse this key and the identical body after a timeout.
: "${AGENTSKY_IDEMPOTENCY_KEY:?Set a unique, saved key for this job}"
curl --fail-with-body https://gateway.agentsky.dev/v1/run \
  -H "authorization: Bearer $AGENTSKY_API_KEY" \
  -H "content-type: application/json" \
  -H "Idempotency-Key: $AGENTSKY_IDEMPOTENCY_KEY" \
  -d '{"provider":"fish_audio","endpoint":"s1","input":{"text":"Hello, and welcome back to the show.","format":"mp3","mp3_bitrate":128,"latency":"normal"}}'
# If status is READY/RUNNING, poll GET /v1/runs/{runId} with the same API key.

Pricing

$0.000015 per byte using your plan when signed in. Read the final customer charge from price.amount.value after the run finishes. A RUNNING response is not the final bill.

Questions