Back to pipelines

Transcription

Transcribe any video or audio file to text. Timestamps, speaker detection, and 99+ language support.

ModelElevenLabs Scribe v2
0.8

0 – 20

Optional word-boundary substitutions applied to the rendered SRT and TXT, useful when the recognizer mis-hears a specific word (a name, an acronym, a domain term) and writes it the same wrong way every time. Each key is the word as transcribed; the value is the correct spelling. Case-sensitive; matches must align to whole words. Leave empty to ship the transcript exactly as the recognizer wrote it.

Still needed: Video or Audio File

Runs on

API

Recipes using this pipeline

Articles about this pipeline

Transcription API

Call this pipeline from your own code. One request dispatches a run; the model is an input field, not a separate endpoint.

5 inputs
1 required
from 0.8 credits
bun add @pipe2-ai/sdk
import { createClient } from "@pipe2-ai/sdk";

const client = createClient(process.env.PIPE2_TOKEN!);

const { run_pipeline } = await client.RunPipeline({
  pipeline_slug: "transcription",
  input: {
    source_asset_id: "a1b2c3d4-0000-4000-8000-000000000001",
  },
});
pip install pipe2
import asyncio
import os

from pipe2 import Pipe2Client

client = Pipe2Client(token=os.environ["PIPE2_TOKEN"])

run = asyncio.run(client.run_pipeline(
    pipeline_slug="transcription",
    input={
        "source_asset_id": "a1b2c3d4-0000-4000-8000-000000000001",
    },
))
go get github.com/pipe2-ai/sdk-go
client := pipe2.NewClient(os.Getenv("PIPE2_TOKEN"))

input := json.RawMessage(`{
  "source_asset_id": "a1b2c3d4-0000-4000-8000-000000000001"
}`)

run, err := pipe2.RunPipeline(context.Background(), client, "transcription", input)
if err != nil {
    log.Fatal(err)
}
brew install pipe2-ai/tap/pipe2
pipe2 pipelines run \
  --pipeline transcription \
  --input-json '{"source_asset_id": "a1b2c3d4-0000-4000-8000-000000000001"}' \
  --wait

Get an API token →

Parameters

source_asset_id required

Audio or video to transcribe. Asset id returned by an upload. See /docs/api/ for the upload flow.

string
corrections

Optional word-boundary substitutions applied to the rendered SRT and TXT, useful when the recognizer mis-hears a specific word (a name, an acronym, a domain term) and writes it the same wrong way every time. Each key is the word as transcribed; the value is the correct spelling. Case-sensitive; matches must align to whole words. Leave empty to ship the transcript exactly as the recognizer wrote it.

object default [object Object]
diarize

Label who is speaking. Turn on for interviews and multi-speaker recordings.

boolean default false
Show all 5 inputs
language_code

Spoken language. Leave unset to detect it from the audio.

autoenesptfrdehiarjakozh default auto
num_speakers

How many speakers to expect. Leave unset to detect automatically.

integer default 0

Use it from an AI agent

Point any MCP client at pipe2 and your agent gets these tools. It finds this pipeline, reads the same schema above, then runs it.

  • list_pipelines
  • get_pipeline_schema
  • run_pipeline
  • get_pipeline_run_status
  • request_upload
https://mcp.pipe2.ai/mcp
{
  "mcpServers": {
    "pipe2ai": {
      "url": "https://mcp.pipe2.ai/mcp",
      "headers": { "Authorization": "Bearer YOUR_TOKEN" }
    }
  }
}

Full API reference MCP setup CLI reference

AI Video Transcription

Upload any video or audio file and get back an accurate transcript with word-level timestamps. Speaker detection optional. Output as SRT subtitles or plain text, ready for captioning, editing, or repurposing.

What you can do with it

  • Caption videos: generate the SRT, then burn or overlay it for social
  • Repurpose long-form content: feed transcripts into any AI assistant for summaries, clip ideas, and social copy
  • Transcribe interviews + podcasts: multi-speaker recordings with automatic speaker labels
  • Accessibility: make spoken content readable and searchable
  • Translation prep: clean transcript as the source for translated voiceovers

How it works

  1. Upload: video or audio, any common format (MP4, MOV, MP3, WAV, M4A, FLAC)
  2. Pick a language: or leave on auto-detect
  3. Toggle speaker detection: labels each segment with the speaker
  4. Download: SRT with timestamps + plain text transcript

Output formats

  • SRT: subtitle file with millisecond-accurate timestamps, drops straight into video editors
  • Plain text: clean readable transcript for editing, summarization, or translation

Frequently Asked Questions

What file formats are supported?
Any video or audio file, MP4, MOV, AVI, MP3, WAV, M4A, FLAC, and more. The pipeline automatically extracts the audio track from video files.
How accurate is the transcription?
Word-error rates under 5% for clear audio in major languages. Accuracy depends on audio quality, background noise, and speaker clarity.
What is speaker detection?
When enabled, the transcript labels each segment with the speaker who said it ([speaker_0], [speaker_1], etc.). Use the Number of Speakers hint to improve accuracy when you know how many people are in the recording.
Which languages are supported?
99 languages with automatic detection. Set a specific language for best accuracy when you know the source language.
How long does it take?
Typically 10-30% of the audio duration. A 10-minute recording takes 1-3 minutes to transcribe.

Explore more pipelines

See all →
Video Generator
from 9.5
Video Generator
Image Generator
0.2-6.4
Image Generator
Audio Generator
0.7-1.3
Audio Generator
Music Generator
2.5-45.1
Music Generator