Back to pipelines

Highlights

Read a transcript, return N editorial picks, the most quotable moments for clipping, chapter generation, or social posts.

ModelClaude Sonnet 4.6
10

1 – 20

Still needed: Transcript (SRT/TXT)

Recipes using this pipeline

Articles about this pipeline

Highlights API

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

4 inputs
1 required
10 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: "highlights",
  input: {
    transcript_asset_id: "a1b2c3d4-0000-4000-8000-000000000002",
  },
});
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="highlights",
    input={
        "transcript_asset_id": "a1b2c3d4-0000-4000-8000-000000000002",
    },
))
go get github.com/pipe2-ai/sdk-go
client := pipe2.NewClient(os.Getenv("PIPE2_TOKEN"))

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

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

Get an API token →

Parameters

transcript_asset_id required

Transcript to find highlights in. Asset id returned by an upload. See /docs/api/ for the upload flow.

string
count

How many highlight moments to return.

integer default 5
language

Transcript language. Leave unset to detect it automatically.

string default en
Show all 4 inputs
style

Natural-language hint, "the funniest moments", "the strongest arguments", "the controversial takes". Leave empty for the default quotable-moments picker.

string

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

Highlights: Editorial Moment Picker

Drop in a transcript (SRT or plain text) and get back a ranked JSON list of the most quotable, hook-worthy moments. The AI reads the full text, applies your editorial directive, and returns each pick with a one-sentence context note and a target clip duration.

What you can do with it

  • Feed the clip-factory recipe: the auto path in clip-factory runs highlights automatically between transcription and the per-clip trim loop, so you skip the manual clips.json step entirely
  • Build chapter markers: use the picks to add YouTube chapter timestamps or podcast show-notes sections
  • Generate social posts: each pick's context note is a ready-to-edit tweet or caption draft
  • Steer the picker: pass a style hint like "the funniest moments" or "the strongest technical arguments" to get topic-specific cuts

How it works

  1. Transcribe your video or audio: run the Transcription pipeline to get an SRT asset in your library
  2. Attach the transcript and set the number of moments you want (default 5, max 20)
  3. Optionally add a style steer: plain English describing the kind of moments you want
  4. Download highlights.json: a JSON array of picks, each with a context note and desired_seconds

Frequently Asked Questions

What transcript formats are supported?
SRT only, the standard subtitle format with timestamps. Plain text without timestamps is not accepted. Generate an SRT with the Transcription pipeline first.
How does the style steer work?
Write a plain-English directive, 'the funniest moments', 'the strongest arguments', 'the most controversial takes', 'the emotional peaks'. Empty uses the built-in default: the most quotable, hook-worthy moments with strong opinions, surprising facts, vivid stories, and clear arguments.
How many moments should I ask for?
5 is a good default for a 30–60 minute recording. For a 10-minute video, 2–3 is usually right. For a multi-hour conference talk, 8–10. The picker clamps to however many distinct moments exist, a 5-minute clip with one main point will return 1 pick even if you ask for 5.
How does this work with the clip-factory recipe?
The clip-factory recipe runs highlights automatically, you don't need to call this pipeline separately unless you want to inspect or edit the picks before trimming. Pass --highlights-count and --highlights-style to the recipe to tune it.
How much does it cost?
10 credits flat, regardless of transcript length or number of picks. The cost comes from the AI analysis, not the transcript length.

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