GPU Compute / Recipe
Transcription endpoint
Launch a persistent Whisper endpoint using badgr serve --task transcribe. Badgr deploys fedirz/faster-whisper-server automatically and exposes the OpenAI-compatible POST /v1/audio/transcriptions endpoint. Use it directly with the OpenAI SDK — no BYO container needed.
npm install -g badgr-cli then badgr login. Setup guide →1. Start the endpoint
Pass the Whisper model size and --task transcribe. Badgr selects a GPU, deploys faster-whisper-server, and waits for it to be ready:
badgr serve large-v3 --task transcribe --gpu RTX_4090 --max-cost 10
The RTX 4090 fits Whisper large-v3 at 24 GB VRAM. Badgr prints the endpoint URL once the model is loaded (usually under 2 minutes).
Supported model sizes: tiny, base, small, medium, large-v3.
2. Transcribe audio
Export BADGR_ENDPOINT from the URL printed by badgr serve and use the OpenAI SDK:
Python
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["BADGR_API_KEY"],
base_url=os.environ["BADGR_ENDPOINT"],
)
with open("audio.mp3", "rb") as f:
transcript = client.audio.transcriptions.create(
model="large-v3",
file=f,
response_format="text",
)
print(transcript)Node.js
import OpenAI from "openai";
import fs from "fs";
const client = new OpenAI({
apiKey: process.env.BADGR_API_KEY,
baseURL: process.env.BADGR_ENDPOINT,
});
const transcript = await client.audio.transcriptions.create({
model: "large-v3",
file: fs.createReadStream("audio.mp3"),
response_format: "text",
});
console.log(transcript);curl
curl $BADGR_ENDPOINT/v1/audio/transcriptions \ -H "Authorization: Bearer $BADGR_API_KEY" \ -F model=large-v3 \ -F file=@audio.mp3 \ -F response_format=text
3. Stop billing
badgr down <deployment-id>
Terminates the GPU instance. Use badgr receipts to see cost after.
Options
--task transcribeRequired — deploys faster-whisper-server with OpenAI-compatible /v1/audio/transcriptions--gpu RTX_4090Recommended for Whisper — fits large-v3 at 24 GB VRAM--max-cost <$>Auto-stop when spend reaches this amount--count <n>Multiple instances for higher concurrency--no-waitReturn immediately; use badgr logs to confirm startupNext steps