Sayd

Transcribe API — File Upload

Upload audio files for offline transcription. The SDK handles getting a pre-authorized upload URL and uploading the file directly — no size limits on Sayd's side. Poll for results when processing completes.

Python
from sayd_ai import Sayd

client = Sayd(api_key="sk-your-key")

# Option 1: Convenience upload (handles everything)
result = client.transcribe.upload(
    "meeting-recording.wav",
    language="multi",
)

# Option 2: Manual upload flow
url_info = client.transcribe.get_upload_url(language="en")
# url_info = {"upload_url": "https://...", "method": "POST"}
# Upload the file directly to the returned URL

# Check transcription status
task = client.transcribe.get(task_id="task-abc123")
print(f"Status: {task['status']}")  # pending → processing → completed
print(f"Text: {task['text']}")

# List all transcription tasks
tasks = client.transcribe.list(limit=20)

API Endpoints

POST/v1/transcribeGet pre-authorized upload URL
GET/v1/transcribeList transcription tasks
GET/v1/transcribe/{id}Get transcription result