Speech-to-text transcribes spoken audio into written text. Send an audio file to /audio/transcriptions, choose a transcription model, and select the response format you want back.
Basic Usage
import os
import requests
with open("meeting.mp3", "rb") as audio:
response = requests.post(
"https://api.venice.ai/api/v1/audio/transcriptions",
headers={"Authorization": f"Bearer {os.environ['VENICE_API_KEY']}"},
files={"file": audio},
data={
"model": "nvidia/parakeet-tdt-0.6b-v3",
"response_format": "json",
},
)
response.raise_for_status()
print(response.json()["text"])
import { createReadStream } from "node:fs";
import FormData from "form-data";
const form = new FormData();
form.append("file", createReadStream("meeting.mp3"));
form.append("model", "nvidia/parakeet-tdt-0.6b-v3");
form.append("response_format", "json");
const response = await fetch("https://api.venice.ai/api/v1/audio/transcriptions", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.VENICE_API_KEY}`,
...form.getHeaders(),
},
body: form,
});
if (!response.ok) {
throw new Error(await response.text());
}
const transcript = await response.json();
console.log(transcript.text);
curl https://api.venice.ai/api/v1/audio/transcriptions \
-H "Authorization: Bearer $VENICE_API_KEY" \
--form [email protected] \
--form model=nvidia/parakeet-tdt-0.6b-v3 \
--form response_format=json
Common audio formats include mp3, mp4, mpeg, mpga, m4a, wav, webm, flac, and ogg. See the Speech-to-Text Models page for current model support and pricing.
| Format | Use when |
|---|
json | You want a simple { "text": "..." } response. |
text | You want plain text without JSON parsing. |
srt | You need SubRip subtitles. |
vtt | You need WebVTT subtitles. |
verbose_json | You need richer timestamp and segment metadata. |
Use subtitle formats when the transcript will be paired with media playback. Use json or text when the transcript feeds summarization, search, or downstream chat prompts.
Production Tips
- Keep audio clear and avoid overlapping speakers when possible.
- Split very long recordings into smaller chunks if your workflow needs lower latency or easier retries.
- Store the original audio path, model ID, and response format with each transcript for auditability.