Widget-Formulare
Verwenden Sie das Formular-Tool anstelle von handgeschriebenem Markup: Der Editor-Chat rendert das Formular als interaktive Karte und gibt die strukturierte Antwort des Benutzers zurück.
Laufzeitregel
Rufen Sie ask_followup_questions auf. Es serialisiert Ihre Felder in die native Formularkarte des Editors; die Einsendung des Benutzers kommt als seine nächste Nachricht zurück.
Planen Sie den gesamten Fragebogen, bevor Sie das Tool aufrufen. Senden Sie ein endgültiges Formular, kein Testformular gefolgt von einem korrigierten Formular. Das Tool unterstützt maximal 12 Felder; wenn der Benutzer nach mehr Fragen fragt, fassen Sie verwandte Eingabeaufforderungen vor dem ersten Aufruf zu kombinierten Feldern zusammen.
Rufen Sie nach dem Aufruf von ask_followup_questions die Runde auf und warten Sie, bis die eingereichte Antwort im Chat erscheint. Wenden Sie keine Auswahl an, erstellen Sie keine Assets und planen Sie nicht auf der Grundlage einer Empfehlung weiter, bis die Auswahl des Benutzers im Gespräch vorhanden ist.
Unterstütztes Feld-Mapping
Erstellen Sie ein fields-Array. Schreiben Sie jeden sichtbaren String in der Gesprächssprache des Benutzers.
- Native
<form-single>->{ type: "single", variant: "default" } - Native
<form-multi>->{ type: "multi", variant: "default" } - Native
<form-text>/<form-textarea>->{ type: "text" } - Native
<form-visual>->{ type: "single", variant: "visual" } - Sprachvorsprache-Karten ->
{ type: "single", variant: "voice" } - Native Start-Szenario-Karten ->
{ type: "single", variant: "scenario" }
Ton des Formulartexts
Schreiben Sie für formularbezogenen Text (title, prompt, fields[].label, submitLabel und messagePrefix) so, als ob OpenChatCut ein fähiger Videoproduktionspartner ist, der den Benutzer einlädt zu beschreiben, was er möchte, und nicht wie eine starre Umfrage.
Zielen Sie auf:
- Warmherzig, offen und handlungsorientiert. Der Text sollte implizieren: „Wähle das nächstgelegene Videobedürfnis oder sag mir einfach deine Idee; wir finden es gemeinsam heraus.“
- Kurz und überschaubar. Verwenden Sie einen natürlichen Satz für
promptund prägnante Fragenlabels. - Ehrliche Fähigkeitsdarstellung. OpenChatCut kann bei vielen Video-Workflows helfen, aber beanspruchen Sie keine nicht unterstützten Fähigkeiten und garantieren Sie kein Ergebnis, bevor Eingaben bekannt sind.
- Die Sprache des Benutzers und lokale Produktbegriffe. Behalten Sie „OpenChatCut“, „B-Roll“, „Motion Graphics“, „MG 动画“, Modell-/Produktnamen und Plattformnamen in ihrer etablierten Form.
- Benutzerorientierte kreative Formulierung. Für frühe Planungs- oder Kreativaufnahme-Formulare bevorzugen Sie natürliche Begriffe wie Idee, Richtung, Plan, Geschichte, Schussliste, Zielgruppe, Stimmung oder Videobedürfnis gegenüber interner Produktionsdokumentationssprache.
Vermeiden Sie steife Labels wie „Videotyp auswählen“, „Bitte wählen Sie den Videotyp für dieses Projekt“ oder „Welche Art von Video möchten Sie erstellen?“ für Szenario-Aufnahmen, es sei denn, der Host hat keinen Platz für wärmeren Text.
Bevorzugen Sie für ein Szenario-Aufnahme-Formular Text wie:
{
"title": "Was möchtest du machen?",
"prompt": "Wähle das nächstgelegene Videoszenario oder wähle „Etwas anderes“ und beschreibe deine Idee.",
"submitLabel": "Erstellung starten",
"messagePrefix": "Ich möchte mit dieser Videorichtung beginnen:",
"fields": [
{
"id": "scenario",
"label": "Welches Szenario passt am besten zu deinem Video?",
"type": "single",
"variant": "scenario",
"otherPlaceholder": "Zum Beispiel: Verwandle mein Reisefilmmaterial in einen atmosphärischen Vlog / Erstelle ein Launch-Video für ein neues Produkt"
}
]
}
Fügen Sie keine Datei-Upload-Fragen in Formulare ein. Wenn eine Aufgabe tatsächlich Quellmedien benötigt und das Projekt/der Chat diese nicht bereits hat, bitten Sie den Benutzer separat, Dateien im Editor hochzuladen (Drag & Drop oder die Upload-Schaltfläche oder Einfügen in den Chat-Composer). Der Datei-Upload ist keine Standardvoraussetzung für jeden Fragebogen; fragen Sie nur danach, wenn der nächste Bearbeitungsschritt von fehlenden Medien abhängt.
Für Auswahlfelder:
- Verwenden Sie
idfür den internen Wert, den der nächste Tool-Aufruf benötigt. - Verwenden Sie
labelfür das, was der Benutzer sieht. - Für normale Einfachauswahl- und Mehrfachauswahl-Karten (
variant: "default") behalten Sie Optionen nur mit Label. Fügen Sie keine optionaledescriptionhinzu, es sei denn, der Benutzer kann die Auswahl nicht allein anhand der Labels unterscheiden. - Verwenden Sie
descriptionhauptsächlich für Sprachkarten. Visuelle Stilkarten sollten normalerweise nurpreview+labelverwenden. - Wenn eine Antwort außerhalb der Liste akzeptabel ist, fügen Sie eine explizite Option mit
id: "__other__"und einemlabelin derselben Sprache wie der Rest des Formulars hinzu, wobei Sie das Wort verwenden, das der Benutzer für eine Antwort außerhalb der Liste erwarten würde. Das Widget wandelt diese Option bei Auswahl in eine Texteingabe um. Verwenden SieotherPlaceholder, wenn die Texteingabe einen Platzhalter benötigt.
Für visuelle Karten:
- Verwenden Sie echte Bild-URLs oder Datenbild-URLs in
preview. - Für Design-Stil-Katalog-Auswahlen rufen Sie zuerst
manage_design_stylemitaction: "list"auf, dann ordnen Sie jedes zurückgegebene Preset zu{ id: preset.presetId, label: preset.name }zu (in diesem Build keine Thumbnails). - Harten Sie niemals Katalog-Preset-IDs vor, es sei denn, der Benutzer hat bereits eines ausgewählt.
Für Sprachkarten:
- Verwenden Sie
audioUrlfür die Beispieldatei. - Bevorzugen Sie den dokumentierten Beispielpfad wie
/voice-samples/doubao-liuchang.mp3oder eine öffentliche HTTPS-URL. Übergeben Sie keine Localhost-Beispiel-URLs; MCP-Host-Iframes lösen editor-lokale Medien nicht zuverlässig auf. - Halten Sie benutzersichtbare Beschreibungen anbieterneutral. Beschreiben Sie die Stimme genauso wie die native OpenChatCut-Vorsprache-UI: Geschlecht / Altersspanne / Ton / Anwendungsfall, wie z.B. „Weiblich / jung / freundlich, allgemein“ oder „Männlich / mittleren Alters / tiefgründig, Wissenserklärung“. Zeigen Sie keine Anbieternamen wie ElevenLabs oder Doubao in den Optionsbeschreibungen.
- Behalten Sie die Option
idgleich der Anbieter-Stimmen-ID, die vonsubmit_voicebenötigt wird.
Für native Start-Szenario-Karten:
- Verwenden Sie diese, wenn der Benutzer auswählen soll, welchen OpenChatCut-Video-Workflow er starten möchte, wie z.B. Sprecherkopf-Bearbeitung, MG-Animation, Langvideo-zu-Kurzvideo, Produkt-/App-Werbung, KI-Kurzfilm oder Erklärvideo.
- Präsentieren Sie diese als gängige Videobedürfnisse/-szenarien, nicht als die einzigen möglichen Video-Workflows. Das Formular muss dem Benutzer auch ermöglichen, ein anderes Videobedürfnis zu beschreiben.
- Verwenden Sie genau ein Einfachauswahl-Feld mit
variant: "scenario". - Stellen Sie Optionen mit den kanonischen IDs unten und lokalisierten Labels in der Sprache des Benutzers bereit. Fügen Sie
id: "__other__"nur hinzu, wenn Sie das Label für die Auflistung anpassen müssen; ansonsten hängt das Backend eine lokalisierte „Andere“-Option an. - Englische, chinesische und spanische Szenario-Labels/-Beschreibungen/-Starter-Prompts sind integriert. Für jede andere Benutzersprache übersetzen Sie die englischen
label,descriptionund den Starter-Prompt jedes Szenarios originalgetreu in die Sprache des Benutzers und übergeben Sie diese lokalisierten Werte in den Optionsobjekten. Bewahren Sie die OpenChatCut-Produktbegriffe und die Workflow-Bedeutung; fügen Sie keine neuen Anforderungen hinzu. Verwenden SiesubmitPromptfür den übersetzten Starter-Prompt. Diese Überschreibung ist spezifisch fürvariant: "scenario"; normale Optionskarten, Sprachkarten und visuelle Stilkarten erhalten ihren sichtbaren Text bereits aus den von Ihnen übergebenen Werten. - Stellen Sie keine benutzerdefinierten
previewoderaudioUrlbereit; das Backend füllt das native Erstbildschirm-Vorschaubild. - Kanonische IDs:
talking-head,motion-graphics,long-video-to-shorts,app-promo,ai-cinematic-short-film,explainer, plus__other__für ein freies Videobedürfnis. - Beispieloptionen:
{ "id": "talking-head", "label": "Sprecherkopf-Bearbeitung" },{ "id": "motion-graphics", "label": "Motion Graphics" },{ "id": "long-video-to-shorts", "label": "Langvideo zu Kurzvideos" },{ "id": "app-promo", "label": "Produkt / App-Werbung" },{ "id": "ai-cinematic-short-film", "label": "KI-Kurzfilm" },{ "id": "explainer", "label": "Erklärvideo" },{ "id": "__other__", "label": "Etwas anderes" }.
Aktuelle Lücken
ask_followup_questions ist nur für strukturierte Antworten. Es unterstützt kein natives benutzerdefiniertes HTML, keine Timeline-Parameter-Brücken, keine Editor-Elementauswahl und keine Datei-Upload-Felder. Für Dateien, die bereits von der Agenten-Laufzeit gehalten oder außerhalb dieser Karte direkt an den Chat angehängt werden, ist der Workflow für den Medienimport weiterhin gültig: Rufen Sie import_media auf und führen Sie den Hilfs-/direkten Upload-Pfad aus. Für Dateien, die der Benutzer direkt in einem Projekt platzieren möchte, bitten Sie ihn, die OpenChatCut-Editor-Upload-UI zu verwenden.
Beispiel
{
"title": "Deine Videoidée",
"prompt": "Wähle aus oder fülle aus, was du im Kopf hast, damit OpenChatCut eine gute Startrichtung wählen kann.",
"submitLabel": "Idee senden",
"messagePrefix": "Fahre mit dieser Videorichtung fort:",
"fields": [
{
"id": "goal",
"label": "Was ist das Hauptziel dieses Videos?",
"type": "single",
"options": [
{ "id": "product_intro", "label": "Produktvorstellung" },
{ "id": "social_ad", "label": "Social-Ad" },
{ "id": "__other__", "label": "Etwas anderes" }
]
},
{
"id": "elements",
"label": "Was soll es enthalten? (Wählen Sie alle zutreffenden aus)",
"type": "multi",
"options": [
{ "id": "broll", "label": "B-Roll" },
{ "id": "logo", "label": "Markenlogo" },
{ "id": "__other__", "label": "Etwas anderes" }
]
}
]
}