Vif
Declarative Screen Capture

Agentic Asset GenerationCLI-native. Everything is a file. Built for AI agents.

Agent-First
Declarative
LLM-Ready

Storyboards are YAML. Configs are files. Assets have versions.Let your agent iterate on video production through conversation.

storyboard.yaml
name: product-demo
output: demo.mp4
audio:
  file: music.mp3
  volume: 0.7
  fadeOut: 2
sequence:
  - source: intro.mp4
    duration: 3
  - source: features.mp4
    transition: crossfade

Then run: vif render storyboard.yaml

pnpm install -g @arach/vif

Everything is a File

Storyboards, configs, takes—all stored as files. Let your AI agent iterate on video production through natural conversation.

storyboard.yaml

Declarative Storyboards

Define video compositions in YAML. Sequences, transitions, audio tracks—all version-controlled and agent-editable.

vif take

Take Management

Built-in versioning for assets. Create takes, list history, revert to any version. Your agent can iterate freely.

vif mix

Audio Sync & Mixing

Analyze BPM, detect beats, mix audio with fade controls. Sync your cuts to the music automatically.

vif render

CLI-Native

Every operation is a command. No GUI, no clicks. Perfect for agent tool-use and automation pipelines.

vif shot

Full Capture Suite

Screenshots, video recording, GIF creation, web optimization. All the primitives your agent needs.

Agentic

Conversation-Driven

Iterate through conversation. Agent edits YAML, runs render, reviews output, refines. Natural workflow.

Agent workflow: Edit YAML → Run vif render → Review → Iterate

Built with Vif

Real projects using Vif for asset generation. Declarative configs, automated captures, production-ready output.

Speakeasy screenshot

Speakeasy

Visit

Text-to-speech library landing page. Screenshots and demo video generated with Vif for the hero section.

Landing PageDemo VideoScreenshots
Vif Asset Viewer

Vif Asset Viewer

Dogfooding

Auto-generated HTML gallery for reviewing captured assets. This screenshot was captured using Vif itself.

GallerySelf-hostedAuto-generated

Agent Workflow

Everything is a file. Your agent edits YAML, runs commands, and iterates through conversation.

1CLI Commands

Render a storyboard
vif render storyboard.yaml
Create a take
vif take new demo.mp4 "shortened intro"
Mix audio
vif mix video.mp4 music.mp3 out.mp4 --volume 0.7 --fade-out 2
Analyze audio
vif analyze music.mp3 --bpm 120
Screenshot an app
vif shot --app Safari output.png

2Storyboard File

storyboard.yaml
# storyboard.yaml - Agent edits this file
name: product-demo
output: final.mp4

audio:
  file: background-music.mp3
  volume: 0.6
  fadeIn: 1
  fadeOut: 2

sequence:
  - source: intro-screen.mp4
    duration: 3

  - source: feature-showcase.mp4
    transition: crossfade

  - source: call-to-action.mp4
    duration: 5

3Iterate Through Conversation

Agent iteration loop
# Your agent can iterate on video production:

# 1. Agent creates/edits storyboard.yaml
# 2. Agent runs:
vif render storyboard.yaml

# 3. Agent reviews output, creates a take:
vif take new final.mp4 "v1 - initial cut"

# 4. Agent adjusts storyboard.yaml
# 5. Agent re-renders and compares
vif render storyboard.yaml
vif take list final.mp4

Requirements: macOS, Node.js 18+, ffmpeg (for video processing)

Install ffmpeg: brew install ffmpeg