Skip to main content
POST
/
api
/
transcribe
cURL
curl --request POST \
  --url https://recoup-api.vercel.app/api/transcribe \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "audio_url": "https://example.com/song.mp3",
  "account_id": "550e8400-e29b-41d4-a716-446655440000",
  "artist_account_id": "550e8400-e29b-41d4-a716-446655440001",
  "title": "My Song",
  "include_timestamps": false
}
'
{
  "success": true,
  "audioFile": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "fileName": "<string>",
    "storageKey": "<string>"
  },
  "transcriptFile": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "fileName": "<string>",
    "storageKey": "<string>"
  },
  "text": "<string>",
  "language": "<string>"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Audio transcription request

audio_url
string
required

Public URL to the audio file (mp3, wav, m4a, webm)

Example:

"https://example.com/song.mp3"

account_id
string<uuid>
required

Owner account ID for file storage

Example:

"550e8400-e29b-41d4-a716-446655440000"

artist_account_id
string<uuid>
required

Artist account ID for file storage

Example:

"550e8400-e29b-41d4-a716-446655440001"

title
string

Optional title for the audio and transcription files

Example:

"My Song"

include_timestamps
boolean
default:false

Whether to include timestamps in the markdown transcript

Response

Audio transcribed successfully

success
boolean
required

Whether the transcription was successful

audioFile
object
required

Information about the saved audio file

transcriptFile
object
required

Information about the saved transcript file

text
string
required

The full transcription text

language
string

Detected language code (e.g., 'en', 'es', 'fr')