⌘K

Vtrix CLI Agent Integration

A complete guide to integrating Vtrix CLI in agent environments like Claude Code, Cursor, and Codex.

Search and Install a Skill via CLI

Agents can call vtrix skills directly to search SkillHub and install the skills they need — no manual doc lookup required.

Send this prompt to your Agent to let it find the Skill it needs:
Install this skill https://vtrix.ai/skills/skill.md and follow the instructions to search Skills in vtrix skillhub
1

Search for the Skill you need

# Keyword search
vtrix skills find "video generation"
Search results for "video generation" (3 found)

  seedance_2_0          Seedance V2.0 Video Generation     ★ 4.8  ↓ 12.4k
  seedance_2_0_fast     Seedance V2.0 Fast                 ★ 4.6  ↓ 8.1k
  kirin-video-suite     Kirin Video Suite                  ★ 4.5  ↓ 3.2k
# Browse by category, sorted by popularity
vtrix skills list --category video --sort stars
2

Global install (auto-detects target agent)

vtrix skills add seedance_2_0 -g
Detecting Agent environment...
  ✓ Claude Code detected at ~/.claude/skills/

Installing seedance_2_0 v2.1.0...
  ✓ Downloaded
  ✓ Installed to ~/.claude/skills/seedance_2_0/

Skill ready. Restart Claude Code to activate.
3

The agent can now be invoked via natural language

After restarting the agent, the Skill loads automatically. The agent reads the Skill file to understand the parameter spec and can invoke the CLI directly via natural language instructions to submit generation tasks.


Generate Assets with a Multimodal Skill

Using Seedance 2.0 (spark_dance_v2_0) as an example — a complete walkthrough from install to generation in an agent environment.

Install the Skill

vtrix skills add seedance_2_0 -g --yes
✓ Installed seedance_2_0 v2.1.0 → ~/.claude/skills/seedance_2_0/

Agent invocation example

Once installed, an agent (e.g. Claude Code) can trigger the Skill directly via natural language. The Skill internally calls vtrix run to complete the generation:

User: Generate a 10-second cinematic timelapse of a city at night, 1080p, landscape

Agent (internal execution):

vtrix run spark_dance_v2_0 \
  --param prompt="cinematic timelapse of city lights at night, cars streaming, urban skyline" \
  --param duration=10 \
  --param resolution=1080p \
  --param ratio=16:9 \
  --output url
Submitting task...
✓ Task created: task_xyz001

Waiting for result...
██████████████████████████  100%  Done

✓ https://cdn.vtrix.ai/outputs/task_xyz001/output.mp4

Image to video

vtrix run spark_dance_v2_0 \
  --param content='[{"type":"image_url","image_url":"https://example.com/city.jpg"},{"type":"text","text":"timelapse, lights flickering, crowd moving"}]' \
  --param duration=8 \
  --param resolution=1080p \
  --output url
✓ https://cdn.vtrix.ai/outputs/task_xyz002/output.mp4

Consuming results in scripts / agent toolchains

# Capture the URL directly
VIDEO_URL=$(vtrix run spark_dance_v2_0 \
  --param prompt="ocean waves at sunset" \
  --param duration=5 \
  --output url)

# Or get full JSON and extract with jq
VIDEO_URL=$(vtrix run spark_dance_v2_0 \
  --param prompt="ocean waves at sunset" \
  --output json | jq -r '.output[0].content[0].url')

echo "Generated: $VIDEO_URL"
Async scenarios

vtrix run polls automatically until completion. If you need to control the polling cadence yourself (e.g. submitting multiple tasks in parallel), use --output json to get the task_id, then query manually with vtrix task status.


Response Structure

{
  "id": "task_xyz001",
  "status": "completed",
  "model": "spark_dance_v2_0",
  "output": [{
    "content": [{
      "type": "video",
      "url": "https://cdn.vtrix.ai/outputs/task_xyz001/output.mp4",
      "duration": "10.0"
    }]
  }],
  "usage": { "cost": "0.43334", "quantity": 10 },
  "metadata": { "completed_at": 94.51 }
}