Zum Hauptinhalt springen
Das Venice Video Harness ist ein Community-Toolkit – agent-first und Venice-optimiert – für konsistenzorientierte Videoerstellung in beliebiger Länge. Es macht aus einem IDE-Agenten (Claude Code, Cursor, Codex usw.) den Operator eines wiederverwendbaren Venice-Produktionssystems, das über 50 Venice-Video-, -Image-, -Audio- und -Musikmodelle abdeckt.

GitHub: venice-video-harness

MIT-Lizenz. Community-gepflegt.

Charakter-konsistentes Video

Charaktere, Stimmen und Ästhetik über eine ganze Serie hinweg festziehen

Storyboard-to-Video

Zwei-Pass-Panel-Generierung mit Venice-Multi-Edit-Verfeinerung

Text-first-Editing

Lokal mit whisper.cpp transkribieren, aus einem 12-KB-Pack schneiden, an jeder Schnittgrenze selbst evaluieren

Was das ist

Die meisten Venice-Integrationen sind dünne Wrapper um API-Aufrufe. Das Venice Video Harness ist die höhere Schicht, die zwischen deinem Agenten und der Venice-API sitzt:
  • Orchestrierungsregeln in CLAUDE.md
  • Wiederverwendbare Playbooks in .claude/commands/ (19 Workflow-Commands)
  • Spezialisierte Agenten in .claude/agents/ (art-director, prompt-engineer, cut-qa und mehr)
  • Venice-Produktionsskills in .claude/skills/ (kompatibel mit dem Agent Skills-Format)
  • TypeScript-Ausführungsschicht in src/
  • Umfangreiches Modellverzeichnis mit über 50 Venice-Video-, -Image-, -Audio- und -Musikmodellen
Gebaut für Creator, die Folgendes produzieren:
  • Charakter-konsistente Videoprojekte (jedes Genre, jede Länge)
  • Stilfeste Serien oder Kampagnen
  • Storyboard-to-Video-Workflows
  • Short- und Long-Form-Narrative
  • Markenstarke cinematische Sequenzen, Trailer und Teaser
  • Social-Series mit wiederkehrenden Charakteren

Erste Schritte

Voraussetzungen

Node.js 20+

Neueste LTS empfohlen

ffmpeg + ffprobe

Im PATH verfügbar

Venice API-Schlüssel

Optional für die Editing-Pipeline: whisper-cpp für lokale Transkription installieren.
brew install whisper-cpp
mkdir -p ~/.cache/whisper.cpp
curl -L -o ~/.cache/whisper.cpp/ggml-base.en.bin \
  https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.en.bin

Einrichtung

1

Harness klonen

git clone https://github.com/jordanurbs/venice-video-harness.git
cd venice-video-harness
2

API-Schlüssel konfigurieren

cp .env.example .env
# VENICE_API_KEY zur .env hinzufügen
3

Installieren und builden

npm install
npm run build
4

In deinem Agenten öffnen

Öffne das Projekt in Cursor, Claude Code oder einer beliebigen IDE mit Agent-Chat. Der Agent liest CLAUDE.md und die Playbooks automatisch.Probier eine dieser ersten Nachrichten:
  • „Set up this Venice video harness for first use”
  • „Create a new character-consistent video series”
  • „Generate a 30-second branded video sequence”
  • „Build a multi-episode narrative with locked characters”
  • „Create a product launch trailer with consistent visual style”

Was an dem Harness Venice-optimiert ist

  • Bild-Prompts, abgestimmt auf Venice-Image-Modelle wie seedream-v5-lite, nano-banana-pro, flux-2-pro/max und mehr
  • Zwei-Pass-Panel-Generierung mit Venice-Multi-Edit-Verfeinerung zur Charakter-Korrektur
  • Model-Routing-Logik für Action-, Atmosphären- und Charakter-Konsistenz-Stufen
  • Referenzbewusste Videogenerierung, die elements, reference_image_urls und scene_image_urls pro Modell korrekt nutzt
  • Umgebungsbewusste Prompt-Anpassung für Tag-vs-Nacht-Szenen
  • Venice-native Audio-Pfade für TTS (Kokoro, Qwen3, ElevenLabs), SFX und Musik
  • Kostenabschätzung vor der Generierung via /video/quote und /audio/quote
  • Modellbewusster Parameter-Aufbau, der automatisch Parameter überspringt, die das Zielmodell nicht unterstützt

Standardrouting der Modelle

Die Standardeinstellungen sind bewusst meinungsstark, weil Konsistenz das Ziel ist. Aktuelles Routing (April 2026): Seedance 2.0 R2V standardmäßig. Kling O3 R2V als Fallback bei 3+ Charakteren in einer Szene. Seedance 2.0 i2v für Establishing-Shots.
RolleStandardmodellWann verwendet
Charakter-Shots (1–2 Charaktere)seedance-2-0-reference-to-videoStandard-R2V mit flachen reference_image_urls, @Image-Tags, bis zu 15 s, nativer Stereo-Sound
Charakter-Shots (3+ Charaktere)kling-o3-standard-reference-to-videoAuto-Fallback mit strukturierten elements für Multi-Charakter-Identität
Establishing / Stimmung / Actionseedance-2-0-image-to-videoKeine Charaktere; epische Kino-Qualität, bis zu 15 s
Diese sind pro Projekt über series.json → videoDefaults überschreibbar. Für eine Nicht-Seedance-Familie (z. B. Accounts ohne Seedance-Zugriff) videoDefaults auf kling-o3-standard-reference-to-video und veo3.1-fast-image-to-video setzen.
Seedance-Gesichtsregel: Seedance 2.0 blockiert gesichtshaltige Input-Bilder, die nicht von seedream-v5-lite oder seedream-v5-lite-edit erzeugt wurden. Das Harness löst das automatisch, indem es Charakter-Bilder über Seedream routet und vor jedem Seedance-Aufruf ein Pre-Flight-Gate ausführt.

Unterstützte Venice-Modelle

Video (April 2026)

Familiei2vt2vMax-DauerAudioHinweise
Seedance 2.0i2v, R2Vt2v15 sJa (Stereo, Lip-Sync 8+ Sprachen)#1 Ranking. R2V: flache reference_image_urls, @Image-Tags.
Kling V3Pro, StandardPro, Standard15 sJaend_image_url für Frame-Targeting
Kling O3Pro, Std, Pro R2V, Std R2VPro, Standard15 sJaR2V: elements, reference_image_urls, scene_image_urls
Kling 2.6 / 2.5 TurboProPro10 s2.6: Ja / 2.5: Neinend_image_url
Veo 3.1Fast, FullFast, Full8 sJaBis zu 4K-Auflösung
Sora 2Standard, ProStandard, Pro12 sJaBis zu 1080p
Wan 2.6 / 2.5Std, Flash / JaStd / Ja15 s / 10 sJaaudio_url-Input
LTX Video 2.0Fast, Full, v2.3, 19BFast, Full, v2.3, 19B20 sJaBis zu 4K, längstes Synced-Audio
LongcatStd, DistilledStd, Distilled30 sNeinLängster Single-Shot
Vidu Q3JaJa16 sJareference_image_urls
PixVerse v5.6Std, TransitionStandard8 sJaTransition: end_image_url
Grok ImagineJaJa15 sJaBreite Aspect-Ratio-Unterstützung

Image, Audio und Musik

  • Image (22+ Modelle): nano-banana-pro/2, gpt-image-2, flux-2-pro/max, grok-imagine, qwen-image-2-pro, recraft-v4-pro, seedream-v4 / v5-lite, lustify-sdxl/v7, wai-Illustrious und mehr
  • Multi-Edit: qwen-edit, flux-2-max-edit, nano-banana-pro-edit, seedream-v5-lite-edit, gpt-image-2-edit und mehr
  • TTS: tts-kokoro (50+ Stimmen), tts-qwen3-0-6b/1-7b, elevenlabs-tts-v3, elevenlabs-tts-multilingual-v2
  • Musik: elevenlabs-music, minimax-music-v2, ace-step-15, stable-audio-25
  • SFX: elevenlabs-sound-effects-v2, mmaudio-v2-text-to-audio

Produktions-Pipelines

Generierungs-Pipeline

End-to-End-Narrative-Video (Skript → Storyboard → Video → Audio → Assembly):
npm run dev -- produce-episode -p output/my-series -e 1
Die Referenzimplementierung in src/mini-drama/ deckt ab:
  • Serien-/Charakter-/Episoden-Management
  • LLM-unterstütztes Skript-Workshopping
  • Zwei-Pass-Storyboard-Generierung (generieren + Multi-Edit-Refinement)
  • Vision-basierte Panel-QA
  • Videogenerierung mit Frame-Chaining
  • Layered Audio-Post-Produktion
  • Subtitle-Burn-In und finale Assembly

Editing-Pipeline

Schneide bereits vorhandene Medien (Venice-generierte Shots oder echtes Rohmaterial). Text-first: Das LLM liest ein kompaktes takes_packed.md (~12 KB pro 40 min Audio), statt Frames aus Video zu dumpen. Die fünf Schritte:
1

Transkribieren

Lokales whisper.cpp erzeugt pro Quelle *.words.json + takes_packed.md.
2

Pack lesen

Das LLM bildet die Cut-Strategie allein aus dem Text.
3

Bestätigen

Schlägt die Strategie vor und wartet auf „yes / revise / cancel”.
4

EDL rendern

JSON-Cut-Liste → ffmpeg-concat mit 30 ms Audio-Fades. Archive-first, sodass Originale nie überschrieben werden.
5

Self-Eval

Der cut-qa-Agent führt an jeder Schnittgrenze 6 programmatische Checks aus; maximal 3 Fix-Iterationen.
Die cut-qa-Checks fangen Aspect-Ratio-Regressionen, Frame-Hash-Sprünge innerhalb eines Worts, VO-Trunkierungen, Beleuchtungs-Diskontinuitäten, Audio-Peaks über -6 dBFS und Caption-Überlappung mit Text im Bild ab.
Die Editing-Pipeline ist inspiriert von browser-use/video-use. Ihr Kerngedanke, „das LLM schaut das Video nie an, es liest es”, ist der Grund, warum agent-getriebenes Editing ohne Frame-Dump-Token-Flut funktioniert.

Commands, Agenten und Skills

Das Harness stellt 19 Workflow-Commands, 10 spezialisierte Agenten und 7 Produktions-Skills bereit. Auszüge:
Workflow-CommandZweck
new-seriesNeue Serie mit fixierter Ästhetik anlegen
add-character / lock-characterCharakter + Stimme fixieren
workshop-episodeKollaboratives Episoden-Scripting
storyboard-episodeEine Episode storyboarden
produce-episodeKomplette Pipeline mit einem Befehl
generate-trailerVollständige Trailer-Pipeline
edit-footageText-first-Editing-Pipeline für vorhandenes Material
ingest-screenplayDrehbuch im Fountain- oder PDF-Format einlesen
Spezialisierter AgentRolle
art-directorEntscheidungen zu Ästhetik, Palette, Beleuchtung, Komposition
prompt-engineerVenice-Image-Prompts, Charakter-Konsistenz
storyboard-qaPanel-QA für Kontinuität und Charakter-Checks
cut-qaPost-Render-Quality-Gate (6 Checks pro Cut, max. 3 Iterationen)
overlay-designerBranded Motion-Graphics, parallele Sub-Agenten
trailer-curatorTrailer-Shot-Auswahl und Anti-Spoiler-Regeln
Produktions-SkillZweck
venice-apiVenice-REST-API-Nutzung und Defaults
venice-video-model-routingR2V-first-Routing, Entscheidungsbäume
character-consistencyMulti-Shot-Charakter-Konsistenz-Anleitung
shot-compositionShot-Komposition und Kamera-Hinweise
screenplay-parsingWorkflows zum Parsen von Drehbüchern
video-editingText-first-Editing-Philosophie, EDL-Format, cut-qa-Loop

NLE-Round-Trip

Nach dem Rendern die fertige Timeline als XML für die Feinarbeit im Editor deiner Wahl exportieren. Jedes Video-Segment, jeder Dialog-Clip, jeder SFX-Clip und Music-Cue landet auf einer eigenen Spur.
mini-drama export-timeline -p output/<project> -e 1 --format fcpxml      # Final Cut Pro X
mini-drama export-timeline -p output/<project> -e 1 --format premiere    # Premiere Pro
mini-drama export-timeline -p output/<project> -e 1 --format davinci     # DaVinci Resolve

Programmatische Nutzung

Du kannst die Module des Harness auch direkt aus deinem eigenen TypeScript aufrufen:
import { VeniceClient } from './src/venice/client.js';
import { generateVideo, quoteVideo } from './src/venice/video.js';
import { listVideoModels } from './src/venice/models.js';

const client = new VeniceClient();

const quote = await quoteVideo(client, {
  model: 'kling-v3-pro-image-to-video',
  duration: '8s',
  audio: true,
});
console.log(`Estimated cost: $${quote.quote}`);

const result = await generateVideo(client, {
  model: 'kling-v3-pro-image-to-video',
  prompt: 'A slow dolly shot pushes forward...',
  duration: '8s',
  imageUrl: 'data:image/png;base64,...',
  audio: true,
  outputPath: 'output/shot-001.mp4',
});

const longModels = listVideoModels({ minDurationSec: 20 });

Ressourcen

GitHub

Quellcode, Issues und Releases

Venice Video Generation

Die zugrunde liegende API, die das Harness ansteuert

Reference-to-Video

R2V-Guide für Charakter-Konsistenz

Seedance 2.0

Die Default-Videofamilie des Harness
Community-gepflegt und „as-is” bereitgestellt. Bei harness-spezifischen Problemen bitte ein Issue im GitHub-Repo des Projekts anlegen.