550W · Developer-API

Developer-API

API für Bild- und Videoverarbeitung

Was Sie erstellen können

Schnelle Integration

1

Credits hinzufügen

Videoaufgaben werden nach Verarbeitungsdauer und Auflösung berechnet. Bilder kosten 10 Credits pro erfolgreicher Aufgabe; fehlgeschlagene Verarbeitung wird nicht berechnet.

Nutzung und Abrechnung
2

API Key erstellen

Senden Sie bei jeder Anfrage userNo und API Key. Der Upload ist optional: Verwenden Sie /open/uploadVideo oder geben Sie direkt eine öffentliche videoUrl an.

API Key erstellen
3

Integrationsbeispiele

Wählen Sie den passenden Ablauf für Ihr Produkt. Jeder Schritt führt direkt zur API-Referenz.

Integrationsbeispiele
Base URLhttps://www.550wai.cnPOST · multipart/form-data

Schnellstart

Senden Sie bei jeder Anfrage userNo und API Key. Der Upload ist optional: Verwenden Sie /open/uploadVideo oder geben Sie direkt eine öffentliche videoUrl an.

curl -X POST https://www.550wai.cn/open/submitTask \\
  -H 'Content-Type: application/x-www-form-urlencoded' \\
  --data-urlencode 'userNo=YOUR_USER_NO' --data-urlencode 'apiKey=YOUR_API_KEY' \\
  --data-urlencode 'videoUrl=https://example.com/video.mp4' \\
  --data-urlencode 'width=1920' --data-urlencode 'height=1080' --data-urlencode 'duration=30' \\
  --data-urlencode 'x1=0' --data-urlencode 'y1=0' --data-urlencode 'x2=1920' --data-urlencode 'y2=200'

Konventionen

Erforderlich

Senden Sie bei jeder Anfrage userNo und API Key. Der Upload ist optional: Verwenden Sie /open/uploadVideo oder geben Sie direkt eine öffentliche videoUrl an.

Antwort

Antworten enthalten code und message. Aufgaben wechseln von waiting über processing zu success oder failed. Verwenden Sie bei Erfolg resultUrl und prüfen Sie bei Fehlern failCode. Ergebnisdateien laufen ab. Bei internationalen Konten (clientType=overseas) wird message auf Englisch zurückgegeben. Verwenden Sie für die Programmlogik die sprachunabhängigen Felder code, status und failCode.

Video-Untertitel und Wasserzeichen entfernen

uploadVideo → submitTask → taskDetail

Aufgabenstatus

Antworten enthalten code und message. Aufgaben wechseln von waiting über processing zu success oder failed. Verwenden Sie bei Erfolg resultUrl und prüfen Sie bei Fehlern failCode. Ergebnisdateien laufen ab.

waiting→processing→successfailed

Behandeln Sie Fehler mit code, message, status, failCode und refundStatus.

Asynchrone Aufgaben und Zuverlässigkeit

Aufgabenstatusprüfungen und Webhooks

Konfigurieren Sie ein öffentlich erreichbares HTTPS callbackUrl, um den endgültigen Aufgabenstatus zu erhalten. Alternativ können Sie taskDetail mit taskId abfragen und die Zeit zwischen den Prüfungen schrittweise erhöhen.

Idempotente Wiederholungsversuche

Senden Sie für jede neue Aufgabe einen eindeutigen Idempotency-Key. Verwenden Sie bei einem erneuten Übermittlungsversuch derselben Aufgabe denselben Schlüssel, um die ursprüngliche taskId zu erhalten und doppelte Aufgaben oder Abbuchungen zu vermeiden.

Asynchrone Bildverarbeitung

Setzen Sie sync auf false, speichern Sie task.taskId und rufen Sie imageWatermarkTaskDetail auf, bis der Status success oder failed ist. Bei Erfolg lesen Sie task.resultUrl.

resultUrl · 24 h

Integrationsbeispiele

Wählen Sie den passenden Ablauf für Ihr Produkt. Jeder Schritt führt direkt zur API-Referenz.

Video-Untertitel und Wasserzeichen entfernen

  1. videoUrl · uploadVideo · Video-Untertitel und Wasserzeichen entfernen · uploadVideo
  2. submitTask · Video-Untertitel und Wasserzeichen entfernen · submitTask
  3. taskId · taskDetail · callbackUrl
  4. Bei success laden Sie resultUrl herunter; bei failed prüfen Sie failCode und failReason.

Aufgaben und Konto

  1. userNo · apiKey · Für jede Anfrage erforderlich
  2. queryCredits · Aufgaben und Konto · credits
  3. taskList · Video-Untertitel und Wasserzeichen entfernen · Aufgaben und Konto. Gelöschte Aufgaben sind von taskDetail und taskList ausgeschlossen. Die Aufgabenstatuswerte bleiben waiting, processing, success oder failed.

Verfügbare Endpunkte

POST/open/uploadVideo

Video-Untertitel und Wasserzeichen entfernen · uploadVideo

POST/open/submitTask

Video-Untertitel und Wasserzeichen entfernen · submitTask

POST/open/taskDetail

Video-Untertitel und Wasserzeichen entfernen · Aufgabenstatus

POST/open/taskList

Video-Untertitel und Wasserzeichen entfernen · Aufgaben und Konto. Gelöschte Aufgaben sind von taskDetail und taskList ausgeschlossen. Die Aufgabenstatuswerte bleiben waiting, processing, success oder failed.

POST/open/deleteTask

Aufgabe löschen · Markiert eine Videoaufgabe als gelöscht und antwortet sofort. Hochgeladene Quelle, Verarbeitungsergebnis und Medien für Wiederholungsversuche werden anschließend asynchron im Hintergrund aus VOD entfernt. Bereits berechnete Credits werden nicht erstattet. Gelöschte Aufgaben sind von taskDetail und taskList ausgeschlossen. Die Aufgabenstatuswerte bleiben waiting, processing, success oder failed.

POST/open/removeImageWatermark

Bild-Wasserzeichen entfernen · removeImageWatermark

POST/open/imageWatermarkTaskDetail

Bild-Wasserzeichen entfernen · Aufgabenstatus

POST/open/queryCredits

Aufgaben und Konto · credits

POST

/open/uploadVideo

Video-Untertitel und Wasserzeichen entfernen · uploadVideo

Anfrageformat: multipart/form-data

Anfrageparameter

FeldTypErforderlichBeschreibung
userNostringJa550W userNo
apiKeystringJaAPI Key
filefileJaMP4/MOV · ≤ 1080p · ≤ 30 min · Dateigröße ≤ 1 GiB

Antwortfelder

FeldTypBeschreibung
codenumberErgebniscode; 200 bedeutet Erfolg
messagestringStatusmeldung
videoUrlstringHochgeladene Video-URL
coverUrlstringVideo-Cover-URL
widthnumberVideobreite in Pixel
heightnumberVideohöhe in Pixel
durationnumberVideodauer in Sekunden

Endpoint-Fehler

codeBedeutungBeschreibung
-100Authentifizierungs- oder KontingentfehlerTypische Ursachen: userNo · API Key · credits
-200Ungültiger ParameterTypische Ursachen: field · URL · size · duration · Idempotency-Key
-500Interner FehlerTypische Ursachen: server · retry
POST

/open/submitTask

Video-Untertitel und Wasserzeichen entfernen · submitTask

Anfrageformat: application/x-www-form-urlencoded

Anfrageparameter

FeldTypErforderlichBeschreibung
userNostringJa550W userNo
apiKeystringJaAPI Key
videoUrlstringJaHTTP(S) URL · ≤ 2048 Zeichen
widthnumberJaVideobreite · px
heightnumberJaVideohöhe · px · max ≤ 1920 · min ≤ 1080
durationnumberJa1–1800 s
x1numberJaoben links X · px
y1numberJaoben links Y · px
x2numberJaunten rechts X · px
y2numberJaunten rechts Y · px · x1 = y1 = x2 = y2 = 0: gesamtes Bild
modestringNeinnormal (Standard) · protect
fileNamestringNeinUTF-8
coverUrlstringNeinHTTP(S) URL
callbackUrlstringNeinHTTPS webhook · endgültiger Aufgabenstatus
removeAudiobooleanNeintrue · false (Standard)
Idempotency-Key / idempotencyKeystringEmpfohlen≤ 128 Zeichen · Es ist sicher, es noch einmal zu versuchen

Antwortfelder

FeldTypBeschreibung
codenumberErgebniscode; 200 bedeutet Erfolg
messagestringStatusmeldung
taskIdstringAufgabenkennung für Statusabfragen
statusstringwaiting · processing · success · failed

Endpoint-Fehler

codeBedeutungBeschreibung
-100Authentifizierungs- oder KontingentfehlerTypische Ursachen: userNo · API Key · credits
-200Ungültiger ParameterTypische Ursachen: field · URL · size · duration · Idempotency-Key
-300Anfrage abgelehntTypische Ursachen: taskId · ownership · state
-401Vorübergehende KontosperreTypische Ursachen: Erster wirksamer Verstoß: 1 Stunde; zweiter: 24 Stunden. Treffer während einer Sperre werden nicht gezählt, verlängert oder hochgestuft.
-402Dauerhafte KontosperreTypische Ursachen: Der dritte wirksame Verstoß sperrt das Konto dauerhaft.
-600Nicht unterstütztes VideoformatTypische Ursachen: codec · bit depth · HDR · audio
POST

/open/taskDetail

Video-Untertitel und Wasserzeichen entfernen · Aufgabenstatus

Anfrageformat: form / query

Anfrageparameter

FeldTypErforderlichBeschreibung
userNostringJa550W userNo
apiKeystringJaAPI Key
taskIdstringJa1–64 Zeichen
subUserIdstringNein≤ 128 Zeichen · Benutzereigentum

Antwortfelder

FeldTypBeschreibung
taskIdstringAufgabenkennung für Statusabfragen
statusstringwaiting · processing · success · failed
widthnumberVideobreite in Pixel
heightnumberVideohöhe in Pixel
durationnumberVideodauer in Sekunden
x1numberx1
y1numbery1
x2numberx2
y2numbery2
modestringmode
costnumberFür diese Aufgabe abgezogene Credits
resultUrlstringErgebnis-URL; gültig für 24 Stunden nach der Generierung
failCodestringStabile Fehlerkennung
failReasonstringGrund für das Scheitern der Aufgabe
refundStatusnumberStatus der Credit-Rückerstattung

Endpoint-Fehler

codeBedeutungBeschreibung
-100Authentifizierungs- oder KontingentfehlerTypische Ursachen: userNo · API Key · credits
-300Anfrage abgelehntTypische Ursachen: taskId · ownership · state
-500Interner FehlerTypische Ursachen: server · retry
POST

/open/taskList

Video-Untertitel und Wasserzeichen entfernen · Aufgaben und Konto. Gelöschte Aufgaben sind von taskDetail und taskList ausgeschlossen. Die Aufgabenstatuswerte bleiben waiting, processing, success oder failed.

Anfrageformat: form / query

Anfrageparameter

FeldTypErforderlichBeschreibung
userNostringJa550W userNo
apiKeystringJaAPI Key
pagenumberNein≥ 0 · Standard 0
sizenumberNein1–100 · Standard 20
subUserIdstringNein≤ 128 Zeichen · Benutzereigentum

Antwortfelder

FeldTypBeschreibung
totalnumberAnzahl der nicht gelöschten Aufgaben
pagenumberSeitenzahl
sizenumberAnzahl der Aufgaben pro Seite
listarrayListe der nicht gelöschten Aufgaben

Endpoint-Fehler

codeBedeutungBeschreibung
-100Authentifizierungs- oder KontingentfehlerTypische Ursachen: userNo · API Key · credits
-200Ungültiger ParameterTypische Ursachen: field · URL · size · duration · Idempotency-Key
-500Interner FehlerTypische Ursachen: server · retry
POST

/open/deleteTask

Aufgabe löschen · Markiert eine Videoaufgabe als gelöscht und antwortet sofort. Hochgeladene Quelle, Verarbeitungsergebnis und Medien für Wiederholungsversuche werden anschließend asynchron im Hintergrund aus VOD entfernt. Bereits berechnete Credits werden nicht erstattet. Gelöschte Aufgaben sind von taskDetail und taskList ausgeschlossen. Die Aufgabenstatuswerte bleiben waiting, processing, success oder failed.

Anfrageformat: form / query

Anfrageparameter

FeldTypErforderlichBeschreibung
userNostringJa550W userNo
apiKeystringJaAPI Key
taskIdstringJa1–64 Zeichen
subUserIdstringNein≤ 128 Zeichen · Benutzereigentum

Antwortfelder

FeldTypBeschreibung
codenumberErgebniscode; 200 bedeutet Erfolg
messagestringStatusmeldung

Endpoint-Fehler

codeBedeutungBeschreibung
-100Authentifizierungs- oder KontingentfehlerTypische Ursachen: userNo · API Key · credits
-200Ungültiger ParameterTypische Ursachen: field · URL · size · duration · Idempotency-Key
-300Anfrage abgelehntTypische Ursachen: taskId · ownership · state
-500Interner FehlerTypische Ursachen: server · retry
POST

/open/removeImageWatermark

Bild-Wasserzeichen entfernen · removeImageWatermark

Anfrageformat: multipart/form-data

Anfrageparameter

FeldTypErforderlichBeschreibung
userNostringJa550W userNo
apiKeystringJaAPI Key
filefileJaJPG · PNG · BMP · WebP · AVIF · TIFF · SVG · ≤ 50 MiB
syncbooleanNeintrue (Standard) · false
operationIdstringNeinTracking-ID

Antwortfelder

FeldTypBeschreibung
codenumberErgebniscode; 200 bedeutet Erfolg
messagestringStatusmeldung
creditsAfternumberNach der Bearbeitung verbleibende Credits
taskobjectVerarbeitungsergebnis oder asynchrone Aufgabe

Endpoint-Fehler

codeBedeutungBeschreibung
-100Authentifizierungs- oder KontingentfehlerTypische Ursachen: userNo · API Key · credits
-200Ungültiger ParameterTypische Ursachen: field · URL · size · duration · Idempotency-Key
-300Anfrage abgelehntTypische Ursachen: taskId · ownership · state
-500Interner FehlerTypische Ursachen: server · retry
POST

/open/imageWatermarkTaskDetail

Bild-Wasserzeichen entfernen · Aufgabenstatus

Anfrageformat: form / query

Anfrageparameter

FeldTypErforderlichBeschreibung
userNostringJa550W userNo
apiKeystringJaAPI Key
taskIdstringJa1–64 Zeichen

Antwortfelder

FeldTypBeschreibung
statusstringwaiting · processing · success · failed
resultUrlstringErgebnis-URL; gültig für 24 Stunden nach der Generierung
failCodestringStabile Fehlerkennung
failReasonstringGrund für das Scheitern der Aufgabe
costnumberFür diese Aufgabe abgezogene Credits
expiredTimestringAblaufzeit der Ergebnis-URL

Endpoint-Fehler

codeBedeutungBeschreibung
-100Authentifizierungs- oder KontingentfehlerTypische Ursachen: userNo · API Key · credits
-300Anfrage abgelehntTypische Ursachen: taskId · ownership · state
-500Interner FehlerTypische Ursachen: server · retry
POST

/open/queryCredits

Aufgaben und Konto · credits

Anfrageformat: form / query

Anfrageparameter

FeldTypErforderlichBeschreibung
userNostringJa550W userNo
apiKeystringJaAPI Key

Antwortfelder

FeldTypBeschreibung
codenumberErgebniscode; 200 bedeutet Erfolg
messagestringStatusmeldung
userNostringBenutzerkennung
creditsnumberVerfügbare Credits

Endpoint-Fehler

codeBedeutungBeschreibung
-100Authentifizierungs- oder KontingentfehlerTypische Ursachen: userNo · API Key · credits
-500Interner FehlerTypische Ursachen: server · retry

Allgemeine Anfragefelder

FeldErforderlichBeschreibung
userNoJa550W userNo
apiKeyJaAPI Key
Idempotency-KeyEmpfohlen≤ 128 · retry-safe
callbackUrlNeinHTTPS webhook · final status

Felder für Videoaufgaben

FeldTypBeschreibung
videoUrlstringHTTP(S) URL · ≤ 2048 Zeichen
widthnumberVideobreite · px
heightnumberVideohöhe · px · max ≤ 1920 · min ≤ 1080
durationnumber1–1800 s
x1numberoben links X · px
y1numberoben links Y · px
x2numberunten rechts X · px
y2numberunten rechts Y · px · x1 = y1 = x2 = y2 = 0: gesamtes Bild
modestringnormal (Standard) · protect
removeAudiobooleantrue · false (Standard)

Antwort- und Aufgabenstatus

Antworten enthalten code und message. Aufgaben wechseln von waiting über processing zu success oder failed. Verwenden Sie bei Erfolg resultUrl und prüfen Sie bei Fehlern failCode. Ergebnisdateien laufen ab.

{ "code": 200, "message": "success", "taskId": "...", "status": "waiting" }

Fehlercodes

CodeBedeutungTypische Ursachen
200Erfolgreichmessage: "success"
-100Authentifizierungs- oder KontingentfehleruserNo · API Key · credits
-200Ungültiger Parameterfield · URL · size · duration · Idempotency-Key
-300Anfrage abgelehnttaskId · ownership · state
-401Vorübergehende KontosperreErster wirksamer Verstoß: 1 Stunde; zweiter: 24 Stunden. Treffer während einer Sperre werden nicht gezählt, verlängert oder hochgestuft.
-402Dauerhafte KontosperreDer dritte wirksame Verstoß sperrt das Konto dauerhaft.
-500Interner Fehlerserver · retry
-600Nicht unterstütztes Videoformatcodec · bit depth · HDR · audio

Task-Fehler-IDs (failCode)

failCode ist ein String-Bezeichner, nicht der numerische Wert code. Es erscheint nur, wenn eine Aufgabe fehlschlägt. Verwenden Sie failCode, um die Ursache zu ermitteln. Analysieren Sie die übersetzte failReason-Nachricht nicht.

failCodeBedeutung
VIDEO_UNREACHABLEDie Video-URL ist nicht öffentlich zugänglich
VIDEO_METADATA_UNAVAILABLEZuverlässige Videometadaten konnten nicht abgerufen werden.
VIDEO_RESOLUTION_UNSUPPORTEDDie gemessene Videoauflösung überschreitet den unterstützten Bereich
VIDEO_DURATION_UNSUPPORTEDDie gemessene Videodauer überschreitet 30 Minuten
VIDEO_CODEC_UNSUPPORTEDDer Videocodec wird nicht unterstützt
VIDEO_BIT_DEPTH_UNSUPPORTEDDie Video-Bittiefe wird nicht unterstützt
VIDEO_HDR_UNSUPPORTEDHDR, PQ oder HLG werden nicht unterstützt
VIDEO_AUDIO_UNSUPPORTEDDer Audio-Codec wird nicht unterstützt
VIDEO_CONTAINER_UNSUPPORTEDDas Videocontainerformat wird nicht unterstützt
VIDEO_PREPARE_FAILEDDie Videovorbereitung, Validierung oder Audioentfernung ist fehlgeschlagen

Beispiel kopieren und aufrufen

/open/submitTask

// JavaScript
const form = new URLSearchParams({
  userNo: USER_NO, apiKey: API_KEY, videoUrl: VIDEO_URL,
  width: '1920', height: '1080', duration: '30',
  x1: '0', y1: '0', x2: '1920', y2: '200'
});
const response = await fetch('https://www.550wai.cn/open/submitTask', {
  method: 'POST',
  body: form,
});

# Python
import requests
r = requests.post('https://www.550wai.cn/open/submitTask', data={
  'userNo': USER_NO, 'apiKey': API_KEY, 'videoUrl': VIDEO_URL,
  'width': 1920, 'height': 1080, 'duration': 30,
  'x1': 0, 'y1': 0, 'x2': 1920, 'y2': 200
})

/open/removeImageWatermark

// JavaScript
const imageFile = document.querySelector('#image-file').files[0];
const imageForm = new FormData();
imageForm.append('userNo', USER_NO);
imageForm.append('apiKey', API_KEY);
imageForm.append('file', imageFile);
imageForm.append('sync', 'true');
const imageResponse = await fetch(
  'https://www.550wai.cn/open/removeImageWatermark',
  { method: 'POST', body: imageForm }
);

# Python
import requests
IMAGE_FILE_PATH = '/path/to/image-file'
with open(IMAGE_FILE_PATH, 'rb') as image:
  r = requests.post(
    'https://www.550wai.cn/open/removeImageWatermark',
    data={'userNo': USER_NO, 'apiKey': API_KEY, 'sync': 'true'},
    files={'file': image}
  )

Nutzung und Abrechnung

Videoaufgaben werden nach Verarbeitungsdauer und Auflösung berechnet. Bilder kosten 10 Credits pro erfolgreicher Aufgabe; fehlgeschlagene Verarbeitung wird nicht berechnet.

VideoauflösungTarifBeispiel
width × height ≤ 921,600 · 720p oder niedriger1.3 Credits / s1280×720 · 30 s ≈ 39 Credits
width × height > 921,600 · Bis zu 1080p1.6 Credits / s1920×1080 · 30 s ≈ 48 Credits

Aufgabenabfragen geben nur Daten des authentifizierten Benutzers zurück.

Behandeln Sie Fehler mit code, message, status, failCode und refundStatus.

Credits kaufen

Videoaufgaben werden nach Verarbeitungsdauer und Auflösung berechnet. Bilder kosten 10 Credits pro erfolgreicher Aufgabe; fehlgeschlagene Verarbeitung wird nicht berechnet.

Preise →