Caedral Voice V1
Caedral-owned English text-to-speech — model caedral-voice-1, four voices, WAV 24 kHz.
Caedral Voice V1 is a Caedral-owned text-to-speech model. It runs on Caedral infrastructure and is reached only through the public Caedral API. The branded product id caedral-voice is a different, third-party speech product (OpenAI gpt-audio) and bills your prepaid balance.
Model card
| Field | Value |
|---|---|
| Model ID | caedral-voice-1 |
| Owner | Caedral |
| Modality | text → audio |
| Language | English only (Latin script) |
| Voices | caedral-f1, caedral-f2, caedral-m1, caedral-m2 |
| Max input | 2000 characters |
| Speed | 0.5–2.0 inclusive |
| Output | WAV, 24 kHz, mono, PCM16 |
| Endpoint | POST /v1/audio/speech |
| Pays with | Weekly plan credits → prepaid balance |
| Pricing | $0.03 / 1k chars |
Request
Authenticate with a Caedral API key. Send JSON to https://api.caedral.com/v1/audio/speech. The public contract is WAV-only. Speed values above 2.0 are rejected. Voice is required.
curl
curl https://api.caedral.com/v1/audio/speech \ -H "Authorization: Bearer $CAEDRAL_API_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"caedral-voice-1","voice":"caedral-f1","input":"Welcome to Caedral.","speed":1.0,"response_format":"wav"}' \ --output welcome.wavPython
import osimport requests response = requests.post( "https://api.caedral.com/v1/audio/speech", headers={ "Authorization": f"Bearer {os.environ['CAEDRAL_API_KEY']}", "Content-Type": "application/json", }, json={ "model": "caedral-voice-1", "voice": "caedral-f1", "input": "Welcome to Caedral.", "speed": 1.0, "response_format": "wav", }, timeout=240,)response.raise_for_status()open("welcome.wav", "wb").write(response.content)JavaScript
import { writeFile } from "node:fs/promises"; const response = await fetch("https://api.caedral.com/v1/audio/speech", { method: "POST", headers: { Authorization: `Bearer ${process.env.CAEDRAL_API_KEY}`, "Content-Type": "application/json", }, body: JSON.stringify({ model: "caedral-voice-1", voice: "caedral-f1", input: "Welcome to Caedral.", speed: 1.0, response_format: "wav", }),});if (!response.ok) { throw new Error(`Voice request failed: ${response.status}`);}await writeFile("welcome.wav", Buffer.from(await response.arrayBuffer()));PowerShell
$headers = @{ Authorization = "Bearer $env:CAEDRAL_API_KEY" "Content-Type" = "application/json"}$body = @{ model = "caedral-voice-1" voice = "caedral-f1" input = "Welcome to Caedral." speed = 1.0 response_format = "wav"} | ConvertTo-Json Invoke-RestMethod -Method Post -Uri "https://api.caedral.com/v1/audio/speech" -Headers $headers -Body $body -OutFile welcome.wavErrors
Validation failures return HTTP 400 (invalid_request). Overload returns HTTP 429 with Retry-After. A warming runtime returns HTTP 503. Generation timeout returns HTTP 504. Successful synthesis is audio/wav. Failed synthesis is not billed.