Communitygithub.com

0xsline/openchatcut

KI-Videogenerierung via Fal.ai, Seedance 2.0, Kling, MiniMax Hailuo, xAI Grok Imagine und OFox. Verwenden, wenn der Benutzer ein Videoclip generieren möchte – Text-zu-Video, Bild-zu-Video, First/Last-Frame-Übergänge, referenzgesteuerte Generierung, Multi-Shot oder generative Bearbeitung/Erweiterung eines vorhandenen Clips.

Was ist openchatcut?

Diese Skill ermöglicht die KI-gestützte Videogenerierung über mehrere Anbieter hinweg und bietet eine einheitliche Schnittstelle für Text-zu-Video, Bild-zu-Video, First/Last-Frame-Übergänge, referenzbasierte Generierung, Multi-Shot-Storyboards und die generative Bearbeitung/Erweiterung bestehender Clips. Sie unterstützt die Modelle Seedance 2.0 (Standard bei Konfiguration), Kling, MiniMax Hailuo, xAI Grok Imagine, OFox und Fal.ai. Vor der Generierung ist es erforderlich, dass der Benutzer zunächst die drei Dimensionen Dauer & Segmente, Inhalt und Konsistenzanker abstimmt. Der Skill reicht genau einen Generierungsjob pro Aufruf ein und gibt eine `jobId` zurück; die Jobverwaltung (Warten/Status) erfolgt über das `track_progress`-Tool. Wichtig: Die Modelle werden nicht automatisch auf die Timeline gesetzt; der Benutzer muss das Ergebnis überprüfen, bevor mit dem nächsten Shot fortgefahren wird. Die visuelle Konsistenz zwischen Shots wird durch Referenzanker (Bilder/Videos) sichergestellt, die bei jedem Shot, der dieselbe Figur, dasselbe Objekt oder denselben Stil teilt, übergeben werden.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/0xsline/openchatcut/tree/HEAD/src/agent/skills/video-gen

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Video Gen

Reicht genau einen Videogenerierungsjob pro Aufruf ein und gibt eine jobId zurück. Die Jobverwaltung (Warten/Status) gehört zu track_progress; diese Skill platziert Videos nicht automatisch auf der Timeline.

Wann verwenden

Immer wenn der Benutzer ein Videoclip generieren möchte – Text-zu-Video, Bild-zu-Video, First-Last-Frame-Übergang, referenzbasierte Generierung, Multi-Shot-Storyboard oder generative Bearbeitung/Erweiterung eines vorhandenen Videos (produziert neues generiertes Material basierend auf einem Quellclip; keine Timeline-Trimmung).

Modelle

ModellReferenzStärken
fal + falModelreferences/fal.mdExpliziter Fal-Katalog; siehe Tool-Schema für modellspezifische Limits
seedance2references/seedance2.mdStandard bei Konfiguration. Multimodale Referenzen, First/Last, Bearbeiten/Erweitern/Überbrücken, 2–15s, 480p/720p/1080p/4k, Audio/Seed/Kamera/Wasserzeichen/Last-Frame/Task-Steuerung.
klingreferences/kling.mdTechnische Kamera/Performance; Omni Multi-Shot; Bilder ≤7 (≤4 mit einer Funktion refVideos); std/pro; 3–15s.
hailuoreferences/hailuo.mdMiniMax 海螺. T2V / I2V / First+Last; 6s oder 10s; 512P (Hailuo-02), 720p→768P, 1080P (6s); keine Multi-Ref / Multi-Shot.
grok-imagine-videoreferences/grok-imagine-video.mdxAI Grok Imagine. Nur Text-zu-Video; 1–15s; 480p/720p/1080p; Audiospur enthalten.
ofoxreferences/ofox.mdOFox Multi-Modell-Gateway (Seedance/Wan und mehr hinter einem Schlüssel). Text-/Bild-zu-Video, First+Last-Frame, bis zu 9 Bildreferenzen; 2–30s mit modellspezifischen API-Limits; 480p/720p/1080p pro Modell.

WICHTIG: Lesen Sie vor der Generierung die Referenz des gewählten Modells bezüglich Fähigkeiten, Eingabekanälen, Modi, Prompt-Struktur und modellspezifischem Verhalten. Erfinden Sie niemals Parameter, die die Referenz verbietet.

Modellauswahl

Respektieren Sie die konfigurierten Anbieter aus dem Fähigkeiten-Prompt (rufen Sie nur ein Modell auf, dessen Schlüssel aktiv ist).

  1. Benutzer hat einen Anbieter genannt ("用海螺", "MiniMax", "Kling", "Seedance") → dieses model, falls konfiguriert.
  2. Wenn Fal.ai ausgewählt oder angefordert ist, verwenden Sie model: "fal" und das angeforderte falModel oder den gespeicherten Fal-Standardwert aus den Fähigkeiten. Fragen Sie nach, wenn kein Fal-Modell ausgewählt ist. Lesen Sie die Fal-Katalog-Einschränkungen im Tool-Schema; die nativen Anbieterlimits unten gelten nicht.
  3. Ansonsten Standard seedance2, wenn Seedance konfiguriert ist.
  4. Sonst, wenn nur Kling aktiv ist → kling. Sonst, wenn nur MiniMax aktiv ist → hailuo. Sonst, wenn nur xAI aktiv ist → grok-imagine-video. Sonst, wenn nur OFox aktiv ist → ofox.
  5. Vom Standard abweichen, wenn:
    • Multi-Shot-Anpassung / Intelligenz benötigt wird → kling (bestätigen, wenn nicht vom Benutzer genannt).
    • Reichhaltige multimodale Referenzen (Video/Audio-Referenzen, Bearbeiten/Erweitern) benötigt werden → seedance2.
    • Ein kurzer Einzelbeat benötigt wird und nur MiniMax verfügbar ist, oder der Benutzer Hailuo möchte → hailuo mit Dauer 6 oder 10.

Wenn das erforderliche Modell nicht konfiguriert ist, sagen Sie dies und bieten Sie an: einen anderen konfigurierten Videoanbieter, Hochladen oder Motion Graphic – tun Sie nicht so, als ob die API existiert.

Teilen Sie dem Benutzer kurz mit, was Sie generieren werden, bevor Sie es einreichen.

Tool-Parameter

ParameterWerteStandard
modelseedance2, kling, hailuo, grok-imagine-video, ofox, falseedance2, wenn verfügbar
durationSecondsmodellspezifischseedance/kling ~5; hailuo 6 oder 10 (1080p → nur 6); grok 1–15; ofox 2–30 (modellspezifische API-Limits)
ratiosiehe Modelldoku16:9 (seedance/kling/grok/ofox); wird bei hailuo ignoriert
resolution480p, 512p, 720p, 1080p, 4kanbieterspezifisch; hailuo fügt 512p für Hailuo-02 hinzu; grok: 480p/720p/1080p
refVideoModefeature, basenur kling, mit refVideos
promptOptimizer / fastPretreatmentbooleannur hailuo
generateAudio, seed, cameraFixed, watermarkSteuerungnur seedance
returnLastFrame, executionExpiresAfter, prioritySteuerungnur seedance; angeforderter letzter Frame wird ein weiteres Bild-Asset
namebeschreibender Asset-Nameerforderlich für gute Pool-UX
firstFrameProjektbild-Asset-Referenzoptional
lastFrameProjektbild-Asset-Referenzseedance / kling / hailuo (erfordert firstFrame; nicht mit Multi-Ref bei seedance)
refImages / refVideos / refAudiosAsset-Referenzenseedance voll; kling: Bilder + 1 Feature-Video (kein Audio); hailuo: keine (Frames / S2V-Subjekt)
mode / shotType / multiPromptsKling Multi-Shotnur kling

Modellspezifische Parameter – siehe die Referenz des Modells.

Eingabeauflösung

firstFrame / lastFrame / refImages / refVideos / refAudios akzeptieren alle eine Projekt-Asset-Referenz. Bevorzugen Sie eine vollständige UUID oder ein kurzes Präfix aus read_project; asset://<id> und Asset-URLs desselben Projekts, die von read_project zurückgegeben werden, werden ebenfalls akzeptiert. Pro Slot-Typ: Frame-Slots und refImages → Bild; refVideos → Video; refAudios → Audio.

Externe URLs und Base64 werden nicht akzeptiert. Wenn die Quelle eine öffentliche URL ist, laden Sie sie zuerst in das Projekt herunter (download_media für Video/Audio, submit_image für Bilder) und übergeben Sie die resultierende Asset-ID.

Arbeitsablauf

Vier-Schritte-Schleife. Starten Sie bei jeder neuen Generierung bei Schritt 1, wenn sich die Absicht des Benutzers geändert hat.

Schritt 1 – Umfang mit dem Benutzer abstimmen

Bevor Sie einen Prompt schreiben, stimmen Sie drei Dimensionen ab:

  1. Dauer & Segmente – Gesamtlänge, wie viele Einstellungen und ob sie in einem Clip oder mehreren leben.

    Wenn der Benutzer bereits eine Richtung angegeben hat ("做一段", "in einem Video", "分别生成", "in N Einstellungen aufteilen" usw.), folgen Sie dieser – hinterfragen Sie sie nicht.

    Ansonsten zeigen Sie die beiden Pfade auf und lassen Sie den Benutzer wählen:

    • Multi-Shot innerhalb eines Clips (siehe Modellreferenz) – einzelne Inferenz, Subjekt / Beleuchtung / Stil physisch konsistent über Unter-Einstellungen; passt zu einer kohärenten Erzählung innerhalb des Clip-Dauerlimits.
    • Mehrere Clips – jeder Clip ist unabhängig steuerbar und wiederholbar, aber Identität und Stilkontinuität müssen durch Anker getragen werden; passt zu Dauern jenseits des Limits oder harten Szenenbrüchen.

    Bieten Sie den Kompromiss an; wählen Sie nicht für den Benutzer.

  2. Inhalt – was jeder Clip darstellt. Fassen Sie zusammen, was Sie verstanden haben, Segment für Segment. Wenn der Inhalt vage ist (z. B. "generiere ein Video eines tanzenden Mädchens"), hat der Benutzer typischerweise eines oder mehrere nicht spezifiziert:

    • Subjekt: Wer / was ist das Hauptsubjekt (Aussehen, Kleidung, definierende Merkmale)?
    • Aktion: Was tun sie? (Bei Sprech-/Gefühlsaufnahmen, welche Mikroexpression?)
    • Szene: Wo – Umgebung, Tageszeit, Umgebungsdetails?
    • Beleuchtung / Farbstimmung: Welche Atmosphäre?
    • Kamera: Bevorzugung von Einstellungsgröße / Winkel / Bewegung?
    • Stil: Visueller Stil oder Referenz (filmisch / Anime / dokumentarisch / ...).

    Konzentrieren Sie sich auf die Punkte, die für diese spezifische Anfrage wichtig sind und nicht sicher abgeleitet werden können – machen Sie daraus keine Lückenfüllübung. Fassen Sie die verstandenen Teile dem Benutzer zusammen, bevor Sie fortfahren.

  3. Konsistenzanker – nur wenn mehrere Einstellungen eine Figur, ein Objekt oder eine Szene wiederverwenden: identifizieren Sie, welcher Anker (Referenzbild oder -video) über die Einstellungen hinweg fixiert werden soll. Für Quellregeln siehe §Visuelle Konsistenz über Einstellungen hinweg unten.

Prüfen Sie für jede Dimension die Worte des Benutzers:

  • Klar – fortfahren.
  • Mehrdeutig oder fehlend – FRAGEN Sie den Benutzer. Raten Sie nicht, interpretieren Sie nicht standardmäßig Ihre eigene Interpretation. Eine Bestätigungsrunde ist günstiger als eine verschwendete Generierung.

Was NICHT zu tun ist

  • Nicht "sagen und dann einreichen" – die Ankündigung "Ich mache das als 2 Clips" und sofortiges Einreichen ist keine Abstimmung, sondern eine einseitige Entscheidung mit Ankündigung.
  • Standardmäßig keine Aufteilung einer Single-Video-Anfrage in mehrere Clips. Ein einzelner Clip kann mehrere Unter-Einstellungen tragen (siehe Modellreferenz), wobei Subjekt / Beleuchtung / Stil physisch konsistent sind. Zeigen Sie den Kompromiss auf, lassen Sie dann den Benutzer wählen.
  • Überspringen Sie die Frage nicht, weil Sie denken, die Antwort sei offensichtlich.

Harte Überschreibungen (explizites Wort des Benutzers gewinnt)

  • "ein Clip / single clip / 一条 / 一个镜头 / in 1 clip" → niemals aufteilen, selbst wenn die Beschreibung objektiv lang ist.
  • "N Einstellungen / N 段 / ein N 个镜头" → genau N generieren.
  • "dieses Bild verwenden / 用这张图" → als Referenz verwenden, nicht ersetzen.

Schritt 2 – Den Prompt schreiben

Siehe die Referenz des gewählten Modells für Prompt-Struktur und Parameterkombinationen (z. B. Seedances 8-Elemente-Struktur und Modi; Klings Prompt-Tipps). Prüfen Sie vor dem Einreichen:

  • name ist ein beschreibender Asset-Name – beschreibend genug, damit der Benutzer (und Sie in späteren Runden) dieses Asset in der Projektbibliothek erkennen kann. Vermeiden Sie vage Namen wie "Unbenannt" oder "Clip 1".
  • Die Parameterkombination entspricht der Absicht des Benutzers – siehe den Abschnitt Modi in der Referenz des Modells.
  • Generiertes Video-Audio ist kein Tool-Parameter (anbieterseitig). Hailuo hat kein ratio/Multi-Ref; erfinden Sie diese Parameter nicht.
  • Bei Validierungsfehlern lesen Sie den Fehler und korrigieren Sie die Eingaben – wiederholen Sie nicht blind dieselben ungültigen Argumente.

Schritt 3 – Einen einreichen, warten, bestätigen

Reichen Sie jeweils einen Generierungsjob ein. Sofern der Benutzer nicht explizit mehrere Clips parallel angefordert hat, reichen Sie den nächsten Clip erst ein, wenn der aktuelle abgeschlossen ist und der Benutzer ihn überprüft hat. Paralleles Einreichen versteckt Probleme: Wenn der erste Shot Drift oder falschen Bildausschnitt hat, möchte der Benutzer ihn lieber einmal wiederholen, als mehrere falsch ausgerichtete Shots verwerfen zu müssen.

  • submit_video.ratio steuert nur das generierte Asset; es ändert nicht die Projekt-Timeline-Leinwand. Wenn der Benutzer ein endgültiges Ausgabe-Seitenverhältnis angefordert hat (z. B. "9:16 vertikal" oder "16:9 Querformat"), setzen Sie die Timeline-Leinwand mit manage_timelines action=update auf dasselbe Seitenverhältnis (z. B. ratio:"9:16"), bevor Sie das fertige Asset platzieren. Wenn der Benutzer keine schwarzen Balken / randloses Bild wünscht, übergeben Sie fit:"cover" beim Setzen der Leinwand oder beim Aktualisieren/Hinzufügen des visuellen Elements.
  • Verwenden Sie diese Skill nicht für die Jobverwaltung – verwenden Sie das track_progress-Tool für Status/Warten.
  • Beenden Sie nach dem Einreichen Ihren Zug (teilen Sie dem Benutzer mit, dass der Job erstellt wurde), es sei denn, eine Folgaufgabe ist bereits in der Warteschlange.
  • Wenn der Job abgeschlossen ist, zeigen Sie das Ergebnis dem Benutzer zur Überprüfung an, bevor Sie mit dem nächsten Shot fortfahren.
  • Modellspezifische Fehlerbehandlung – siehe die Referenz des Modells.

Schritt 4 – Iterieren

Wenn der Benutzer einen nächsten Clip, eine Überarbeitung oder eine Fortsetzung wünscht:

  • Wenn es der nächste Shot in einer Multi-Shot-Sequenz ist – verwenden Sie den etablierten Anker wieder (siehe §Visuelle Konsistenz über Einstellungen hinweg unten für Prinzipien, Modellreferenz für Flag-Details).
  • Wenn das Feedback des Benutzers mehrdeutig ist ("es fühlt sich nicht richtig an") – fragen Sie, was genau geändert werden soll, bevor Sie neu generieren.
  • Wenn dieselbe Text-Prompt-Anpassung zweimal fehlgeschlagen ist – hören Sie auf, den Text anzupassen. Wechseln Sie zu Referenzbildern oder wechseln Sie in den Bearbeitungsmodus, wo das Modell dies unterstützt (siehe Modellreferenz).
  • Jede neue Generierung startet die Schleife bei Schritt 1 neu – gleichen Sie neu ab, wenn sich der Umfang geändert hat.

Visuelle Konsistenz über Einstellungen hinweg

Text allein kann die visuelle Identität nicht zuverlässig über Einstellungen hinweg aufrechterhalten; visuelle Referenzen beschränken die Ausgabe weitaus präziser als Worte.

Anker: der Eckpfeiler der Konsistenz

Ein Anker ist ein Referenzbild oder -video, das über jede Einstellung hinweg fixiert wird, die dieselbe Figur, dasselbe Objekt oder denselben Stil teilt. Jede Multi-Shot-Sequenz mit wiederkehrenden visuellen Elementen benötigt einen Anker – versuchen Sie nicht, sie aus Text zu reproduzieren.

Beschaffung eines Ankers

Haben Sie Referenzbewusstsein. Wenn die Anfrage des Benutzers eine wiederkehrende Figur / ein wiederkehrendes Objekt / eine wiederkehrende Szene betrifft, denken Sie darüber nach, welchen Anker Sie bevor Sie Prompts schreiben, verwenden:

  • Prüfen Sie zuerst das Projekt. Was hat der Benutzer bereits bereitgestellt oder genehmigt? Hochgeladene Bilder, zuvor generierte und genehmigte Shots oder frühere Projekt-Assets können alle als Anker dienen.
  • Stimmen Sie mit der Absicht des Benutzers überein. Wenn der Benutzer auf ein bestimmtes Asset gezeigt hat ("verwende dieses Foto", "像上一段那样"), verwenden Sie dieses. Wenn sie eine Figur nur in Worten beschrieben haben, existiert noch kein Anker und einer muss etabliert werden.
  • Fragen Sie im Zweifel den Benutzer. Raten Sie nicht, welches Asset fixiert werden soll, und generieren Sie nicht stillschweigend einen neuen Anker, wenn der Benutzer möglicherweise bereits einen im Kopf hat.

Einen neuen Anker etablieren (mit Zustimmung des Benutzers)

Wenn kein vorhandenes Asset passt und eines generiert werden muss, schlagen Sie es dem Benutzer zuerst vor – es prägt jeden nachfolgenden Shot. Modellspezifische Pfade – siehe die Referenz des gewählten Modells.

Verwenden des Ankers

  • Übergeben Sie den Anker in jedem Shot, der die Figur / das Objekt / den Stil teilt. Die zu verwendenden spezifischen Flags hängen vom Modell ab – siehe die Referenz des Modells.
  • Beschreiben Sie den Anker im Prompt durch sein Aussehen, nicht durch seinen Namen: "Das SCHWARZE RENNAUTO mit Chromauspuff" schränkt weitaus mehr ein als "Flottenmeister". Wenn Rollenverwechslung wahrscheinlich ist, fügen Sie explizite Verneinungen hinzu: "Das Motorrad transformiert sich NICHT."
  • Beziehen Sie sich im Prompt auf den Anker mit @Image1 / @Video1 – nicht mit vagen Phrasen wie "dasselbe Auto wie zuvor".
  • Wenn ein Shot von einer vorherigen Generierung abhängt, warten Sie auf den Abschluss des vorherigen Jobs (über track_progress mit action=wait), um dessen assetId zu erhalten, und übergeben Sie sie dann als Ankerreferenz. Reichen Sie abhängige Shots nicht parallel ein.

Multi-Charakter-Projekte

Wenn ein Projekt mehrere benannte Charaktere mit unterschiedlichen Attributen hat (z. B. Faz mit Feuerenergie, Kev mit Eisenergie), behandeln Sie jeden Charakter als separaten Anker – ein Referenz-Asset pro Charakter. In jedem Prompt:

  • Nennen Sie den aktiven Charakter und hängen Sie seine charakteristischen Attribute an ("Kev hat blaue Eis-Elektroenergie").
  • Fügen Sie explizite Verneinungen für die anderen hinzu, um Attributübertragung zu verhindern ("NICHT rote Feuerenergie, NICHT Fazes Aussehen").
  • Fixieren Sie den Anker des richtigen Charakters (modellspezifisches Flag – siehe Modellreferenz). Verwenden Sie nicht versehentlich den Anker eines anderen Charakters.

Das Fehlen entweder einer expliziten Zuordnung oder einer Verneinung führt zu einer Vermischung von Charakterattributen über Kreuze hinweg.

Mehrere Charaktere im selben Frame. Bei Einstellungen, in denen mehrere Charaktere gemeinsam auftreten (insbesondere vor der Kamera), neigt das Modell zu Gesichtsaustausch oder Körperausschneiden. Fügen Sie jedem Charakter starke positionelle + Kleidungsanker hinzu und bevorzugen Sie eine feststehende Kamera

... (gekürzt für die Übersetzung)

Individual skills in this repo

This repo contains 11 individual skills — each has its own dedicated page.

0xsline/openchatcut

Connect an MCP-capable coding agent to OpenChatCut and edit local video projects. Use when the user asks to install, connect, or set up OpenChatCut; inspect or edit an OpenChatCut project; work with its timeline, transcript, captions, media, generation, motion graphics, audio, color, or export tools; or recover from an OpenChatCut MCP error.

0xsline/openchatcut

Use when acquiring or importing media into a OpenChatCut project asset library for video editing or creation, including local/attached videos, user-provided paths, public media URLs, web video/audio/image assets, upload fallback decisions, and deciding between import_media, download_media, or manual user action.

0xsline/openchatcut

Use when a OpenChatCut video editing or creation workflow needs export, render, download, share, final delivery, subtitle-file export, render choice, local-only asset handling, or export fallback explanation.

0xsline/openchatcut

AI image generation via Fal.ai, gpt-image-2, nano-banana, MiniMax image-01, and xAI Grok Imagine. Use when the user wants to generate or create an image / picture / still.

0xsline/openchatcut

Use when a OpenChatCut tool call fails or returns an unexpected shape.

0xsline/openchatcut

Music generation via Mureka, MiniMax, Atlas Cloud, and Sonilo. Use for instrumentals, songs, soundtracks, track/stem generation, covers, or video-conditioned scoring of the finished cut through `submit_music`.

0xsline/openchatcut

OpenChatCut product knowledge — UI layout, editor features, and how generation providers are configured. Use when the user asks about the product interface, how to use a feature, where to find something, or needs GUI guidance for something the agent cannot do directly. Also use as fallback when a task fails and the user needs to complete it manually in the UI. NOT for live project-state queries ("where are my folders?", "what's on my timeline?", "where is clip X?") — those are answered by `read_project`, not by this skill.

0xsline/openchatcut

AI shader generator for WebGL video effects, transitions, masks, and color grading (LUT / 调色 / 电影感 / film look). Use when the user wants a video effect (滤镜 / 特效), a transition (转场 / crossfade / wipe / cube / 3d), a mask (蒙版 / 遮罩 / reveal), a zoom / push-in (推近 / 推镜头), or a color grade — try the built-in effects (zoom, builtin LUTs) before generating a new shader.

0xsline/openchatcut

Use when checking whether agent edits are reflected in the OpenChatCut project and editor.

0xsline/openchatcut

Text-to-Speech (TTS), voiceover, narration placement/sync, and custom sound effects (SFX) generator. Use when the user wants generated speech from text, wants to add/replace/align narration or voiceover for an existing video/timeline, wants to keep existing voiceover synced after visual retiming edits, needs voice audition/selection, or explicitly wants a newly generated/custom sound effect that is not available in the Sound Effects library.

0xsline/openchatcut

Use when the agent should ask the user for structured input with an in-chat form, including single-select, multi-select, text fields, style pickers, or voice audition choices.

Verwandte Skills