kdeps-tools-transcribe_audio
v1.2.0Transcribe an audio or video file to text through a Whisper API: openai (default), groq, or local (a self-hosted OpenAI-compatible Whisper server). Supports mp3, mp4, mpeg, mpga, m4a, wav, webm. Returns the transcribed text. For offline transcription with no API key use transcribe_audio_offline.
set tools / shelf tools
LLM context: ~296 tokens when loaded (prompt or tool definition)
Where it runs
Part of the tools set, used in workflow and agent mode. What the model is told about each built-in tool: its description, usage notes and parameters. kdeps runs the tool itself.
- the agent loop builds the request
- the tool definitions are sent to the modeltools/transcribe_audio
- the model calls a tool
- kdeps runs it
- the result goes back to the model
Loaded by: kdeps (agent loop), /update, /settings, kdeps run, kdeps install, kdeps list, kdeps uninstall, kdeps update
In the code: kdeps (agent loop)agent.RegisterBuiltinToolsagent.definedAs
Install
A kdeps asset: installed with the first-run profile that includes its set, or the first time a command needs it, and updated without a new release.
Pin a version with kdeps install tools/transcribe_audio@<version>.
Contents
Transcribe an audio or video file to text through a Whisper API: openai (default), groq, or local (a self-hosted OpenAI-compatible Whisper server). Supports mp3, mp4, mpeg, mpga, m4a, wav, webm. Returns the transcribed text. For offline transcription with no API key use transcribe_audio_offline.
| Parameter | Type | Description |
|---|---|---|
| file * | string | Absolute path to the audio/video file to transcribe |
| backend | string | Provider: openai (default), groq, or localdefault: openai |
| model | string | Transcription model. Default: whisper-1. Groq: whisper-large-v3.default: whisper-1 |
| baseURL | string | Overrides the backend's API base URL (the .../v1 part) |
| language | string | ISO-639-1 code (e.g. en, fr); empty = auto-detect |
| prompt | string | Spelling hints for names and terms |
| responseFormat | string | text (default), json, verbose_json, srt or vttdefault: text |
| temperature | string | Sampling temperature 0-1 |
HTTP call (declared in YAML, no Go code)
{{if .args.baseURL}}{{.args.baseURL}}{{else if eq .args.backend "groq"}}https://api.groq.com/openai/v1{{else if eq .args.backend "local"}}http://localhost:8080/v1{{else}}https://api.openai.com/v1{{end}}/audio/transcriptionsOffered when set: OPENAI_API_KEY | , GROQ_API_KEY |
- Authorization:
- {{if eq .args.backend "groq"}}{{with .env.GROQ}}Bearer {{.}}{{end}}{{else}}{{with .env.OPENAI}}Bearer {{.}}{{end}}{{end}}
version: 1.2.0
description: 'Transcribe an audio or video file to text through a Whisper API: openai (default), groq, or local (a self-hosted OpenAI-compatible Whisper server). Supports mp3, mp4, mpeg, mpga, m4a, wav, webm. Returns the transcribed text. For offline transcription with no API key use transcribe_audio_offline.'
parameters:
file:
type: string
description: Absolute path to the audio/video file to transcribe
required: true
backend:
type: string
description: 'Provider: openai (default), groq, or local'
enum: [openai, groq, local]
default: openai
model:
type: string
description: 'Transcription model. Default: whisper-1. Groq: whisper-large-v3.'
default: whisper-1
baseURL:
type: string
description: 'Overrides the backend''s API base URL (the .../v1 part)'
language:
type: string
description: 'ISO-639-1 code (e.g. en, fr); empty = auto-detect'
prompt:
type: string
description: 'Spelling hints for names and terms'
responseFormat:
type: string
description: 'text (default), json, verbose_json, srt or vtt'
default: text
temperature:
type: string
description: 'Sampling temperature 0-1'
http:
env:
OPENAI: [OPENAI_API_KEY, ""] # optional: local servers may take it or no key at all
GROQ: [GROQ_API_KEY, ""]
method: POST
url: '{{if .args.baseURL}}{{.args.baseURL}}{{else if eq .args.backend "groq"}}https://api.groq.com/openai/v1{{else if eq .args.backend "local"}}http://localhost:8080/v1{{else}}https://api.openai.com/v1{{end}}/audio/transcriptions'
headers:
Authorization: '{{if eq .args.backend "groq"}}{{with .env.GROQ}}Bearer {{.}}{{end}}{{else}}{{with .env.OPENAI}}Bearer {{.}}{{end}}{{end}}'
files:
file: "{{.args.file}}"
form:
model: "{{.args.model}}"
response_format: "{{.args.responseFormat}}"
language: "{{.args.language}}"
prompt: "{{.args.prompt}}"
temperature: "{{.args.temperature}}"
paths: [file]
timeout: 300s
Versions
| Version | Published | Status |
|---|---|---|
| 1.2.0 | 10/21/2026 | active |
| 1.1.0 | 10/13/2026 | active |
| 1.0.0 | 10/11/2026 | active |
Details
- Author
- kdeps
- License
- Apache-2.0
- Latest Version
- 1.2.0
- Published
- 10/11/2026