AgentSkillsCN

tavus-video-gen

使用Tavus副本生成AI视频。在根据脚本或音频制作个性化视频、添加自定义背景、水印,或大规模生成视频时使用此功能。内容涵盖视频生成API,但不涉及实时对话。

SKILL.md
--- frontmatter
name: tavus-video-gen
description: Generate AI videos with Tavus replicas. Use when creating personalized videos from scripts or audio, adding custom backgrounds, watermarks, or generating videos at scale. Covers the video generation API, not real-time conversations.

Tavus Video Generation Skill

Generate personalized AI videos with replicas speaking your script.

Quick Start

bash
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:

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

Full API Options

bash
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

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

Supported formats: .wav, .mp3

Background Options

Website Background

Records a scrolling website as the background:

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

Video Background

Uses a video file:

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

Transparent Background

For compositing in video editors:

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

Outputs .webm with alpha channel.

Check Video Status

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

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

When ready:

json
{
  "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:

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

On error:

json
{
  "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

bash
# 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"