Communitygithub.com

0xsline/openchatcut

Text-to-Speech (TTS), Voiceover, Synchronisation von Erzählungen und benutzerdefinierte Soundeffekte (SFX)-Generator. Verwenden Sie es, wenn der Benutzer gesprochene Sprache aus Text wünscht, Erzählungen oder Voiceover zu einem bestehenden Video/Timeline hinzufügen, ersetzen oder ausrichten möchte, die Synchronisation des bestehenden Voiceovers nach visuellen Retiming-Bearbeitungen beibehalten möchte, eine Sprachauswahl/Audition benötigt oder explizit einen neu generierten/benutzerdefinierten Soundeffekt wünscht, der nicht in der Soundeffekt-Bibliothek verfügbar ist.

Was ist openchatcut?

Diese Fertigkeit wandelt Text in natürlich klingende Sprachausgaben um (Text-to-Speech, TTS) und generiert benutzerdefinierte Soundeffekte (SFX). Sie ist speziell für die Videobearbeitung konzipiert und ermöglicht das Hinzufügen, Ersetzen oder Nachsynchronisieren von Erzählungen und Voiceovers, wobei die zeitliche Abstimmung mit dem vorhandenen Bildmaterial erhalten bleibt – selbst nach Änderungen wie Trimmen oder Beschleunigen. Die Fertigkeit unterstützt eine Vielzahl von TTS-Anbietern, darunter Doubao, ElevenLabs, MiniMax, OpenAI, Gemini und andere, und verwendet einen kuratierten Katalog von Stimmen für Doubao, ElevenLabs und MiniMax. Für andere Anbieter ist eine anbieterspezifische Stimmen-ID des Benutzers erforderlich. Neben TTS bietet die Fertigkeit auch eine Soundeffekt-Generierung an, wobei jedoch zuerst die integrierte Soundeffekt-Bibliothek durchsucht werden sollte, bevor ein neuer Effekt erstellt wird. Besonders hervorzuheben ist die Funktion zur Sprachauswahl (Voice Audition), bei der Benutzer vor der endgültigen Auswahl verschiedene Stimmen anhören können. Die Fertigkeit stellt sicher, dass die Sprachausgabe und die visuellen Inhalte synchron bleiben, und ist daher ein unverzichtbares Werkzeug für die professionelle Videoproduktion und -bearbeitung.

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

In Ihrer bevorzugten KI fragen

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

Dokumentation

Sprach- und Soundeffekt-Generator

Generieren Sie Voiceovers (TTS) und Soundeffekte. Wählen Sie für TTS einen konkreten Anbieter und eine Stimme aus, bevor Sie submit_voice aufrufen.

Verwendungszwecke

  • Erzeugen Sie Voiceover/Erzählungen aus Text
  • Erstellen Sie Text-to-Speech-Audio für Videos
  • Fügen Sie Erzählungen/Voiceover für ein bestehendes Video, eine Timeline, Bildschirmaufnahme, Folienanimation, Produktdemo, B-Roll-Schnitt, MG-Erklärvideo oder andere visuelle Sequenzen hinzu, ersetzen oder wiederholen Sie diese
  • Halten Sie die bestehende Erzählung/das vorhandene Voiceover nach dem Trimmen, Beschleunigen, Verlangsamen, Verschieben, Neuordnen oder Ersetzen der von ihnen beschriebenen visuellen Elemente ausgerichtet
  • Bieten Sie TTS-Stimmoptionen zur Auswahl an und führen Sie ein Hörprobe durch, wenn der Benutzer noch keine konkrete Stimme ausgewählt hat
  • Generieren Sie benutzerdefinierte Soundeffekte aus Textbeschreibungen erst, nachdem Sie zuerst die Soundeffekt-Bibliothek überprüft haben

TTS (Text-to-Speech)

Wenn die aktuelle Anfrage ein vorhandenes visuelles Ziel hat und der Benutzer eine Erzählung, ein Voiceover, eine Synchronisation oder Ersatzsprache für dieses Ziel wünscht, lesen Sie references/video-sync.md, bevor Sie eine neue Erzählung verfassen, vorhandenen Erzählungstext zur TTS-Generierung verwenden oder Audio platzieren. Tun Sie dies, auch wenn der Benutzer nicht explizit „synchronisieren“ oder „an das Bildmaterial anpassen“ gesagt hat; die Existenz eines visuellen Ziels bedeutet, dass Timing und Bedeutung der Erzählung möglicherweise dem Inhalt auf dem Bildschirm folgen müssen. Verwenden Sie den normalen eigenständigen TTS-Pfad nur, wenn es kein visuelles Ziel gibt oder der Benutzer nur ein Audio-Asset aus Text wünscht.

Lesen Sie auch references/video-sync.md, wenn die Timeline bereits eine Erzählung/ein Voiceover enthält und der Benutzer darum bittet, die visuellen Elemente zu ändern, während dieses Voiceover ausgerichtet bleibt. Dies ist eine Synchronisationswartungsaufgabe, auch wenn kein neues TTS benötigt wird.

Verwenden Sie submit_voice, um ein TTS-Audio-Asset zu erstellen. Der aktuelle MCP-Tool-Vertrag lautet:

  • provider ist erforderlich. Konfigurierte Auswahlmöglichkeiten können doubao, elevenlabs, minimax, inworld, fishaudio, speechify, openai, gemini, mistral oder cartesia sein. Alle Anbieter sind Opt-in; verwenden Sie nur Anbieter, die im Capabilities-Prompt als konfiguriert angezeigt werden.
  • voiceId ist erforderlich, konkret und anbieterspezifisch. Die einzige Ausnahme ist eine bewusste MiniMax timbreWeights-Mischung, bei der voiceId leer sein muss. Mischen Sie keine Kataloge.
  • Der kuratierte Katalog in references/voices.md deckt nur Doubao, ElevenLabs und MiniMax ab. Andere Anbieter haben keine gebündelten Voreinstellungen oder Beispielkataloge in OpenChatCut. Fordern Sie eine konkrete Stimmen-ID vom Benutzer oder dessen Anbieterkonto an; erfinden Sie niemals eine Voreinstellung oder eine /voice-samples/...-URL.
  • AI SDK-gestützte Felder sind anbieterspezifisch: OpenAI unterstützt modelId, speed, outputFormat und instructions; Gemini unterstützt modelId, outputFormat und instructions; Mistral unterstützt modelId und outputFormat; Cartesia unterstützt modelId, speed, languageCode und outputFormat. Lassen Sie nicht unterstützte oder nicht angeforderte Felder weg.
  • Inworld, Fish Audio und Speechify akzeptieren nur voiceId plus optionales modelId. Übergeben Sie keine expressiven, Geschwindigkeits-, Sprach- oder Ausgabekontrollen an diese Anbieter.
  • submit_voice erstellt nur ein Audio-Asset. Die Platzierung in der Timeline, das Ersetzen, Trimmen und Ausrichten erfolgt später mit Timeline-Tools.
  • Für lange Erzählungen können mehrere submit_voice-Aufrufe nützlich sein: Teile an natürlichen Pausen, Satzgruppen oder Skriptabschnitten auf, wenn der Workflow von separat getimten oder platzierten Sprachclips profitiert.
  • Doubao unterstützt speedRatio, loudnessRatio, pitch, emotion, emotionScale, performancePrompt und explicitDialect, aber nicht jede Stimme unterstützt jede expressive Steuerungsmöglichkeit. Überprüfen Sie references/voices.md, bevor Sie sie verwenden.
  • ElevenLabs behält seine offiziellen Stimmeinstellungen, Sprache, Seed, Ausgabe, Normalisierung, Aussprachewörterbuch, Kontinuitäts-, Protokollierungs- und Latenzsteuerungen bei. MiniMax behält seine dedizierten Steuerungen bei, die in references/minimax-tts.md dokumentiert sind.

Doubao-Steuerungsunterstützung für derzeit kuratierte Stimmen:

  • vivi, xiaohe, yunzhou, xiaotian, naiqimengwa, yingtaowanzi, wenroumama, zhixingnv, dayi, jitangnv, liuchang, ruyayichen, morgan, qingcang, huiben, popo, yuanboxiaoshu, baqiqingshu und tangseng unterstützen explizites emotion / emotionScale, performancePrompt und ASMR-artige Prompt-Anweisungen.
  • shuanglangshaonian unterstützt performancePrompt und COT/QA-artige Instruktionsbefolgung, unterstützt aber kein explizites emotion / emotionScale oder ASMR-artige Steuerung.
  • explicitDialect wird nur von vivi unterstützt und kann dongbei, shaanxi oder sichuan sein.

ElevenLabs-Steuerungsunterstützung für derzeit kuratierte Stimmen:

  • amelia, brittney, hope, jessica, arabella, jane, maria, mark, frederick, peter, james, jon, sully, david und alex unterstützen alle dieselben anforderungsbezogenen Steuerungen; die modellspezifische Unterstützung wird weiterhin von ElevenLabs validiert.
  • Diese Steuerungen sind keine stimmspezifischen Garantien für einen bestimmten Schauspielstil. Verwenden Sie die voreingestellten Tags/Beispiele, um eine natürlich passende Stimme auszuwählen, und verwenden Sie dann die Steuerungen für moderate Änderungen der Darbietung.
  • Für ElevenLabs eleven_v3 sind Inline-Audio-Tags verfügbar, wenn der Benutzer eine ausdrucksstarke Darbietung wie Emotion, Tonfall, nonverbale Hinweise, Akzenthinweise oder lokales Tempo wünscht. Offizielle Beispiele passen in diese nützlichen TTS-Kategorien: Emotions-/Ton-Tags wie [happy], [sad], [angry], [excited], [curious], [sarcastic], [crying], [annoyed], [appalled], [thoughtful], [surprised] und [mischievously]; stimmliche Darbietungs- und nonverbale Hinweis-Tags wie [whispers], [laughs], [sighs], [exhales], [inhales deeply], [clears throat], [snorts], [swallows], [wheezing] und [coughs]; Tempo-/Pausen-/lokale Geschwindigkeits-Tags wie [slowly], [pause], [short pause], [long pause], [rushed] und [drawn out]; und Akzent-/Spezialdarbietungs-Tags wie [strong X accent], zum Beispiel [strong French accent], plus [sings], [singing], [woo] und [pirate voice]. Offizielle Beispiele sind nicht erschöpfend; ähnliche Audio-Tags können ausprobiert werden, wenn der Benutzer explizit nach dieser Darbietung fragt und das Tag beschreibt, wie die Stimme klingen soll, nicht eine visuelle Handlung. Schreiben Sie Tags direkt in den text, nahe der kurzen Phrase, die sie beeinflussen sollen. Behandeln Sie Tags als lokale Anleitung, nicht als absatzweite Steuerungen.
  • Für Pausen und Tempo in eleven_v3 verwenden Sie Zeichensetzung, Textstruktur, kürzere generierte Segmente oder lokale Audio-Tags wie [short pause] und [slowly], wenn nötig.
// Englisch / mehrsprachig über ElevenLabs
submit_voice({
  provider: "elevenlabs",
  text: "Hallo Welt",
  voiceId: "peter",
});

// Chinesisch über Doubao
submit_voice({
  provider: "doubao",
  text: "你好世界",
  voiceId: "liuchang",
});

// Mit Geschwindigkeitsanpassung (nur Doubao)
submit_voice({
  provider: "doubao",
  text: "Dies ist ein etwas schnellerer chinesischer Kommentar.",
  voiceId: "liuchang",
  speedRatio: 1.5,
});

// Mit expressiven Doubao-Steuerungen
submit_voice({
  provider: "doubao",
  text: "Dieser Unfall erinnert uns daran, dass Sicherheit nie dem Zufall überlassen werden sollte.",
  voiceId: "liuchang",
  emotion: "traurig",
  emotionScale: 3,
  performancePrompt: "Schmerzlich, aber beherrscht, langsames Tempo, wie ein Nachrichtenkommentar",
  pitch: -1,
  speedRatio: 0.92,
});

// Mit ElevenLabs-Darbietungssteuerungen
submit_voice({
  provider: "elevenlabs",
  text: "Der Start änderte die Art und Weise, wie Teams ihre tägliche Arbeit planen.",
  voiceId: "peter",
  speed: 0.95,
  stability: 0.4,
  similarityBoost: 0.8,
  outputFormat: "wav_44100",
});

// MiniMax TTS (wenn konfiguriert) — siehe references/minimax-tts.md
submit_voice({
  provider: "minimax",
  text: "Willkommen beim Video-Editor-Assistenten.",
  voiceId: "female-yujie",
  speed: 1,
  name: "VO · willkommen",
});

// Cartesia-Form nachdem der Benutzer die genaue Account-Stimmen-ID bestätigt hat.
// confirmedCartesiaVoiceId stellt diesen gelieferten Wert dar, keine Voreinstellung.
submit_voice({
  provider: "cartesia",
  text: "Eine präzise Produkteinführung.",
  voiceId: confirmedCartesiaVoiceId,
  modelId: "sonic-3",
  speed: 1,
  languageCode: "de",
  outputFormat: "mp3",
});

Sprachauswahl vor der Generierung

Wenn der Benutzer TTS benötigt und noch keine konkrete Stimme ausgewählt hat, trennen Sie zuerst Anbieter mit kuratierten OpenChatCut-Auswahlmöglichkeiten von Anbietern, die eine kontospezifische Stimmen-ID erfordern.

Lesen Sie für Doubao, ElevenLabs oder MiniMax references/voices.md, bevor Sie eine Option empfehlen, rendern oder einreichen. Verwenden Sie es als einzige Quelle für kuratierte Voreinstellungs-IDs, Anbieterauswahl, Anzeigelabels, Tags und gebündelte Beispiel-URLs. Erstellen Sie keine Stimmoptionen aus dem Gedächtnis, übersetzten Namen oder breiten Benutzerbeschreibungen.

Bieten Sie für Inworld, Fish Audio, Speechify, OpenAI, Gemini, Mistral oder Cartesia keine erfundene Hörprobenliste oder Beispiel-URL an. Fragen Sie den Benutzer nach der konkreten Stimmen-ID von diesem konfigurierten Anbieter. Eine breite Beschreibung wie „warme Frauenstimme“ ist keine gültige voiceId.

Bestimmen Sie zuerst zwei separate Sprachen:

  • Benutzer-Gesprächssprache: die Sprache, die der Benutzer verwendet hat, um mit Ihnen zu sprechen. Verwenden Sie diese für die Antwortumgebung, das form-visual-Label, den visual-option-Namen und die summary.
  • Ziel-Erzählsprache: die Sprache des zu synthetisierenden Textes. Verwenden Sie diese nur zur Auswahl des Anbieters und des Stimmkatalogs.

Die Schaltfläche zum Absenden des Auswahl-Widgets ist in diesem Build auf das Standardlabel festgelegt (submitLabel wird akzeptiert, aber nicht gerendert); behalten Sie das Frage-Label und die Optionslabels in der Benutzer-Gesprächssprache, nicht in der Ziel-Erzählsprache. Zum Beispiel: Englischsprachige Benutzer sehen submit_label="Absenden", chinesischsprachige Benutzer sehen submit_label="提交" und spanischsprachige Benutzer sehen submit_label="Enviar".

„Helfen Sie mir, einen chinesischen Kommentar zu generieren …“ ist eine englische Unterhaltung, die nach einer chinesischen Erzählung fragt, daher bleibt der Text des Auswahl-Widgets auf Englisch, während die Stimmenkandidaten von Doubao stammen.

Für einen kuratierten Anbieter:

  1. Filtern Sie references/voices.md nach Ziel-Erzählsprache / Anbieter und expliziten Anforderungen wie Geschlecht, Altersgruppe, Ton und Anwendungsfall.
  2. Wenn keine Voreinstellung alle expliziten Anforderungen erfüllt, sagen Sie, dass es keine genaue Übereinstimmung gibt, und bieten Sie die nächstgelegenen unterstützten Voreinstellungen mit einem deutlichen Hinweis an.
  3. Wählen Sie 2–4 passende kuratierte Voreinstellungen aus.
  4. Laden Sie widget-forms, rufen Sie dann ask_followup_questions mit den Stimmoptionen und echten gebündelten Audio-Beispielen auf.
  5. Warten Sie auf die Auswahl des Benutzers.
  6. Rufen Sie submit_voice mit der ausgewählten Voreinstellungs-ID als voiceId auf.

Für einen Anbieter ohne kuratierten OpenChatCut-Katalog fragen Sie stattdessen nach einer Freitext-Konkreten Anbieterstimmen-ID. Fügen Sie kein media hinzu und synthetisieren Sie keinen /voice-samples/...-Pfad. Warten Sie, bis der Benutzer die genaue ID angibt/bestätigt, bevor Sie submit_voice aufrufen.

Behalten Sie für jede kuratierte Auswahloption den value, das Anzeigelabel, media und die summary aus derselben Voreinstellungszeile von references/voices.md bei. Verwenden Sie nur die dort aufgezeichneten Beispiel-URLs. Behalten Sie value als Voreinstellungs-ID und media als deren passende Beispiel-URL bei. Schreiben Sie name und summary in der Gesprächssprache des Benutzers. Die Ziel-Erzählsprache bestimmt nur den Anbieter/Stimmkatalog. Ordnen Sie nach dem Absenden den Anzeigenamen wieder der Voreinstellungs-ID aus derselben Kandidatenliste zu.

Englische Anfrage für chinesische Erzählung:

<widget submit_label="Absenden">
  <form-visual
    id="voiceId"
    label="Für den chinesischen Kommentar empfehle ich einige Stimmen zum Ausprobieren:"
    required="true"
  >
    <visual-option
      value="vivi"
      name="Vivi"
      media="/voice-samples/doubao-vivi.mp3"
      aspect-ratio="16:5"
      summary="Weiblich / jung / freundlich, allgemein"
    />
    <visual-option
      value="xiaohe"
      name="Xiaohe"
      media="/voice-samples/doubao-xiaohe.mp3"
      aspect-ratio="16:5"
      summary="Weiblich / jung / sanft, klar"
    />
    <visual-option
      value="yunzhou"
      name="Yunzhou"
      media="/voice-samples/doubao-yunzhou.mp3"
      aspect-ratio="16:5"
      summary="Männlich / jung / neutral, geschäftlich"
    />
  </form-visual>
</widget>

Chinesische Anfrage für chinesische Erzählung:

<widget submit_label="提交">
  <form-visual
    id="voiceId"
    label="我推荐这几个中文旁白音色,先试听一下:"
    required="true"
  >
    <visual-option
      value="morgan"
      name="Morgan"
      media="/voice-samples/doubao-morgan.mp3"
      aspect-ratio="16:5"
      summary="男 / 中年 / 低沉知识解说"
    />
    <visual-option
      value="zhixingnv"
      name="知性女声"
      media="/voice-samples/doubao-zhixingnv.mp3"
      aspect-ratio="16:5"
      summary="女 / 中年 / 冷静知识讲解"
    />
    <visual-option
      value="vivi"
      name="Vivi"
      media="/voice-samples/doubao-vivi.mp3"
      aspect-ratio="16:5"
      summary="女 / 年轻 / 亲切通用口播"
    />
  </form-visual>
</widget>

Soundeffekte

Generieren Sie für gewöhnliche Bearbeitungs-Soundeffekte (SFX) nicht zuerst. Verwenden Sie die integrierte Soundeffekt-Bibliothek vor dem Generieren:

  1. Rufen Sie browse_library mit category:"sound-effects" und einer Abfrage wie "whoosh", "Kameraverschluss", "Benachrichtigung", "Zensur-Piepton" oder "Plattenkratzer" auf.
  2. Überprüfen Sie das zurückgegebene library:sound:<id>.
  3. Platzieren Sie es mit edit_item, wobei fromFrame als Anker-/Schnittmoment-Frame des Sounds verwendet wird:
browse_library({
  category: "sound-effects",
  query: "kurzer whoosh Übergang",
});

edit_item({
  adds: [
    {
      type: "audio",
      assetId: "library:sound:whoosh-short",
      fromFrame: 120,
      trackId: "A1",
    },
  ],
});

Generieren Sie Soundeffekte nur aus Textbeschreibungen mit submit_sound, wenn:

  • Der Benutzer explizit nach einem generierten/originellen/benutzerdefinierten Sound fragt.
  • Der gewünschte Sound zu spezifisch für die vorhandene Soundeffekt-Bibliothek ist.
  • browse_library({ category:"sound-effects", query }) keine passende Übereinstimmung zurückgibt.
// Benutzerdefinierter/generierter Soundeffekt, nachdem die Bibliothek keine passende Übereinstimmung hat
submit_sound({ prompt: "Ein Hund bellt in der Ferne" });

// Mit benutzerdefinierter Dauer (0,5–22 Sekunden)
submit_sound({
  prompt: "Donner und starker Regen",
  durationSeconds: 15,
});

// Hohe Prompt-Befolgung
submit_sound({
  prompt: "Sci-Fi-Laserkanone feuert",
  promptInfluence: 0.8,
});

Tipps für bessere Ergebnisse:

  • Seien Sie spezifisch: „Ein Hund bellt laut“ vs. nur „Hund“. Fügen Sie Details wie Entfernung, Umgebung und Stimmung hinzu.
  • Halten Sie sich für Umgebungs-Sounds an natürliche Beschreibungen.
  • Definieren Sie Tempo und Rhythmus für sich wiederholende Sounds (z. B. „gleichmäßige Schritte auf Holz, 120 BPM“).
  • Beschreiben Sie die Bewegung für Übergänge (z. B. „kurzer, sauberer Whoosh von links nach rechts“).

Bestehende Bibliotheks-Sounds (Audio-Assets)

Verwenden Sie browse_library({ category:"sound-effects", query }), um zu sehen, ob die integrierte Bibliothek zu Ihrer Abfrage passt, bevor Sie generieren.

Referenzen

Diese Fertigkeit verwendet externe Referenzdateien für die Synchronisation von erzählten Inhalten mit visuellen Timings. Die Synchronisation handhabt sowohl neue Erzählgenerierung als auch die Anpassung bestehender Erzählung nach visuellen Änderungen. Verwenden Sie den generischen TTS-Pfad nur, wenn kein bestehendes visuelles Ziel vorhanden ist.

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

AI video generation via Fal.ai, Seedance 2.0, Kling, MiniMax Hailuo, xAI Grok Imagine, and OFox. Use when the user wants to generate a video clip — text-to-video, image-to-video, first/last-frame transitions, reference-guided generation, multi-shot, or generatively editing / extending an existing clip.

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