mcpField
T
tuzi-video-gen

tuzi-video-gen

github.com/tuziapiCreative & media39188 installsUpdated 27w ago
Repository

About tuzi-video-gen

A command-line skill for generating videos through the Tuzi API, aimed at users and agents creating clips from prompts or reference images. It supports several named video models, configurable output settings, and sequential segments for longer videos.

Key features

  1. 01Generate video from prompts
  2. 02Use reference images
  3. 03Select model, duration, and size
  4. 04Generate sequential video segments
  5. 05Set defaults with EXTEND.md
  6. 06Retry selected generation errors

Use cases

  1. 01Create a clip from a text prompt
  2. 02Animate a scene using a reference image
  3. 03Build a longer video from linked segments
  4. 04Set project-specific generation defaults

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/tuziapi/tuzi-skills --skill tuzi-video-gen

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

Bundled files

References and scripts installed along with SKILL.md.

references/config/
first-time-setup.md
preferences-schema.md
scripts/
main.ts
types.ts
scripts/providers/
tuzi.ts

Details

From the project README

Video Generation (AI SDK)

Tuzi API video generation backend. Default model: veo3.1.

Script Directory

Agent Execution:

  1. SKILL_DIR = this SKILL.md file's directory
  2. Script path = ${SKILL_DIR}/scripts/main.ts

Step 0: Load Preferences ⛔ BLOCKING

CRITICAL: This step MUST complete BEFORE any video generation. Do NOT skip or defer.

0.1 Check API Key
echo "${TUZI_API_KEY:-not_set}"
grep -s TUZI_API_KEY .tuzi-skills/.env "$HOME/.tuzi-skills/.env"
ResultAction
Key foundContinue to Step 0.2
Key NOT found⛔ Run API key setup (see references/config/first-time-setup.md) → Store key → Then continue
0.2 Check EXTEND.md
test -f .tuzi-skills/tuzi-video-gen/EXTEND.md && echo "project"
test -f "$HOME/.tuzi-skills/tuzi-video-gen/EXTEND.md" && echo "user"
ResultAction
FoundLoad, parse, apply settings
Not found⛔ Run first-time setup (references/config/first-time-setup.md) → Save EXTEND.md → Then continue
PathLocation
.tuzi-skills/tuzi-video-gen/EXTEND.mdProject directory
$HOME/.tuzi-skills/tuzi-video-gen/EXTEND.mdUser home

EXTEND.md Supports: Default model | Default seconds | Default size

Schema: references/config/preferences-schema.md

Usage

# Single video
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "A cat walking in a garden" --video cat.mp4

# With model and duration
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "城市夜景延时" --video city.mp4 --model veo3 --seconds 8

# With reference image
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "Animate this scene" --video out.mp4 --ref source.png

# From prompt file
npx -y bun ${SKILL_DIR}/scripts/main.ts --promptfiles prompt.md --video out.mp4

# Long video (multi-segment with ffmpeg concat)
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "A journey through seasons" --video long.mp4 --segments 3

# Long video with per-segment prompts
npx -y bun ${SKILL_DIR}/scripts/main.ts --video long.mp4 --segments 3 --segment-prompts seg1.md seg2.md seg3.md

Options

OptionDescription
--prompt <text>, -pPrompt text
--promptfiles <files...>Read prompt from files (concatenated)
--video <path>Output video path (required)
--model <id>, -mModel ID (default: veo3.1)
--seconds <n>, -sDuration in seconds
--size <WxH>Video size (e.g., 1280x720, 16x9)
--ref <files...>Reference images
--ref-mode reference|frames|componentsReference image mode
--segments <n>Long video segment count (min 2)
--segment-prompts <files...>Per-segment prompt files
--jsonJSON output

Models

ModelProviderDurationSizesImage Mode
veo3Veo8s16:9, 9:16reference
veo3.1 (default)Veo8s16:9, 9:16frames
veo3.1-4kVeo8s4Kframes
sora-2Sora10/15s16:9, 9:16reference
sora-2-proSora10/15/25s16:9, 9:16, HDreference
kling-v1-6Kling5/10s16:9, 9:16, 1:1reference
seedance-1.5-proSeedance5/10s1080p, 720pframes

Long Video Mode

When --segments N is specified (N >= 2):

  1. Generates N video segments sequentially
  2. After each segment, extracts last frame via ffmpeg
  3. Last frame becomes next segment's reference image (continuity)
  4. All segments concatenated via ffmpeg -f concat
  5. Temporary files cleaned up

Requirements: ffmpeg must be installed.

Per-segment prompts: Use --segment-prompts to provide individual prompt files for each segment. If fewer files than segments, remaining segments use the main --prompt.

Environment Variables

VariableDescription
TUZI_API_KEYTuzi API key (https://api.tu-zi.com)
TUZI_VIDEO_MODELDefault video model (default: veo3.1)
TUZI_BASE_URLCustom Tuzi endpoint (default: https://api.tu-zi.com)

Load Priority: CLI args > EXTEND.md > env vars > <cwd>/.tuzi-skills/.env > ~/.tuzi-skills/.env

Model Resolution

Priority (highest → lowest):

  1. CLI: --model <id>
  2. EXTEND.md: default_model
  3. Env var: TUZI_VIDEO_MODEL
  4. Built-in default: veo3.1

Agent MUST display model info before each generation:

  • Show: Using [model]
  • Show switch hint: Switch model: --model <id> | EXTEND.md default_model | env TUZI_VIDEO_MODEL

Error Handling

  • Missing API key → ⛔ MUST run API key setup from Step 0.1
  • Generation failure → auto-retry once
  • Business failure (content rejected) → no retry, report error
  • Network error → exponential backoff (1.5x, max 60s)
  • Timeout → error after 90 minutes
  • Missing ffmpeg (long video mode) → clear error with install instructions

Extension Support

Custom configurations via EXTEND.md. See Step 0 for paths and supported options.

Comments

Markdown supported