AI News Video Pipeline

A fully-automated research-to-video pipeline for portrait talking-head videos about trending AI news. The agent researches, you approve the idea and script, you record, and the pipeline handles broll and captions.

What it does

  1. Research: Claude browses the web for trending AI topics, proposes video ideas. You pick one.
  2. Script: Claude writes a 60–90 second script for your chosen idea. You approve.
  3. Recording: The pipeline pauses and shows you the script as a teleprompter. You record your talking head in the browser.
  4. Transcribe: Your recording is transcribed, which is what the broll and caption steps time themselves against.
  5. Broll: Claude screenshots the web pages it found during research and places them as animated background broll.
  6. Captions: Word-level captions with a green outline burn in over the final cut.

No generated clips. No stock footage. No music. Portrait (9:16).

Running it in the app

The whole pipeline below can be pasted into a template's YAML tab, which is the quickest way to try it: open the editor, switch the center panel to YAML, paste, and Save. The Steps list fills in, and from then on you can edit any step in the Inspector like any other template. Anything that does not parse is underlined with the reason above the editor, and Save and Run stay unavailable until it does.

Two things to set up before the first run: your OpenAI key, under Variables & Service API Keys from the editor's Settings, and a camera you are happy with, since you record the talking head in the browser.

The run stops three times to wait for you: once to pick an idea, once to approve the script, and once to record. That is by design, and the gaps between them are yours; nothing is running while it waits.

Pipeline YAML

version: 1

project:
  name: "AI News Video"
  resolution: [1080, 1920]   # portrait 9:16
  fps: 30
  sample_rate: 48000

timeline:
  levels:
    - name: main
      order: 1
      type: any
      backbone: true
    - name: broll
      order: 2
      type: video
      backbone: false
    - name: captions
      order: 3
      type: video
      backbone: false

pipeline:
  # Step 1: Research trending AI topics, propose ideas, collect broll URLs.
  # review: true pauses here so you can select an idea from the proposals.
  - id: research
    processor: ai_agent
    review: true
    prompt: |
      You are an AI news researcher. Your job:

      1. Search the web for the most trending AI topics RIGHT NOW. Look for:
         - New model releases, major benchmarks, viral demos
         - Controversy or drama in the AI industry
         - Surprising research results or capabilities
         - Things people are actively sharing and arguing about today

      2. Evaluate what you find for viral potential:
         - Has a strong hook ("X can now do Y" / "Everyone is wrong about Z")
         - Under 90 seconds of talking-head material
         - Interesting to a general tech audience, not just ML researchers

      3. Propose exactly 5 video ideas. Format each as:
         **[TITLE]**: [One-sentence hook that opens the video]

      4. For each idea, save 2–3 relevant URLs using save_broll_url. The
         actual pages you'd want to show on screen (announcements, demos,
         papers, leaderboards). NOT search result pages.

      After proposing ideas, stop and wait for the user to select one.

  # Step 2: Write the script for the selected idea.
  # review: true pauses so you can read and approve before recording.
  - id: script
    processor: write_script
    review: true
    input:
      - id: research
        step: research
    prompt: |
      Write a 60–90 second talking-head script for the video idea the user selected.

      Requirements:
      - Opens with a punchy 1-sentence hook. No "Hey guys" or slow build
      - Conversational, first-person, direct to camera
      - Plain language. No jargon without explanation
      - Ends with a clear takeaway or call-to-action
      - No sponsored segments, no intros/outros
      - ~150–200 words total

  # Step 3: Record the talking head.
  # The browser shows the script as a teleprompter during recording.
  - id: record
    processor: av_recorder
    input:
      - id: script
        step: script
    output:
      timeline: main

  # Step 4: Transcribe the recording.
  # av_recorder produces the recorded clip, not its words, so the broll and
  # caption steps need a transcript step between them and the recording.
  - id: transcribe
    processor: generate_transcript
    input:
      - id: footage
        step: record

  # Step 5: Fill broll gaps with animated screenshots of the research pages.
  # Uses the URLs saved by the research agent via save_broll_url.
  # auto_find: false uses only the curated research URLs, with no additional search.
  - id: broll
    processor: broll_screenshot_websource
    input:
      - id: transcript
        step: transcribe
    params:
      backbone_step: record
      auto_find: false
      min_gap_sec: 3.0
      min_duration_sec: 4.0
      max_duration_sec: 8.0
      animation_style: zoom_blur
      zoom_factor: 0.06
    output:
      timeline: broll

  # Step 6: Burn in word-level captions with a green outline.
  - id: captions
    processor: captions
    input:
      - id: transcript
        step: transcribe
      - id: backbone
        step: record
    params:
      outline_color: "#00ff00"
      outline_size: 3
    output:
      timeline: captions

outputs:
  - type: video
    name: ai-news-video
    crf: 18

How the URL handoff works

The research ai_agent calls save_broll_url as it discovers good pages. Those URLs are stored in pipeline memory. When broll_screenshot_websource runs later with auto_find: false, it reads those same URLs from memory and screenshots each one, with no duplicate web searching needed.

If you want Claude to also discover additional broll beyond what the research agent found, set auto_find: true.

Tips

  • More broll variety: increase max_clips on the broll step (default is 5).
  • Longer videos: the script prompt controls length, so change "60–90 seconds" to what you need.
  • Re-record without re-researching: ask the AI Assistant to clear the record and transcribe steps' saved work, or re-run from record with the per-step control on the run page. Research and script stay cached, so you skip straight back to recording. Clear transcribe too, or the new recording is captioned with the old words.
  • Transcription needs a key: generate_transcript uses your workspace's OPENAI_API_KEY. Set it in workspace settings before the first run, or the run stops after you have already recorded.
  • Re-run broll only: clear the broll step's saved work the same way.
  • Caption style: see the captions processor for all font/color/position options.