mcpField
T
tavus-video-gen

tavus-video-gen

github.com/tavus-engineeringCreative & media965 installsUpdated 39w ago
Repository

About tavus-video-gen

A skill for generating personalized videos through the Tavus API, using a replica to speak a script or lip-sync supplied audio. It also supports background options and video status checks, callbacks, listing, and deletion.

Key features

  1. 01Generate videos from scripts or audio
  2. 02Select stock or custom replicas
  3. 03Set website or video backgrounds
  4. 04Request transparent WebM output
  5. 05Check status and manage videos

Use cases

  1. 01Create a replica-led product demo
  2. 02Turn recorded narration into a lip-synced video
  3. 03Generate a video with a website or video background
  4. 04Retrieve status or delete generated videos

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/tavus-engineering/tavus-skills --skill tavus-video-gen

After installing, type/tavus-video-genin Claude Code to confirm it loaded.

Details

From the project README

Tavus Video Generation Skill

Generate personalized AI videos with replicas speaking your script.

Quick Start

curl -X POST https://tavusapi.com/v2/videos \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "replica_id": "rfe12d8b9597",
    "script": "Hey there! Welcome to our product demo."
  }'

Response:

{
  "video_id": "1e30440cf9",
  "status": "queued"
}

Full API Options

curl -X POST https://tavusapi.com/v2/videos \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "replica_id": "rfe12d8b9597",
    "script": "Your script text here",
    "video_name": "Product Demo v1",
    "callback_url": "https://your-webhook.com/video-ready",
    "background_url": "https://example.com/landing-page",
    "background_source_url": "https://s3.../background.mp4",
    "watermark_url": "https://s3.../logo.png",
    "fast": false,
    "transparent_background": false
  }'
Parameters
ParamDescription
replica_idRequired. Stock or custom replica ID
scriptText for replica to speak (use this OR audio_url)
audio_urlPre-recorded audio (.wav/.mp3) for replica to lip-sync
video_nameDisplay name
callback_urlWebhook for completion/error
background_urlWebsite URL to record as background
background_source_urlVideo file URL for background
watermark_urlPNG/JPEG logo overlay
fastQuick render (disables some features)
transparent_backgroundWebM with alpha (requires fast: true)

Using Audio Instead of Script

{
  "replica_id": "rfe12d8b9597",
  "audio_url": "https://s3.../narration.mp3"
}

Supported formats: .wav, .mp3

Background Options

Website Background

Records a scrolling website as the background:

{
  "background_url": "https://example.com/landing-page"
}
Video Background

Uses a video file:

{
  "background_source_url": "https://s3.../promo-bg.mp4"
}
Transparent Background

For compositing in video editors:

{
  "fast": true,
  "transparent_background": true
}

Outputs .webm with alpha channel.

Check Video Status

curl https://tavusapi.com/v2/videos/{video_id} \
  -H "x-api-key: YOUR_API_KEY"

Status values: queued, generating, ready, error, deleted

When ready:

{
  "status": "ready",
  "hosted_url": "https://videos.tavus.io/video/xxx",
  "download_url": "https://stream.mux.com/.../high.mp4",
  "stream_url": "https://stream.mux.com/xxx.m3u8"
}

Webhook Callback

On completion:

{
  "video_id": "1e30440cf9",
  "status": "ready",
  "hosted_url": "https://videos.tavus.io/video/1e30440cf9",
  "download_url": "...",
  "stream_url": "..."
}

On error:

{
  "video_id": "xxx",
  "status": "error",
  "status_details": "Error message here"
}

Scripting Best Practices

  • Keep under 5 minutes for quality/engagement
  • Write conversationally (speak out loud to test)
  • Use punctuation to indicate pauses
  • Clear structure: intro → body → CTA
  • Break long content into multiple videos

List & Delete Videos

# List all videos
curl https://tavusapi.com/v2/videos -H "x-api-key: YOUR_API_KEY"

# Delete video
curl -X DELETE https://tavusapi.com/v2/videos/{video_id} \
  -H "x-api-key: YOUR_API_KEY"

Comments

Markdown supported