API REFERENCE
Transcribe Audio
On this page
/api/content/transcribeTranscribe audio into text with word-level timestamps. Pass one or more audio file URLs in audio_urls. Returns the full transcript and an array of timed segments.
Authentication
x-api-key in header
bearerAuth bearer
Request
curl --request POST \
--url 'https://api.recoupable.dev/api/content/transcribe' \
--header 'x-api-key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"audio_urls": [
"string"
]
}'Request body required
Audio transcription parameters
application/json
audio_urlsarray<string>requiredAudio file URLs to transcribe
minItems: 1
Item properties for audio_urls
string
languagestringLanguage code for transcription (e.g. en, es, fr). Defaults to en.
Default: "en"
chunk_levelstring · enumGranularity of timestamp chunks. Defaults to word-level.
Values: "none", "segment", "word"
Default: "word"
diarizebooleanEnable speaker diarization. Defaults to false.
Default: false
modelstringfal.ai model ID. Defaults to fal-ai/whisper
Responses
200Song transcribed successfully+
application/json
audioUrlstringrequiredURL of the transcribed audio
fullLyricsstringrequiredComplete transcribed lyrics as a single string
segmentsarray<ContentCreateAudioSegment>requiredTimestamped lyric segments
Item properties for segments
startnumberrequiredSegment start time in seconds
endnumberrequiredSegment end time in seconds
textstringrequiredTranscribed text for this segment
segmentCountnumberrequiredTotal number of segments returned
400Validation failed — invalid or missing request body fields+
application/json
errorstringrequiredError message describing what went wrong
401Unauthorized — invalid or missing API key+
application/json
errorstringrequiredError message describing what went wrong
500Internal server error+
application/json
errorstringrequiredError message describing what went wrong
Full specification
Download the OpenAPI file for complete schemas, constraints, and examples.
Download content.jsonView operation source
{
"description": "Transcribe audio into text with word-level timestamps. Pass one or more audio file URLs in `audio_urls`. Returns the full transcript and an array of timed segments.",
"security": [
{
"apiKeyAuth": []
},
{
"bearerAuth": []
}
],
"requestBody": {
"description": "Audio transcription parameters",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContentCreateAudioRequest"
}
}
}
},
"responses": {
"200": {
"description": "Song transcribed successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContentCreateAudioResponse"
}
}
}
},
"400": {
"description": "Validation failed — invalid or missing request body fields",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContentErrorResponse"
}
}
}
},
"401": {
"description": "Unauthorized — invalid or missing API key",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContentErrorResponse"
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContentErrorResponse"
}
}
}
}
}
}