YepAPI
AI Models

Fish Audio S2.1 Pro Free

The no-cost S2.1 Pro tier for prototyping — same synthesis, no production latency guarantees.

POST/v1/media/queue
free tier

Overview

S2.1 Pro Free is the no-cost variant of Fish Audio S2.1 Pro, intended for testing, prototyping, and low-volume use. Synthesis quality matches the paid tier, but it carries no production latency or availability guarantees — move to fish-audio/s2.1-pro before you ship.

PropertyValue
Model IDfish-audio/s2.1-pro-free
Aliasfish-free
Upstream Modelfish-audio/s2.1-pro-free:free
CategoryText to Speech
Languagesmultilingual
Outputmp3 (default) or pcm
PricingFree upstream — $0.01 minimum per job

Usage

All media models use the async job queue. Submit a job, then poll for the result.

Step 1: Submit Job

const res = await fetch('https://api.yepapi.com/v1/media/queue', {
  method: 'POST',
  headers: {
    'x-api-key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    model: 'fish-audio/s2.1-pro-free',
    prompt: 'Your text to speak goes here.',
  }),
});
const { data } = await res.json();
// data.jobId — use this to poll for results
curl -X POST https://api.yepapi.com/v1/media/queue \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "fish-audio/s2.1-pro-free", "prompt": "Your text to speak goes here."}'

Step 2: Poll for Result

const status = await fetch(`https://api.yepapi.com/v1/media/status/${data.jobId}`, {
  headers: { 'x-api-key': 'YOUR_API_KEY' },
});
const { data: job } = await status.json();
// job.status — "pending" | "processing" | "completed" | "failed"
// job.result.audio — { mimeType, base64 } when completed
curl https://api.yepapi.com/v1/media/status/JOB_ID \
  -H "x-api-key: YOUR_API_KEY"

Write the audio to a file:

import { writeFileSync } from 'node:fs';

writeFileSync('speech.mp3', Buffer.from(job.result.audio.base64, 'base64'));

Request Body

ParameterTypeRequiredDescriptionDefault
modelstringYesfish-audio/s2.1-pro-free
promptstringYesThe text to speak (max 50,000 bytes)
options.voicestringNoVoice identifierprovider default
options.outputFormatstringNomp3 (default) or pcmmp3
options.speednumberNoPlayback speed multiplier. Honoured only by models that support it1.0

Voices

Fish Audio ships no fixed voice catalogue — omit options.voice and the provider selects its default, or steer the delivery through the input text itself.

Features

  • Same synthesis as the paid S2.1 Pro tier
  • Free upstream — you pay only the $0.01 minimum job charge
  • No production latency or availability guarantee
  • Voice cloning is not routed on this tier

Billing

Speech is billed on the length of the input text, in UTF-8 bytes — for English text one byte is one character. The cost is known before synthesis starts, so the balance check at submit time quotes the exact final charge. Jobs have a $0.01 minimum.

Under the Hood

Powered by OpenRouter's unified speech API.

On this page