Video Compose

Erstellt Video-Generierungs-Prompts und generate_video.js-Flags für die pai-pro Filmemacher-Canvas

von Utopai-Research · Utopai-Research/pai-pro

Funktioniert mit Setup ★ 7.6/10

Video Compose — Erstellt Video-Generierungs-Prompts und generate_video.js-Flags für die pai-pro Filmemacher-Canvas

Was es kann

Dispatcher-Fähigkeit für die pai-pro Filmemacher-Canvas, die eine Videoanfrage in einen generate_video.js-Aufruf umwandelt: Sie wählt eines von sieben Mustern (text-to-video, image-to-video, character/location composition, clip extension, clip editing, voice-driven clip, multi-shot ad/MV), erstellt den Prompt mit @Image/@Video/@Audio-Referenzbindung und setzt Dauer, Auflösung, Audio- und Referenz-Flags. Wird ausgelöst, wenn der Benutzer ein Video auf der Canvas generieren, animieren, fortsetzen, neu gestalten oder komponieren oder ein Skript-Shot oder Storyboard als Video rendern möchte. Erfordert die pai-pro-App selbst – einen PAI_KEY, den lokalen Viewer-Server und ein Canvas-Projekt – sodass die CLI, die sie umschließt, nicht eigenständig ausgeführt werden kann.

Testbericht

Ich klonte das Repo, bestätigte, dass skills/video-compose/SKILL.md plus alle vier references/*.md mit HTTP 200 abgerufen werden (und server/cli/generate_video.js und agent-templates/PROJECT_AGENT.md mit 200), und installierte den Ordner in ein temporäres HOME=$(mktemp -d) – SKILL.md und references/ landeten korrekt. Ich konnte den Skill nicht End-to-End ausführen: generate_video.js benötigt PAI_KEY, den laufenden pai-pro Viewer, einen cloudflared Tunnel und Canvas-Knoten-IDs, sodass kein Video-Artefakt existiert und outputMeasured false ist. Was ich gemessen habe: zwei prompt+argv-Artefakte für dieselbe Aufgabe, eine Baseline, die nur aus den parseArgs-Flags der CLI geschrieben wurde, und eine, die streng nach Pattern 6 plus references/video-single-shot.md erstellt wurde, beide durch den server/cli/_ref_guard.js des Repos ausgeführt – beide bestanden den Guard, aber die Baseline (376 Zeichen) beschrieb den Charakter in Prosa ohne @Image1-Bindung neu, stapelte widersprüchliche Kamerabewegungen ("slowly orbits her while pushing in") und hatte keinen once/no-echo-Dialog-Guard und keine negative Zeile, während das Skill-Artefakt (678 Zeichen) die Identität über "The character in @Image1" band, "Speak the quoted line exactly once, no echo, no repeated reads" hinzufügte und mit "no captions, watermarks, distortion, stretching" schloss; ob dies einen besseren Clip ergibt, ist unbestätigt. SKILL.md-Ansprüche stimmen mit der Quelle überein – Ref-Caps (9 Bild / 3 Audio / 3 Video, 1.8-15.2s, 15s aggregiertes Video), Defaults (15s, 16:9, 720p, Audio an) und die zitierten bad_args-Strings stimmen alle genau mit server/cli/_limits.js und model_registry.js überein. Auslöser-Formulierungen, die ich beurteilt habe: SOLLTE auslösen – "Animate this character image into a 6-second rooftop clip where she says 'It's over'" (ja), "Continue the last clip on the canvas — what happens after she walks out?" (ja), "Make a 15-second product promo using the character and location refs on the canvas" (ja); sollte NICHT auslösen – "Trim the first 3 seconds off /Users/me/clip.mp4 and re-encode to h264" (nein: nichts wird generiert, obwohl das bloße Wort "edit" in der Beschreibung dies zum einzig wirklich knappen Fall macht), "Make a storyboard mosaic for scene 2" (nein: das ist image-compose). Keine Sicherheitsmängel in skills/ (keine curl|sh, keine base64, keine Exfiltration oder Injektionstexte); repo-level .env.example dokumentiert, dass der eingebettete Projekt-Agent standardmäßig mit --dangerously-skip-permissions startet, was eine pai-pro Produkteigenschaft und nicht die dieses Skills ist.

Getestet am: 2026-07-31 · Claude Code 2.x (agent harness)

Installation

git clone --depth 1 https://github.com/Utopai-Research/pai-pro.git /tmp/video-compose-src
mkdir -p ~/.claude/skills
cp -R /tmp/video-compose-src/skills/video-compose ~/.claude/skills/video-compose
# Verified: places SKILL.md + references/ (4 files) at ~/.claude/skills/video-compose/ in a clean HOME.
# NOT USABLE STANDALONE. The skill only writes flags for /tmp/video-compose-src/server/cli/generate_video.js,
# which needs the full pai-pro product running:
#   1. cp /tmp/video-compose-src/.env.example /tmp/video-compose-src/.env
#   2. set PAI_KEY=... (paid media API key from https://pai-pro.utopaistudios.com/keys)
#   3. cd /tmp/video-compose-src && ./scripts/setup --agent claude && ./scripts/start.sh
#      (start.sh also launches a cloudflared quick tunnel so the provider can fetch reference assets)
#   4. create a project in the viewer; the skill reads canvas node ids from that project's workflow.json
# Plugin-marketplace alternative: the repo ships .claude-plugin/marketplace.json (plugin name "pai-pro",
# installs all skills at once). Two of its listed skills (add-note, show-dag) point at directories that
# do not exist in the repo tree.
# Each generated clip costs real money; the skill's own text says to stage before firing.

Befehle & Beispiel-Prompts

  • /video-composeErstellt Video-Generierungs-Prompts und generate_video.js-Flags für die pai-pro Filmemacher-Canvas

Skills reagieren auf normale Anfragen — keine Slash-Befehle nötig. Nach der Installation aktivieren Prompts wie diese den Skill (auf Englisch):

  • Generate a video clip from this storyboard frame
  • Animate this character reference into a shot
  • Compose a product promo video sequence