RecoupGet a Free AuditFree Audit

API REFERENCE

Transcribe Audio

On this page
POST/api/content/transcribe

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.

Authentication

x-api-key in header

bearerAuth bearer

Request

cURL
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>required

Audio file URLs to transcribe

minItems: 1

Item properties for audio_urls

string

languagestring

Language code for transcription (e.g. en, es, fr). Defaults to en.

Default: "en"

chunk_levelstring · enum

Granularity of timestamp chunks. Defaults to word-level.

Values: "none", "segment", "word"

Default: "word"

diarizeboolean

Enable speaker diarization. Defaults to false.

Default: false

modelstring

fal.ai model ID. Defaults to fal-ai/whisper

Responses

200Song transcribed successfully

application/json

audioUrlstringrequired

URL of the transcribed audio

fullLyricsstringrequired

Complete transcribed lyrics as a single string

segmentsarray<ContentCreateAudioSegment>required

Timestamped lyric segments

Item properties for segments
startnumberrequired

Segment start time in seconds

endnumberrequired

Segment end time in seconds

textstringrequired

Transcribed text for this segment

segmentCountnumberrequired

Total number of segments returned

400Validation failed — invalid or missing request body fields

application/json

errorstringrequired

Error message describing what went wrong

401Unauthorized — invalid or missing API key

application/json

errorstringrequired

Error message describing what went wrong

500Internal server error

application/json

errorstringrequired

Error message describing what went wrong

Full specification

Download the OpenAPI file for complete schemas, constraints, and examples.

Download content.json
View operation source
json
{
  "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"
          }
        }
      }
    }
  }
}