curl --location 'https://api.zerogpu.ai/v1/audio/transcriptions' \
--header 'x-api-key: YOUR_API_KEY' \
--form 'model="whisper-tiny"' \
--form 'file=@"/path/to/audio.mp3"'
from openai import OpenAI
client = OpenAI(
base_url="https://api.zerogpu.ai/v1",
api_key="YOUR_API_KEY", # sent as Authorization: Bearer
)
with open("/path/to/audio.mp3", "rb") as audio:
transcript = client.audio.transcriptions.create(
model="whisper-tiny",
file=audio,
)
print(transcript.text)
import fs from "node:fs";
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.zerogpu.ai/v1",
apiKey: "YOUR_API_KEY", // sent as Authorization: Bearer
});
const transcript = await client.audio.transcriptions.create({
model: "whisper-tiny",
file: fs.createReadStream("/path/to/audio.mp3"),
});
console.log(transcript.text);
{
"text": "the quick brown fox jumps over the lazy dog."
}
{
"task": "transcribe",
"language": "english",
"duration": 1.76,
"text": "Hello from Zero GPU.",
"segments": [
{
"id": 0,
"seek": 0,
"start": 0.0,
"end": 2.0,
"text": " Hello from Zero GPU.",
"tokens": [50364, 2425, 490, 17182, 18407, 13, 50464],
"temperature": 0.0,
"avg_logprob": -0.797803,
"compression_ratio": 0.724138,
"no_speech_prob": 0.023181
}
]
}
Audio Models
Transcriptions
Transcribe audio into text with whisper-tiny.
POST
/
audio
/
transcriptions
curl --location 'https://api.zerogpu.ai/v1/audio/transcriptions' \
--header 'x-api-key: YOUR_API_KEY' \
--form 'model="whisper-tiny"' \
--form 'file=@"/path/to/audio.mp3"'
from openai import OpenAI
client = OpenAI(
base_url="https://api.zerogpu.ai/v1",
api_key="YOUR_API_KEY", # sent as Authorization: Bearer
)
with open("/path/to/audio.mp3", "rb") as audio:
transcript = client.audio.transcriptions.create(
model="whisper-tiny",
file=audio,
)
print(transcript.text)
import fs from "node:fs";
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.zerogpu.ai/v1",
apiKey: "YOUR_API_KEY", // sent as Authorization: Bearer
});
const transcript = await client.audio.transcriptions.create({
model: "whisper-tiny",
file: fs.createReadStream("/path/to/audio.mp3"),
});
console.log(transcript.text);
{
"text": "the quick brown fox jumps over the lazy dog."
}
{
"task": "transcribe",
"language": "english",
"duration": 1.76,
"text": "Hello from Zero GPU.",
"segments": [
{
"id": 0,
"seek": 0,
"start": 0.0,
"end": 2.0,
"text": " Hello from Zero GPU.",
"tokens": [50364, 2425, 490, 17182, 18407, 13, 50464],
"temperature": 0.0,
"avg_logprob": -0.797803,
"compression_ratio": 0.724138,
"no_speech_prob": 0.023181
}
]
}
Limits
| Limit | Value |
|---|---|
| File size | 25 MB |
| Audio duration | 10 minutes |
| Formats | flac, m4a, mp3, mp4, mpeg, mpga, oga, ogg, wav, webm |
POST /v1/audio/translations, without language.
curl --location 'https://api.zerogpu.ai/v1/audio/transcriptions' \
--header 'x-api-key: YOUR_API_KEY' \
--form 'model="whisper-tiny"' \
--form 'file=@"/path/to/audio.mp3"'
from openai import OpenAI
client = OpenAI(
base_url="https://api.zerogpu.ai/v1",
api_key="YOUR_API_KEY", # sent as Authorization: Bearer
)
with open("/path/to/audio.mp3", "rb") as audio:
transcript = client.audio.transcriptions.create(
model="whisper-tiny",
file=audio,
)
print(transcript.text)
import fs from "node:fs";
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.zerogpu.ai/v1",
apiKey: "YOUR_API_KEY", // sent as Authorization: Bearer
});
const transcript = await client.audio.transcriptions.create({
model: "whisper-tiny",
file: fs.createReadStream("/path/to/audio.mp3"),
});
console.log(transcript.text);
{
"text": "the quick brown fox jumps over the lazy dog."
}
{
"task": "transcribe",
"language": "english",
"duration": 1.76,
"text": "Hello from Zero GPU.",
"segments": [
{
"id": 0,
"seek": 0,
"start": 0.0,
"end": 2.0,
"text": " Hello from Zero GPU.",
"tokens": [50364, 2425, 490, 17182, 18407, 13, 50464],
"temperature": 0.0,
"avg_logprob": -0.797803,
"compression_ratio": 0.724138,
"no_speech_prob": 0.023181
}
]
}
Authorizations
ApiKeyBearerAuth
Your ZeroGPU API key. Create one in the dashboard under API keys. Send it on every request.
Body
multipart/form-data
The audio file to transcribe.
Model identifier. The endpoint serves whisper-tiny.
Available options:
whisper-tiny Example:
"whisper-tiny"
ISO-639-1 code, such as en. Detected automatically when omitted.
Example:
"en"
Text to guide spelling and style, such as names or jargon.
Maximum string length:
4096json and verbose_json return application/json; text, srt, and vtt return text/plain.
Available options:
json, text, srt, verbose_json, vtt Sampling temperature.
Required range:
0 <= x <= 1segment (default), word, or both. Requires verbose_json.
Available options:
segment, word Response
The transcript, in the requested response_format.
json returns { text }. verbose_json adds task, language, duration, and segments and/or words.
The transcript.

