Skip to content

Audio Generation

POST /v1/audio/generations

Create an async audio generation job. Returns 202 Accepted with the job ID.

Request

Terminal window
curl https://ghostmind.optdmsa.com/v1/audio/generations \
-H "Authorization: Bearer sk-gm-..." \
-H "Content-Type: application/json" \
-d '{
"input": "Hello, world!",
"voice": "ar-MA-Standard-A",
"response_format": "wav",
"provider": "google_ai_studio_savio_tts"
}'

Parameters

FieldTypeRequiredDescription
inputstringYesText to synthesize (max 10,000 chars)
voicestringYesVoice identifier
modelstringNoModel name
languagestringNoLanguage code
response_formatstringNoOutput format (default: wav)
providerstringNoProvider override
provider_optionsobjectNoProvider-specific options

Response (202)

{
"id": "job-uuid",
"status": "queued",
"provider": "google_ai_studio_savio_tts",
"voice": "ar-MA-Standard-A"
}

GET /v1/audio/generations/{id}

Get job status.

Response

{
"id": "job-uuid",
"status": "completed",
"provider": "google_ai_studio_savio_tts",
"voice": "ar-MA-Standard-A",
"output_mime_type": "audio/wav",
"output_size_bytes": 102400,
"duration_ms": 2500,
"content_url": "/v1/audio/generations/job-uuid/content"
}

Job Statuses

StatusDescription
createdJob created
validatedRequest validated
queuedJob queued for processing
processingAudio is being generated
completedAudio is ready for download
failedGeneration failed
cancelledJob was cancelled

GET /v1/audio/generations/{id}/content

Download the generated audio. Supports Range requests for partial content.

Terminal window
curl https://ghostmind.optdmsa.com/v1/audio/generations/{id}/content \
-H "Authorization: Bearer sk-gm-..." \
-o audio.wav

POST /v1/audio/generations/{id}/cancel

Cancel a queued or processing job.

POST /v1/audio/generations/{id}/retry

Retry a failed job. Creates a new job with the same parameters.

GET /v1/audio/generations

List jobs in the workspace. Supports status, limit, and offset query parameters.

GET /v1/audio/providers

List available TTS providers.

GET /v1/audio/providers/{provider}/voices

List available voices for a provider. Supports dialect and gender filters.

Next Steps