SOKE
API ReferenceTranscription

Transcribe

Transcribe video or audio content from a URL or file upload. Returns an async job.

POST /api/v1/transcription

Transcribe video or audio content. Accepts either a video URL or a file upload (max 25MB). This is an async operation — poll GET /api/v1/transcription/{id} for results.

Credits: 1 per request

Content-Type: multipart/form-data

Form Fields

FieldTypeRequiredDescription
urlstringNo*Video URL to transcribe (YouTube, TikTok, Instagram)
filefileNo*Video/audio file to transcribe (max 25MB)

* Provide either url or file, not both.

Example Requests

With URL:

curl -X POST https://api.usesoke.ai/api/v1/transcription \
  -H "X-Soke-Key: sk_live_your_api_key" \
  -F "url=https://youtube.com/watch?v=VIDEO_ID"

With file upload:

curl -X POST https://api.usesoke.ai/api/v1/transcription \
  -H "X-Soke-Key: sk_live_your_api_key" \
  -F "file=@/path/to/video.mp4"

Response

202 Accepted
{
  "success": true,
  "data": {
    "id": "txn_abc123",
    "status": "processing",
    "sourceUrl": "https://youtube.com/watch?v=VIDEO_ID"
  },
  "meta": {
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "processing_time_ms": 200
  }
}

Polling for Results

curl "https://api.usesoke.ai/api/v1/transcription/txn_abc123" \
  -H "X-Soke-Key: sk_live_your_api_key"

Completed response:

{
  "success": true,
  "data": {
    "id": "txn_abc123",
    "status": "completed",
    "transcript": "Welcome to today's video. In this tutorial, we'll cover...",
    "durationSeconds": 612,
    "wordCount": 1850,
    "language": "en"
  }
}

Additional Endpoints

MethodEndpointDescription
GET/api/v1/transcription/{id}Poll transcription status
GET/api/v1/transcriptionList transcription history (paginated)
DELETE/api/v1/transcription/{id}Delete a transcription

Error Codes

CodeStatusDescription
BAD_REQUEST400Neither url nor file provided, or both provided
RATE_LIMIT_EXCEEDED429Rate limit exceeded
INSUFFICIENT_CREDITS402Not enough credits

The transcript output can be passed to the Generate Description endpoint's transcript field for context-aware description generation.

On this page