Skip to main content
POST
/
v1
/
transcribe-url
curl --request POST \
  --url https://api.sky-scribe.com/v1/transcribe-url \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "audio_url": "https://example.com/audio.mp3",
  "language": "en-US",
  "format": [
    "json",
    "srt",
    "txt"
  ],
  "diarize": true
}
'
{
  "status": "completed",
  "id": "<string>",
  "data": {
    "json": {
      "language": "<string>",
      "text": "<string>",
      "segments": [
        {
          "id": "<string>",
          "start": 123,
          "end": 123,
          "text": "<string>",
          "speaker": "<string>"
        }
      ]
    },
    "doc": {
      "url": "<string>"
    },
    "pdf": {
      "url": "<string>"
    },
    "txt": {
      "url": "<string>"
    },
    "markdown": "<string>",
    "srt": {
      "url": "<string>"
    },
    "vtt": {
      "url": "<string>"
    },
    "csv": {
      "url": "<string>"
    }
  }
}
Submit a remote audio or video URL for transcription. Perfect for transcribing files hosted on cloud storage or social media platforms.
For file uploads instead, see Transcribe from File.

Supported URLs

You can transcribe audio from:
  • Cloud storage (S3, Google Cloud Storage, Azure Blob)
  • Social media platforms (YouTube, Twitter, etc.)
  • Any publicly accessible audio/video URL

Authorizations

Authorization
string
header
required

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

Body

application/json

Transcription request. Must provide audio_url for URL-based transcription.

audio_url
string<uri>
required

Remote audio/video URL (social media or cloud storage).

language
string

(Optional) Language hint (BCP-47 code, e.g., 'en-US', 'es-ES'). Defaults to 'auto' for automatic detection.

format
enum<string>[]

(Optional) Output formats to generate. Available: doc, pdf, txt, markdown, srt, vtt, csv, json. Defaults to ["json"] if not provided.

Available options:
doc,
pdf,
txt,
markdown,
srt,
vtt,
csv,
json
callback
string<uri>

(Optional) Webhook URL for async processing. If provided, the job runs asynchronously and results are sent to this URL when complete. Without callback, the endpoint processes synchronously.

diarize
boolean
default:false

(Optional) Enable speaker diarization to identify different speakers.

team_id
string

(Optional) Team identifier. If not provided, uses your default workspace.

folder_id
string

(Optional) Folder identifier. If not provided, file will be added to the root of the workspace.

output_config
object

(Optional) Configuration for output formatting.

Response

Transcription response. Returns one of two response types:

Option 1 - Completed (status: "completed"): Returned when no callback URL is provided (synchronous processing). Response includes status, id, and data with all requested formats (defaults to json if not specified).

Option 2 - Pending (status: "pending"): Only returned when callback URL is provided (asynchronous processing). Response includes status, id, and poll_url to check progress. Results will be sent to the callback URL when complete.

status
enum<string>
required
Available options:
completed
id
string
required
data
object
required

Map of requested formats to their data. Only formats specified in the request will be present. If no formats were specified, defaults to json only.