API ReferenceText-to-Speech ModelsGoogle Cloud
Neural2
Google Cloud Neural2 — high-quality neural voices, available on all plans.
Google's high-quality neural voices — natural prosody and clarity across 11 languages. The only TTS available on the Free plan, and a low-cost workhorse for clean narration.
| Endpoint | POST /api/v1/tts/synthesize |
Model ID (ttsModel) | google-neural2 |
| Provider | Google Cloud (Free + paid) |
| Character Limit | 3,000 (Free plan: 1,000) |
| Cost | 500 / 1K chars |
Shared conventions
Auth, the voice→provider rule, rate limits, and the full error table live on the Speech API page. Below is only what's specific to Neural2.
Model-specific notes
- Works on every plan, including Free (Free is capped at 1,000 chars/request).
- Supports
speedandpitch. - Language is fixed by the voice (derived from the voice ID, e.g.
en-US-Neural2-D). There is no language-override — pick a voice in the language you need.
Request body
| Parameter | Type | Required | Description |
|---|---|---|---|
text | string | Yes | Text to synthesize (max 3,000 chars) |
voice | string | Yes | A Google Cloud voice ID from GET /api/v1/tts/voices |
ttsModel | string | Yes | Must be "google-neural2" |
speed | number | No | Speaking rate 0.25–4.0 · Default: 1.0 |
pitch | number | No | Pitch 0.0–1.0 (maps to −20…+20 semitones; 0.5 = neutral) · Default: 0.5 |
title | string | No | Title for the saved project |
{
"text": "Welcome to Sonna. Your audio is ready to download.",
"voice": "voice-uuid-neural2",
"ttsModel": "google-neural2",
"speed": 1.0,
"pitch": 0.5
}Response (200 OK)
{
"url": "https://cdn.sonnalabs.app/sonna/api-ephemeral/tts/free/user123/pqr678.mp3",
"remainingCredits": 9850,
"projectCreated": true
}Errors (400 TEXT_TOO_LONG — 3,000, or 1,000 on Free — plus 402, 409, 429, 503) follow the shared Speech API table. No 403: Google voices are available to everyone.