Create Transcript Job

Submit audio or video for transcription. The API responds immediately with a UUID that you can poll for status updates.

Endpoint

POST https://app.resemble.ai/api/v2/speech-to-text

Input Options

Direct Upload

$curl --request POST 'https://app.resemble.ai/api/v2/speech-to-text' \
> -H 'Authorization: Bearer YOUR_API_TOKEN' \
> -F 'file=@/path/to/recording.mp4'

Signed Token

$curl --request POST 'https://app.resemble.ai/api/v2/speech-to-text' \
> -H 'Authorization: Bearer YOUR_API_TOKEN' \
> -H 'Content-Type: application/json' \
> --data '{"audio_token": "eyJ..."}'

Remote URL

$curl --request POST 'https://app.resemble.ai/api/v2/speech-to-text' \
> -H 'Authorization: Bearer YOUR_API_TOKEN' \
> -H 'Content-Type: application/json' \
> --data '{"url": "https://example.com/audio.wav"}'

Parameters

ParameterTypeRequiredNotes
audio_tokenstringToken for uploaded audio file (from secure upload).
urlstringHTTPS URL to audio/video file.
filefileAudio/video file upload.
querystringInitial question to ask about the transcript.

Note: One of audio_token, url, or file must be provided. Maximum file size: 500 MB. Maximum duration: 180 minutes. URL download timeout: 30 seconds.

Response

1{
2 "success": true,
3 "item": {
4 "uuid": "550e8400-e29b-41d4-a716-446655440000",
5 "text": null,
6 "words": null,
7 "query": "Summarize the main points",
8 "answer": null,
9 "status": "pending",
10 "file_url": "https://...",
11 "duration_seconds": null,
12 "created_at": "2024-01-15T10:30:00Z",
13 "updated_at": "2024-01-15T10:30:00Z"
14 }
15}

Note: Processing is asynchronous. The text, words, and answer fields will be populated when transcription completes.