Container Requirements
small
Functions
build-transcribe-args
fn (input-path: Str, output-dir: Str, opts: TranscribeOpts): Vec
Build whisper CLI arguments after the whisper executable name.
check-box-result
fn (result: Map, tool-name: Str): Map
file-ext
fn (path: Str): Str
join-args
fn (args: Vec): Str
model-to-min-size
fn (model: Str): Str
parse-transcribe-output
fn (stdout: Str?): Map
Parse whisper JSON output (full transcript, segments, detected language).
run-whisper-box
fn (shell-script: Str, box-size: Str, image: Str?, timeout: Int): Map
start-transcribe
fn (input: Str): Map
fn (input: Str, opts: TranscribeOpts): Map
Start a Whisper transcription in a container without waiting for completion.
Returns the box task info from ::box/start. Use ::task/await on the
returned id to wait for the result.
Example
info ::whisper/start-transcribe("hot://uploads/voice.mp3", {model: "small", language: "en"})
result ::task/await(info.id)
small
start-whisper-box
fn (shell-script: Str, box-size: Str, image: Str?, timeout: Int): Map
transcribe
fn (input: Str): Map
fn (input: Str, opts: TranscribeOpts): Map
Transcribe (or translate) audio to text using OpenAI Whisper in a container.
Returns {text: Str, language: Str?, segments: Vec?, url: Str}.
With format: "json" (default), text is the full transcript, segments
holds timed segments, and language is the detected or forced language code.
url is the hot:// URL of the output file (same format as requested).
Box size defaults from the model (tiny/base → small, small → medium, etc.).
Example
out ::whisper/transcribe("hot://uploads/voice.mp3")
out ::whisper/transcribe("hot://uploads/voice.mp3", {
model: "small",
language: "en",
format: "json",
})
small
Types
TranscribeOpts
TranscribeOpts type {
model: Str?,
language: Str?,
format: Str?,
task: Str?,
temperature: Str?,
word-timestamps: Bool?,
initial-prompt: Str?,
image: Str?,
size: Str?,
timeout: Int?
}
Options for Whisper transcription.
Fields
model— Model size:"tiny","base","small","medium","large"(default:"base")language— Language code, e.g."en","fr"(omit for auto-detect)format— Output file format:"txt","json","srt","vtt"(default:"json")task—"transcribe"or"translate"(default: whisper default / transcribe)temperature— Sampling temperature as string, e.g."0"image— Custom Docker image with whisper CLIsize— Box size override (default: derived from model)