Communitygithub.com

runapi-ai/vidu

Generieren Sie Vidu Q4-Videos aus einem ersten Bild oder Referenzbildern sowie optionaler Referenz-Audio über RunAPI. Nutzen Sie die RunAPI-CLI für einmalige Generierungen und ein SDK für die Integration in Anwendungen.

Was ist vidu?

Dieses Skill ermöglicht die Erstellung von Vidu Q4-Videos mithilfe eines Startbilds, von Referenzbildern und optionalem Referenzaudio über die RunAPI-Plattform. Es bietet zwei Hauptnutzungspfade: die RunAPI-CLI für einmalige, schnelle Videoerzeugung (z. B. für ein einzelnes Artefakt oder Ergebnis) und ein SDK für die Integration in produktionsreife Anwendungen, Backends, Workflows oder Webhook-Pipelines. Der Skill stellt sicher, dass keine Kommandozeilenbefehle in der Produktion verwendet werden; stattdessen wird das SDK empfohlen. Der Prozess folgt einem strengen, dokumentierten Vertrag: Authentifizierung, Erkundung der installierten Befehle und API-Referenz, Erstellung eines validierten JSON-Requests, Ausführung mit genau einem Task und Blocking-Wait für Ergebnisse sowie umfassende Überprüfung heruntergeladener Mediendateien auf korrekten MIME-Typ und Nichtleerheit. Bei Fehlern gibt es klare Wiederherstellungs- oder Abbruchregeln, um Fehlbuchungen zu vermeiden. Das Skill behandelt Datei-Uploads intelligent: Lokale Dateipfade werden direkt in die Anfrage eingefügt, und die CLI lädt sie hoch; nur bei Bedarf wird `runapi files create` verwendet. Nach der Fertigstellung werden alle angeforderten Mediendeliverables heruntergeladen und auf Vollständigkeit geprüft, bevor der Erfolg gemeldet wird.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/runapi-ai/vidu/tree/HEAD/skills/vidu

In Ihrer bevorzugten KI fragen

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

Dokumentation

Vidu auf RunAPI

Route wählen

  • Für ein einmaliges Artefakt oder Ergebnis verwenden Sie den registrierten Dienst vidu in der runapi CLI. Wenn der installierte Befehlskatalog diesen nicht auflistet, stoppen Sie und melden Sie den fehlenden Dienst, anstatt einen Befehl zu erfinden.
  • Für eine App, ein Backend, einen Worker, eine Bibliothek, eine Webhook-Pipeline oder eine Produktionscodebasis gehen Sie direkt zu Mit SDK integrieren. Verwenden Sie in der Produktionslaufzeit niemals die CLI als Subprozess.

Vertrag erkunden

Authentifizieren Sie sich, durchsuchen Sie dann den installierten Befehlskatalog und den aktuellen Vertrag der ausgewählten Operation:

runapi auth status > auth.json
jq -e '.authenticated == true' auth.json
runapi vidu --help
runapi vidu <operation> --help
curl --fail --location https://runapi.ai/docs/api/vidu/<operation>.md --output contract.md

Wenn die Authentifizierung fehlschlägt, stoppen Sie vor der Übermittlung. Bitten Sie den Benutzer, einen gültigen RUNAPI_API_KEY bereitzustellen, oder importieren Sie einen vom Benutzer bereitgestellten Schlüssel von stdin mit runapi auth import-token --token -; verwenden Sie die interaktive Browser-Anmeldung nur, wenn der Benutzer dies ausdrücklich wünscht. Wählen Sie <operation> nur aus dem Dienst-Help aus. Behandeln Sie das Befehls-Help als maßgeblich für die installierte Operation, das Modell und die Feldliste der obersten Ebene. Behandeln Sie die API-Referenz als maßgeblich für das vollständige Anfrageschema, verschachtelte Felder, Bedingungsregeln, Aufgabenverhalten und Antwortvarianten. Wenn die beiden Oberflächen widersprüchlich sind, stoppen Sie und melden Sie den Vertragskonflikt, anstatt zu raten.

Anfrage erstellen

Erstellen Sie request.json als gültiges JSON, das nur Felder verwendet, die vom entdeckten Operationsvertrag akzeptiert werden. Für das gewählte Modell und die Werte bewerten Sie jede anwendbare Bedingungsregel als Satz: erfüllen Sie jedes erforderliche Feld, lassen Sie jedes verbotene Feld weg und stoppen Sie bei ungelösten Widersprüchen.

Durchlaufen Sie verschachtelte Objekte und Arrays vor der Ausführung. Schließen Sie jede im entdeckten Vertrag angegebene Beziehung ab, einschließlich Eindeutigkeitsbeschränkungen und Querverweise zwischen verschachtelten Werten.

Für eine entdeckte lokale Medieneingabe, einschließlich dateitypischer Felder und Medien-URL-Felder auf oberster Ebene, setzen Sie einen agentenlesbaren lokalen Dateipfad direkt in request.json. Die CLI konsumiert Dateifelder wie deklariert und lädt lokale Pfade in Medien-URL-Felder auf oberster Ebene hoch. Verwenden Sie runapi files create nur, wenn der Benutzer eine wiederverwendbare URL benötigt, Base64 bereitstellt oder der entdeckte Vertrag explizit einen separaten Upload erfordert.

Semantische Invarianten:

  • Remote-Medienformat, -größe und -Audiolänge werden asynchron vom Generierungsanbieter überprüft.

Validieren Sie die Datei vor dem Senden:

jq empty request.json

Ausführen

Senden Sie genau einmal und speichern Sie die Aufgabenantwort, bevor Sie warten:

runapi vidu <operation> --async --input-file request.json > task.json
task_id="$(jq -er '.id' task.json)"

Für ein einmaliges Ergebnis warten Sie sofort auf dieselbe Aufgabe und speichern Sie die vollständige JSON-Antwort. Dieses blockierende Warten ist der Standard:

runapi wait "$task_id" --service vidu --action <operation> > result.json

Nur wenn der Benutzer ausdrücklich eine Hintergrundausführung, Abfragen oder Webhook-Integration wünscht, dürfen Sie nach der Validierung von task.json anhalten. Melden Sie die Aufgaben-ID und behaupten Sie nicht, dass das Ergebnis vollständig ist.

Überprüfen

Ein Erfolgsstatus ist nicht das Ergebnis. Lesen und validieren Sie die vollständige Antwort gemäß dem entdeckten Ergebnisvertrag. Bewahren Sie das vollständige Nicht-Medien-Ergebnis im exakt angeforderten Format auf, einschließlich JSON, Text, SRT oder VTT.

Laden Sie für jedes angeforderte Medienergebnis, das irgendwo in der Antwort aufgeführt ist, alle herunter, anstatt nur die erste URL zurückzugeben. Leiten Sie vor dem Herunterladen den erwarteten MIME-Typ oder die Familie aus den Antwortmetadaten ab, wenn vorhanden, dann aus dem ausgewählten Ausgabeformat, dann aus einem eindeutigen Ergebnisfeld wie videos, images oder audios in der API-Referenz. Die im Katalog deklarierten Fallback-Familien für dieses Skill sind video/*. Stoppen Sie nur, wenn kein einzelner erwarteter Typ oder keine Familie aus diesen Quellen ermittelt werden kann.

Für jede heruntergeladene Datei verlangen Sie sowohl eine nicht leere Datei als auch den erwarteten MIME-Typ oder die Familie:

curl --fail --location <deliverable-url> --output <heruntergeladene-datei>
for datei in <heruntergeladene-dateien>; do
  erwarteter_mime=<erwartetes-MIME-oder-Familienmuster-für-diese-datei>
  test -s "$datei"
  [[ "$(file --brief --mime-type "$datei")" == $erwarteter_mime ]]
done

Melden Sie den Abschluss nicht, wenn ein angefordertes Ergebnis fehlt, leer ist oder einen unerwarteten MIME-Typ hat. Erfassen Sie Skill Conformance getrennt von Task Outcome, damit ein Dienstfehler nicht verbirgt, ob dieses Rezept befolgt wurde.

Wiederherstellen oder anhalten

  • Korrigieren Sie eine Anfrageform höchstens einmal, und nur, wenn der entdeckte Vertrag oder der zurückgegebene Validierungsfehler die Korrektur identifiziert.
  • Wiederholen Sie einen vorübergehenden Transportfehler höchstens einmal, und nur, wenn nachgewiesen ist, dass kein Task erstellt wurde, keine Abrechnung erfolgte und eine Wiederholung sicher ist.
  • Wenn das Warten nach task.json eine Zeitüberschreitung oder einen Transportverlust erleidet, bewahren Sie den Fehler auf und führen Sie runapi wait für denselben Task höchstens einmal erneut aus. Senden Sie niemals einen Ersatztask.
  • Bei einem terminalen RunAPI- oder Dienstfehler bewahren Sie die Aufgaben-/Fehlerbeweise auf und stoppen Sie. Behalten Sie das ausgewählte Modell und die Fähigkeit bei und senden Sie keine weitere kostenpflichtige Anfrage ohne Benutzerautorisierung.
  • Wenn dem Vertrag eine Tatsache fehlt, die zum Erstellen oder Überprüfen der Anfrage erforderlich ist, stoppen Sie und melden Sie die Vertragslücke. Machen Sie aus einem Produktfehler keinen permanenten Skill-Workaround.

Mit SDK integrieren

Verwenden Sie diese Route nur für Anwendungen oder Produktionscode-Integrationen. Öffnen Sie die aktuelle RunAPI SDK-Referenz unten, wählen Sie das Paket für die Zielsprache und Vidu und bestätigen Sie den Installationsbefehl, die Client-Methoden, die Anfragetypen, die Antworttypen und die Fehlerklassen, bevor Sie codieren. Bauen Sie die Anfrage aus demselben entdeckten Produktvertrag auf und wenden Sie dieselben Regeln zur Ergebnisüberprüfung und zum Anhalten an. Rufen Sie runapi nicht als Subprozess aus Produktionscode auf.

Referenzen

Varianten

Verwandte Skills