Docs / transcribe
Tool Referencev1.0.0experimentalcomplex

transcribe

Transcribes audio from URLs with optional cleanup and provider-aware configuration.

$ npx arrey@latest add transcribe
Category
Media
Arrey Range
>=1.0.0
Examples
2

Input Schema

FieldType
audioUrl
string
language?
string
instruction?
string
clean?
boolean

Output Schema

FieldType
transcript
string
model
string
language?
string

Examples

Transcribe an English meeting recording

{
  "audioUrl": "https://example.com/meeting.wav",
  "language": "en"
}

Transcribe and clean the transcript

{
  "audioUrl": "https://example.com/interview.mp3",
  "clean": true,
  "instruction": "Preserve all company and product names exactly."
}

README Reference

arrey/tools/transcribe (experimental)

Transcribes audio from URLs into text. Supports optional cleanup and instruction-guided post-processing. This code is yours - edit it freely.


Usage

CLI

arrey transcribe https://example.com/meeting.wav
arrey transcribe https://example.com/meeting.wav --language en
arrey transcribe https://example.com/interview.mp3 --instruction "Preserve product names exactly"

SDK

import { arrey } from 'arrey'

const result = await arrey.run('transcribe', {
  audioUrl: 'https://example.com/meeting.wav',
  language: 'en'
})

console.log(result.transcript)

Direct import (tool-local helper)

import { transcribe } from './arrey/tools/transcribe'

const result = await transcribe({
  audioUrl: 'https://example.com/meeting.wav',
  language: 'en',
  temp: 0.1,
  model: 'gpt-4o-mini-transcribe'
})

console.log(result.transcript)

Agent tool (Vercel AI SDK)

import { arrey } from 'arrey'
import { transcribe } from './arrey/tools/transcribe'

const tools = await arrey.toVercelAIFrom([transcribe])

Notes

  • This tool is marked experimental in manifest.json.
  • It is excluded from adapter auto-discovery unless explicitly requested.
  • It expects provider.apiKey and optional provider.endpoint in config.

Customization

Change transcription style

Edit prompt.ts -> system.

Change cleanup behavior

Edit prompt.ts -> cleanup.

Disable cleanup pass

Pass clean: false in input.

Use a tool-specific model

Set in arrey.config.yaml:

tools:
  transcribe:
    provider:
      model: gpt-4o-mini-transcribe

Files

FilePurposeEdit frequency
prompt.tsProvider prompt and cleanup promptOften
index.tsAPI call and post-processing flowSometimes
manifest.jsonMetadata and I/O schemaRarely
README.mdThis fileOptional