WWeydub API

API Referenz

API Referenz

Diese Referenz bietet Entwicklern und Automatisierungsagenten eine zentrale, kompakte Anlaufstelle für die Endpunkte der Weydub API, Zugriffsprüfungen, Anfragestruktur, asynchrones Verhalten, Abrechnungs- und Aufbewahrungsregeln sowie Hinweise zur Fehlerbehebung.

Grundlagen zu Anfragen

ElementWert
Basis-URLhttps://api.zhaoli.com
ProtokollHTTPS
MethodePOST für die dokumentierten API-Aufrufe
KodierungUTF-8
Inhaltstypapplication/json
AuthentifizierungDie Header AppKey und AppSign, außer bei Endpunkten, die ausdrücklich als nicht signiert gekennzeichnet sind

Einige Bezeichnungen aus der Legacy-Infrastruktur können weiterhin in öffentlichen Demo-Assets oder älteren Kontopfaden erscheinen. Betrachten Sie diese Dokumentation zu Weydub API als die aktuell maßgebliche produktseitige Vertragsgrundlage.

Vor dem Aufruf

PrüfungWas zu prüfen istWarum dies wichtig ist
Zugriff auf APIMit Ihrem angemeldeten Konto bei Weydub können Sie den Zugriff auf API kostenlos freischalten; prüfen Sie bei Bedarf die workflowspezifischen Berechtigungen.Für einige Aufgabenfamilien, insbesondere Bildübersetzung und Synchronisation mit hoher Emotionalität, kann eine kontospezifische Freischaltung erforderlich sein.
ZugangsdatenSie verfügen über AppKey und AppSecret, die als geheime Werte im Backend gespeichert sind.AppSecret darf niemals in Frontend-Code, öffentlichen Repositorys, Protokollen, Screenshots oder Prompts erscheinen.
Medien-URLsQuelldateien sind während des Verarbeitungszeitraums öffentlich erreichbar und stabil verfügbar.Worker von Weydub müssen die Quellmedien vor der Verarbeitung herunterladen.
Callback-URLCallbacks im Produktivbetrieb geben HTTP 200 sowie einen nicht leeren Body erst nach dauerhafter Speicherung zurück.Asynchrone Jobs können abgeschlossen werden, nachdem die ursprüngliche Anfrage bereits beantwortet wurde.
ErgebnisspeicherungIhr Dienst speichert Arbeits-IDs, Aufgaben-IDs, Status, Ergebnis-URLs und Fehler.Generierte Assets können einer Aufbewahrungsrichtlinie unterliegen; sichern Sie daher dauerhafte Referenzen zeitnah.

Authentifizierung

Für die meisten Anfragen werden folgende Header verwendet:

text
Content-Type: application/json
AppKey: $WEYDUB_APP_KEY
AppSign: md5(md5(request_body) + $WEYDUB_APP_SECRET)

Signieren Sie exakt den kompakten JSON-Body, der gesendet wird. Lesen Sie Authentifizierung und Signierung, bevor Sie Signaturfehler untersuchen.

Ausnahme ohne Signatur:

text
POST /v-w-c/enum/query2

Der Enum-Abfrageendpunkt wird für dynamische Sprach- und Statuslisten verwendet und erfordert keine Signatur.

Endpunktübersicht

MethodePfadKategorieZweckZugriffshinweise
POST/v-w-c/gateway/ve/work/freeVideoDie meisten Videoaufgaben erstellen: Untertitel- und Textentfernung, Videoübersetzung, OCR-Untertitelextraktion, ASR-Extraktion und das Rendern von Untertiteln.Grundlegender API-Zugriff erforderlich.
POST/v-w-c/gateway/ve/work/statusVideoStatus und Ergebnisfelder von Videoaufgaben anhand von Work-IDs abfragen.Nach der Aufgabenerstellung oder als Callback-Fallback verwenden.
POST/v-w-c/gateway/ve/work/listVideoHistorische Videoaufgaben abfragen.Für interne Dashboards und den Abgleich nützlich.
POST/v-w-c/gateway/ve/work/video/inpaint/redoVideoTextentfernung/Inpainting mit angepassten Masken erneut ausführen.Erfordert einen vorhandenen Work- oder Aufgabenkontext.
POST/v-w-c/gateway/ve/work/translationPro/redoVideoÜbersetzung/Synchronisation mit angepassten Untertiteln, Timing oder Stimmeinstellungen erneut ausführen.Erfordert den Kontext einer bestehenden Übersetzungsaufgabe.
POST/v-w-c/gateway/ve/work/voice/incorporateVideoAufgaben zum Klonen hochemotionaler Stimmen und zur Synchronisation erstellen.Prüfen Sie die Kontofreischaltung, bevor Sie Produktivdatenverkehr aufschalten.
POST/v-w-c/gateway/ve/image/translateBildEine Aufgabe zur Entfernung von Text aus Bildern oder zur Bildübersetzung erstellen.Nach dem kostenlosen API-Zugriff ist möglicherweise eine Freischaltung für Bild-Workflows erforderlich.
POST/v-w-c/gateway/ve/image/translate/redoBildEine Bildaufgabe nach Bearbeitung der Text-/Stilmetadaten des Ergebnisses neu generieren.Erfordert eine vorhandene Bildaufgaben-ID und das Ergebnis-JSON.
POST/v-w-c/ve/image/translate/task/launchBild (Legacy/Web)Eine einzelne Bildaufgabe in älteren Konto- oder Web-Workflows erstellen.Nur verwenden, wenn dies für das Konto bestätigt wurde.
POST/v-w-c/ve/image/translate/task/launch2Bild (Legacy/Web)Eine Batch-Bildaufgabe in älteren Konto- oder Web-Workflows erstellen.Batch-Limits und Callback-Richtlinie bestätigen.
POST/v-w-c/ve/image/translate/task/queryBild (Legacy/Web)Eine einzelne Bildaufgabe in älteren Konto- oder Web-Workflows abfragen.Vor dem Lesen der Ausgaben wiederholt abfragen, bis ein Endstatus erreicht ist.
POST/v-w-c/enum/query2HilfsfunktionDynamische Enums wie Statuswerte und Sprachlisten abfragen.Keine Signatur erforderlich.

Videoaufgabe erstellen

text
POST /v-w-c/gateway/ve/work/free

Häufige Workflows mit diesem Endpunkt:

WorkflowErforderliches SignalEinstiegsseite
Entfernung von Untertiteln/TextenneedChineseOcclude: 1, 2 oder 3; Advanced Lite/Pro über extraOptions.extra_inpaint_configEntfernung von Untertiteln und Text aus Videos
Videoübersetzung/SynchronisationneedWanyin: 1, sourceLang, lang, wyTaskTypeVideoübersetzung
Übersetzung von eingeblendetem TextneedChineseOcclude: 11, sourceLang, lang, videoInpaintLangVideoübersetzung
OCR-UntertitelextraktionneedChineseOcclude: 14, videoInpaintMasks, videoInpaintLangUntertitelextraktion
ASR-UntertitelextraktionneedWanyin: 1, wyTaskType: "ONLY_ASR", wyNeedText: 0Untertitelextraktion

Minimalanfrage:

json
{
  "urls": ["https://example.com/demo.mp4"],
  "needChineseOcclude": 1,
  "videoInpaintLang": "all",
  "callback": "https://your-domain.example/webhooks/weydub"
}

Typische Felder der Erstellungsantwort:

FeldBedeutung
idProjectBatch-/Projekt-ID.
dataList[].idArbeits-ID für Statusabfragen und die Callback-Zuordnung.
dataList[].urlFür die Verarbeitung akzeptierte Quell-URL.

Videostatus abfragen

text
POST /v-w-c/gateway/ve/work/status
json
{
  "idWorks": [488026661]
}

Statuswerte:

processStatusBedeutungClientverhalten
< 1Wird verarbeitet.Später erneut abfragen oder auf den Callback warten.
1Erfolgreich.Ergebnis-URLs auslesen und dauerhaft speichern.
> 1Fehlgeschlagen.errorDetail anzeigen. Für fehlgeschlagene Aufgaben werden keine Credits abgezogen.

Erfolgreiche Videoaufgaben können videoUrl, coverUrl, srcSrtUrl, tgtSrtUrl, sourceVideoUrl, ttsMetaResult, wyVoiceParam und Aufgabenmetadaten enthalten.

Bildaufgaben

Aktueller öffentlicher Endpunkt zum Erstellen:

text
POST /v-w-c/gateway/ve/image/translate

Endpunkt für die erneute Verarbeitung:

text
POST /v-w-c/gateway/ve/image/translate/redo

Anfrage zur Bildübersetzung:

json
{
  "srcLang": "en",
  "tgtLang": "es",
  "translateOn": 1,
  "synthesisOn": 1,
  "commodityFilterOn": 0,
  "downloadInfo": "{\"url\":\"https://example.com/product.png\",\"fileName\":\"product.png\",\"id\":12345,\"materialName\":\"product.png\"}",
  "app": "WD"
}

Anfrage zur Entfernung von Bildtext:

json
{
  "srcLang": "en",
  "tgtLang": "en",
  "translateOn": 0,
  "synthesisOn": 1,
  "commodityFilterOn": 0,
  "downloadInfo": "{\"url\":\"https://example.com/banner.png\",\"fileName\":\"banner.png\",\"id\":12346,\"materialName\":\"banner.png\"}",
  "app": "WD"
}

Lesen Sie Bildübersetzung, bevor Sie Bildaufgaben implementieren, da downloadInfo, downloadInfos und bei erneuter Verarbeitung result ihr jeweils dokumentiertes Zeichenfolgenformat beibehalten müssen.

Enum-Abfrage

text
POST /v-w-c/enum/query2

Für diesen Endpunkt ist AppSign nicht erforderlich.

json
{
  "text": "Lang"
}

Gängige Enum-Namen:

textZweck
ProcessStatusStatuscodes für Videoaufgaben.
ImageTaskStatusStatuscodes für Bildaufgaben.
sourceLangListe der Ausgangssprachen für Videoübersetzungen.
LangListe der Zielsprachen für Videoübersetzungen.
musicRegionListe der Smart-Music-Regionen, sofern unterstützt.

Abrechnung, Grenzwerte und Aufbewahrung

ThemaRegel
VideodauerDie derzeitige feste Obergrenze beträgt 15 Minuten pro Videodatei. Teilen Sie längere Medien in Segmente von weniger als 15 Minuten auf, beispielsweise 14:59, um Probleme durch die Rundung der Dauer zu vermeiden.
VideogrößeDie derzeitige feste Obergrenze beträgt 1000 MB pro Videodatei. Komprimieren Sie zu große Dateien vor der Übermittlung.
BildgrenzwerteMaximal 2000*2000 px, maximal 50 MB, unterstützte Formate: png, jpeg, jpg, bmp, webp; Bild-URLs dürfen keine chinesischen Zeichen enthalten.
AbrechnungseinheitVideo-Workflows werden in Einheiten von 30 Sekunden abgerechnet. Ein Video mit einer Dauer von weniger als 30 Sekunden wird mit 30 Sekunden angesetzt.
Kombinierte DiensteBei der Kombination von Diensten wie Textentfernung und Sprachübersetzung können sich die Kosten summieren.
Fehlgeschlagene AufgabenEndgültig fehlgeschlagene Aufgaben (processStatus > 1) ziehen keine Credits ab.
AufbewahrungFür von API generierte Daten gelten die Web-Aufbewahrungsregeln von Weydub. Standardmäßig werden Quelldateien und gerenderte Ausgaben der letzten 30 Tage aufbewahrt. Laden Sie wichtige Assets nach dem Callback herunter und speichern Sie sie.
CRFDer standardmäßige Video-CRF-Wert beträgt 17 und ist für die meisten Formen der Verbreitung visuell verlustfrei. Niedrigere Werte wie 15 oder 16 sind möglicherweise über extraOptions.write_options verfügbar und können zusätzliche Bandbreiten- und Speichergebühren verursachen.

Callback-Zusammenfassung

Übergeben Sie bei unterstützten Erstellungsanfragen eine callback-URL. Weydub sendet das abgeschlossene Arbeitselement direkt an Ihren Server, ohne den äußeren code- / msg- / body-Wrapper, der bei Polling-Antworten verwendet wird.

Regeln für die Callback-Verarbeitung:

  • Verifizieren Sie Callback-Sign mithilfe des unveränderten Bodys der Callback-Anfrage und Ihres AppSecret.
  • Geben Sie HTTP 200 zusammen mit einem beliebigen nicht leeren Body erst zurück, nachdem die dauerhafte Speicherung erfolgreich war.
  • Stellen Sie anhand der Work-/Task-ID sicher, dass Handler idempotent sind.
  • Bei fehlgeschlagenen Callbacks für Aufgaben, die innerhalb der letzten 24 Stunden erstellt wurden, erfolgt etwa alle 30 Minuten ein erneuter Zustellversuch.
  • Wenn eine erneute Ausführung Video- oder Bildinhalte ändert, kann sich die Ausgabe-URL ändern; speichern Sie die neueste Ergebnis-URL.

Weitere Einzelheiten zu Callbacks finden Sie unter Asynchrones Aufgabenmodell.

Fehlerbehebung

SymptomWahrscheinliche UrsachePrüfung
SignaturfehlerDie Body-Bytes wurden nach dem Signieren geändert, oder es wurde lesbar formatiertes JSON signiert, aber kompaktes JSON gesendet.Protokollieren Sie einen nicht geheimen Body-Hash und vergleichen Sie die Codepfade für Signierung und Versand.
Aufgabe erstellt, aber kein ErgebnisDie asynchrone Verarbeitung läuft noch.Fragen Sie /v-w-c/gateway/ve/work/status per Polling ab oder warten Sie auf den Callback.
Ausgabe-URL fehltFalscher Workflow-Modus oder die Aufgabe hat noch keinen Endstatus erreicht.Prüfen Sie, ob processStatus === 1 gilt, und untersuchen Sie die workflowspezifischen Ausgabefelder.
Callback erscheint nicht in Ihrer AppDer Handler hat vor der dauerhaften Speicherung eine Antwort zurückgegeben, die Signaturprüfung ist fehlgeschlagen oder die Work-ID stimmte nicht überein.Speichern Sie die unveränderte Callback-Nutzlast, vergleichen Sie Callback-Sign und gestalten Sie Aktualisierungen idempotent.
Endpunkt nicht verfügbarDie Kontoberechtigung ist nicht aktiviert.Prüfen Sie den API-Zugriff für die jeweilige Aufgabenfamilie.
Fehler wegen Überschreitung der Video-HöchstgrenzeDas Video ist länger als 15 Minuten oder größer als 1000 MB.Teilen Sie das Video vor dem Übermitteln in Segmente auf oder komprimieren Sie es.
Fehler wegen Überschreitung des BildlimitsDas Bild überschreitet 2000*2000 px und 50 MB, wird nicht unterstützt oder URL enthält chinesische Zeichen.Größe ändern, erneut komprimieren, URL umbenennen/kodieren und erneut versuchen.

Agentenvertrag

Automatisierungsagenten sollten:

  • Laden Sie llms.txt und Weydub API Skill.
  • Verwenden Sie Demoszenarien vor Kundenmedien.
  • Bewahren Sie Zugangsdaten in Umgebungsvariablen oder einem Secret-Manager auf.
  • Speichern Sie IDs dauerhaft, bevor Sie den Benutzern den Erfolg melden.
  • Modellieren Sie Jobs als submitted -> processing -> succeeded | failed | timed_out.
  • Legen Sie AppSecret niemals offen und erfinden Sie keine freigeschalteten Endpunkte.