POST /v2/ai/audio/transcriptions
Synchronous file transcription. Upload audio or pass a URL, get text back.
Feature Support
If you’re coming from alternative providers:| Feature | Status |
|---|---|
| OpenAI SDK compatible | Yes — swap base_url and api_key, existing code works |
| Multi-engine selection | Yes — 3 models behind one endpoint |
| File upload | Yes |
| URL transcription | Yes (file_url) |
| Timestamps (segment) | Yes (verbose_json) |
| Timestamps (word-level) | Deepgram only (via model_config) |
| Diarization | Deepgram only (via model_config) |
| Smart formatting | Deepgram only (via model_config) |
| Multilingual | Model-dependent — whisper-turbo: 80+ languages, whisper-tiny: 50+ languages, Deepgram models support language coverage based on the selected model |
| Async / webhooks | No |
| Multichannel | No (forced mono) |
| Export formats (SRT/VTT) | No |
| Audio event tagging | No |
| YouTube/TikTok URL | No |
| Transcript retrieval | No |
| File size limit | 100 MB |
Quick Start
from openai import OpenAI
client = OpenAI(
api_key="YOUR_TELNYX_API_KEY",
base_url="https://api.telnyx.com/v2",
)
result = client.audio.transcriptions.create(
model="openai/whisper-large-v3-turbo",
file=open("audio.mp3", "rb"),
)
import OpenAI from "openai";
import fs from "fs";
const client = new OpenAI({
apiKey: "YOUR_TELNYX_API_KEY",
baseURL: "https://api.telnyx.com/v2",
});
const result = await client.audio.transcriptions.create({
model: "openai/whisper-large-v3-turbo",
file: fs.createReadStream("audio.mp3"),
});