550W · API développeur

API développeur

API de traitement d’images et de vidéos

Ce que vous pouvez créer

Intégration rapide

1

Ajouter des crédits

Les tâches vidéo sont facturées selon la durée de traitement et la résolution. Une image coûte 10 crédits par tâche réussie ; aucun crédit n’est débité en cas d’échec.

Utilisation et facturation
2

Générer une API Key

Ajoutez userNo et API Key à chaque requête. Le téléversement est facultatif : utilisez /open/uploadVideo ou fournissez directement une videoUrl publique.

Générer une API Key
3

Exemples d’intégration

Choisissez le parcours adapté à votre produit. Chaque étape renvoie directement à la référence de l’API.

Exemples d’intégration
Base URLhttps://www.550wai.cnPOST · multipart/form-data

Démarrage rapide

Ajoutez userNo et API Key à chaque requête. Le téléversement est facultatif : utilisez /open/uploadVideo ou fournissez directement une videoUrl publique.

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'

Conventions

Obligatoire

Ajoutez userNo et API Key à chaque requête. Le téléversement est facultatif : utilisez /open/uploadVideo ou fournissez directement une videoUrl publique.

Réponse

Les réponses contiennent code et message. Les tâches passent de waiting à processing, puis à success ou failed. En cas de réussite, utilisez resultUrl ; en cas d’échec, consultez failCode. Les fichiers de résultat expirent. Pour les comptes internationaux (clientType=overseas), message est retourné en anglais. Utilisez code, status, failCode et les noms de champs dans votre logique.

Suppression des sous-titres et filigranes vidéo

uploadVideo → submitTask → taskDetail

États de tâche

Les réponses contiennent code et message. Les tâches passent de waiting à processing, puis à success ou failed. En cas de réussite, utilisez resultUrl ; en cas d’échec, consultez failCode. Les fichiers de résultat expirent.

waiting→processing→successfailed

Gérez les erreurs avec code, message, status, failCode et refundStatus.

Tâches asynchrones et fiabilité

Vérifications de l'état des tâches et Webhooks

Configurez un HTTPS callbackUrl accessible publiquement pour recevoir le statut final de la tâche. Vous pouvez également interroger taskDetail avec taskId et augmenter progressivement le temps entre les vérifications.

Nouvelles tentatives idempotentes

Envoyez un Idempotency-Key unique pour chaque nouvelle tâche. Lors d’une nouvelle tentative pour le même envoi, réutilisez cette clé pour obtenir le taskId d’origine sans créer de tâche supplémentaire ni débiter les crédits deux fois.

Traitement d'image asynchrone

Définissez sync sur false, enregistrez task.taskId et appelez imageWatermarkTaskDetail jusqu'à ce que l'état soit success ou failed. En cas de succès, lisez task.resultUrl.

resultUrl · 24 h

Exemples d’intégration

Choisissez le parcours adapté à votre produit. Chaque étape renvoie directement à la référence de l’API.

Suppression des sous-titres et filigranes vidéo

  1. videoUrl · uploadVideo · Suppression des sous-titres et filigranes vidéo · uploadVideo
  2. submitTask · Suppression des sous-titres et filigranes vidéo · submitTask
  3. taskId · taskDetail · callbackUrl
  4. Avec success, téléchargez resultUrl ; avec failed, consultez failCode et failReason.

Suppression des filigranes d’image

  1. removeImageWatermark · Suppression des filigranes d’image · removeImageWatermark
  2. sync=true → resultUrl · sync=false → taskId
  3. imageWatermarkTaskDetail · Consultez le statut final

Tâches et compte

  1. userNo · apiKey · Requis à chaque requête
  2. queryCredits · Tâches et compte · credits
  3. taskList · Suppression des sous-titres et filigranes vidéo · Tâches et compte. Les tâches supprimées sont exclues de taskDetail et taskList. Les valeurs de statut de tâche restent waiting, processing, success ou failed.

Endpoints disponibles

POST/open/uploadVideo

Suppression des sous-titres et filigranes vidéo · uploadVideo

POST/open/submitTask

Suppression des sous-titres et filigranes vidéo · submitTask

POST/open/taskDetail

Suppression des sous-titres et filigranes vidéo · États de tâche

POST/open/taskList

Suppression des sous-titres et filigranes vidéo · Tâches et compte. Les tâches supprimées sont exclues de taskDetail et taskList. Les valeurs de statut de tâche restent waiting, processing, success ou failed.

POST/open/deleteTask

Supprimer la tâche · Marque une tâche vidéo comme supprimée et renvoie immédiatement une réponse. La source téléversée, le résultat et les fichiers de nouvelle tentative sont ensuite supprimés de VOD de manière asynchrone en arrière-plan. Les crédits débités ne sont pas remboursés. Les tâches supprimées sont exclues de taskDetail et taskList. Les valeurs de statut de tâche restent waiting, processing, success ou failed.

POST/open/removeImageWatermark

Suppression des filigranes d’image · removeImageWatermark

POST/open/imageWatermarkTaskDetail

Suppression des filigranes d’image · États de tâche

POST/open/queryCredits

Tâches et compte · credits

POST

/open/uploadVideo

Suppression des sous-titres et filigranes vidéo · uploadVideo

Format de requête: multipart/form-data

Paramètres de requête

ChampTypeObligatoireDescription
userNostringOui550W userNo
apiKeystringOuiAPI Key
filefileOuiMP4/MOV · ≤ 1080p · ≤ 30 min · Taille du fichier ≤ 1 GiB

Champs de réponse

ChampTypeDescription
codenumberCode de résultat ; 200 signifie le succès
messagestringMessage d'état
videoUrlstringURL de la vidéo téléversée
coverUrlstringURL de couverture vidéo
widthnumberLargeur de la vidéo en pixels
heightnumberHauteur de la vidéo en pixels
durationnumberDurée de la vidéo en secondes

Erreurs de l’endpoint

codeSignificationDescription
-100Échec d’authentification ou de quotaCauses courantes: userNo · API Key · credits
-200Paramètre non valideCauses courantes: field · URL · size · duration · Idempotency-Key
-500Erreur interneCauses courantes: server · retry
POST

/open/submitTask

Suppression des sous-titres et filigranes vidéo · submitTask

Format de requête: application/x-www-form-urlencoded

Paramètres de requête

ChampTypeObligatoireDescription
userNostringOui550W userNo
apiKeystringOuiAPI Key
videoUrlstringOuiHTTP(S) URL · ≤ 2048 caractères
widthnumberOuilargeur de la vidéo · px
heightnumberOuihauteur de la vidéo · px · max ≤ 1920 · min ≤ 1080
durationnumberOui1–1800 s
x1numberOuien haut à gauche X · px
y1numberOuien haut à gauche Y · px
x2numberOuien bas à droite X · px
y2numberOuien bas à droite Y · px · x1 = y1 = x2 = y2 = 0: image entière
modestringNonnormal (par défaut) · protect
fileNamestringNonUTF-8
coverUrlstringNonHTTP(S) URL
callbackUrlstringNonHTTPS webhook · statut final de la tâche
removeAudiobooleanNontrue · false (par défaut)
Idempotency-Key / idempotencyKeystringRecommandé≤ 128 caractères · nouvelle tentative sans doublon

Champs de réponse

ChampTypeDescription
codenumberCode de résultat ; 200 signifie le succès
messagestringMessage d'état
taskIdstringIdentificateur de tâche pour les requêtes d'état
statusstringwaiting · processing · success · failed

Erreurs de l’endpoint

codeSignificationDescription
-100Échec d’authentification ou de quotaCauses courantes: userNo · API Key · credits
-200Paramètre non valideCauses courantes: field · URL · size · duration · Idempotency-Key
-300Requête refuséeCauses courantes: taskId · ownership · state
-401Suspension temporaire du compteCauses courantes: Première infraction effective : 1 heure ; deuxième : 24 heures. Les détections pendant une suspension ne sont pas comptabilisées et ne prolongent ni n’aggravent la suspension.
-402Blocage permanent du compteCauses courantes: La troisième infraction effective bloque définitivement le compte.
-600Format vidéo non pris en chargeCauses courantes: codec · bit depth · HDR · audio
POST

/open/taskDetail

Suppression des sous-titres et filigranes vidéo · États de tâche

Format de requête: form / query

Paramètres de requête

ChampTypeObligatoireDescription
userNostringOui550W userNo
apiKeystringOuiAPI Key
taskIdstringOui1–64 caractères
subUserIdstringNon≤ 128 caractères · propriété de l'utilisateur

Champs de réponse

ChampTypeDescription
taskIdstringIdentificateur de tâche pour les requêtes d'état
statusstringwaiting · processing · success · failed
widthnumberLargeur de la vidéo en pixels
heightnumberHauteur de la vidéo en pixels
durationnumberDurée de la vidéo en secondes
x1numberx1
y1numbery1
x2numberx2
y2numbery2
modestringmode
costnumberCrédits facturés pour cette tâche
resultUrlstringURL du résultat ; valable 24 heures après la génération
failCodestringIdentificateur de panne stable
failReasonstringRaison de l'échec de la tâche
refundStatusnumberStatut de remboursement du crédit

Erreurs de l’endpoint

codeSignificationDescription
-100Échec d’authentification ou de quotaCauses courantes: userNo · API Key · credits
-300Requête refuséeCauses courantes: taskId · ownership · state
-500Erreur interneCauses courantes: server · retry
POST

/open/taskList

Suppression des sous-titres et filigranes vidéo · Tâches et compte. Les tâches supprimées sont exclues de taskDetail et taskList. Les valeurs de statut de tâche restent waiting, processing, success ou failed.

Format de requête: form / query

Paramètres de requête

ChampTypeObligatoireDescription
userNostringOui550W userNo
apiKeystringOuiAPI Key
pagenumberNon≥ 0 · par défaut 0
sizenumberNon1–100 · par défaut 20
subUserIdstringNon≤ 128 caractères · propriété de l'utilisateur

Champs de réponse

ChampTypeDescription
totalnumberNombre de tâches non supprimées
pagenumberNuméro de page
sizenumberNombre de tâches par page
listarrayListe des tâches non supprimées

Erreurs de l’endpoint

codeSignificationDescription
-100Échec d’authentification ou de quotaCauses courantes: userNo · API Key · credits
-200Paramètre non valideCauses courantes: field · URL · size · duration · Idempotency-Key
-500Erreur interneCauses courantes: server · retry
POST

/open/deleteTask

Supprimer la tâche · Marque une tâche vidéo comme supprimée et renvoie immédiatement une réponse. La source téléversée, le résultat et les fichiers de nouvelle tentative sont ensuite supprimés de VOD de manière asynchrone en arrière-plan. Les crédits débités ne sont pas remboursés. Les tâches supprimées sont exclues de taskDetail et taskList. Les valeurs de statut de tâche restent waiting, processing, success ou failed.

Format de requête: form / query

Paramètres de requête

ChampTypeObligatoireDescription
userNostringOui550W userNo
apiKeystringOuiAPI Key
taskIdstringOui1–64 caractères
subUserIdstringNon≤ 128 caractères · propriété de l'utilisateur

Champs de réponse

ChampTypeDescription
codenumberCode de résultat ; 200 signifie le succès
messagestringMessage d'état

Erreurs de l’endpoint

codeSignificationDescription
-100Échec d’authentification ou de quotaCauses courantes: userNo · API Key · credits
-200Paramètre non valideCauses courantes: field · URL · size · duration · Idempotency-Key
-300Requête refuséeCauses courantes: taskId · ownership · state
-500Erreur interneCauses courantes: server · retry
POST

/open/removeImageWatermark

Suppression des filigranes d’image · removeImageWatermark

Format de requête: multipart/form-data

Paramètres de requête

ChampTypeObligatoireDescription
userNostringOui550W userNo
apiKeystringOuiAPI Key
filefileOuiJPG · PNG · BMP · WebP · AVIF · TIFF · SVG · ≤ 50 MiB
syncbooleanNontrue (par défaut) · false
operationIdstringNonidentifiant de suivi

Champs de réponse

ChampTypeDescription
codenumberCode de résultat ; 200 signifie le succès
messagestringMessage d'état
creditsAfternumberCrédits restants après traitement
taskobjectRésultat du traitement ou tâche asynchrone

Erreurs de l’endpoint

codeSignificationDescription
-100Échec d’authentification ou de quotaCauses courantes: userNo · API Key · credits
-200Paramètre non valideCauses courantes: field · URL · size · duration · Idempotency-Key
-300Requête refuséeCauses courantes: taskId · ownership · state
-500Erreur interneCauses courantes: server · retry
POST

/open/imageWatermarkTaskDetail

Suppression des filigranes d’image · États de tâche

Format de requête: form / query

Paramètres de requête

ChampTypeObligatoireDescription
userNostringOui550W userNo
apiKeystringOuiAPI Key
taskIdstringOui1–64 caractères

Champs de réponse

ChampTypeDescription
statusstringwaiting · processing · success · failed
resultUrlstringURL du résultat ; valable 24 heures après la génération
failCodestringIdentificateur de panne stable
failReasonstringRaison de l'échec de la tâche
costnumberCrédits facturés pour cette tâche
expiredTimestringDélai d'expiration de l'URL du résultat

Erreurs de l’endpoint

codeSignificationDescription
-100Échec d’authentification ou de quotaCauses courantes: userNo · API Key · credits
-300Requête refuséeCauses courantes: taskId · ownership · state
-500Erreur interneCauses courantes: server · retry
POST

/open/queryCredits

Tâches et compte · credits

Format de requête: form / query

Paramètres de requête

ChampTypeObligatoireDescription
userNostringOui550W userNo
apiKeystringOuiAPI Key

Champs de réponse

ChampTypeDescription
codenumberCode de résultat ; 200 signifie le succès
messagestringMessage d'état
userNostringIdentifiant de l'utilisateur
creditsnumberCrédits disponibles

Erreurs de l’endpoint

codeSignificationDescription
-100Échec d’authentification ou de quotaCauses courantes: userNo · API Key · credits
-500Erreur interneCauses courantes: server · retry

Champs de requête communs

ChampObligatoireDescription
userNoOui550W userNo
apiKeyOuiAPI Key
Idempotency-KeyRecommandé≤ 128 · retry-safe
callbackUrlNonHTTPS webhook · final status

Champs de tâche vidéo

ChampTypeDescription
videoUrlstringHTTP(S) URL · ≤ 2048 caractères
widthnumberlargeur de la vidéo · px
heightnumberhauteur de la vidéo · px · max ≤ 1920 · min ≤ 1080
durationnumber1–1800 s
x1numberen haut à gauche X · px
y1numberen haut à gauche Y · px
x2numberen bas à droite X · px
y2numberen bas à droite Y · px · x1 = y1 = x2 = y2 = 0: image entière
modestringnormal (par défaut) · protect
removeAudiobooleantrue · false (par défaut)

Réponse et état de la tâche

Les réponses contiennent code et message. Les tâches passent de waiting à processing, puis à success ou failed. En cas de réussite, utilisez resultUrl ; en cas d’échec, consultez failCode. Les fichiers de résultat expirent.

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

Codes d’erreur

CodeSignificationCauses courantes
200Réussitemessage: "success"
-100Échec d’authentification ou de quotauserNo · API Key · credits
-200Paramètre non validefield · URL · size · duration · Idempotency-Key
-300Requête refuséetaskId · ownership · state
-401Suspension temporaire du comptePremière infraction effective : 1 heure ; deuxième : 24 heures. Les détections pendant une suspension ne sont pas comptabilisées et ne prolongent ni n’aggravent la suspension.
-402Blocage permanent du compteLa troisième infraction effective bloque définitivement le compte.
-500Erreur interneserver · retry
-600Format vidéo non pris en chargecodec · bit depth · HDR · audio

Identificateurs d'échec de tâche (failCode)

failCode est un identifiant de chaîne, pas le code numérique. Il apparaît uniquement lorsqu'une tâche échoue. Utilisez failCode pour déterminer la cause ; n'analysez pas le message failReason traduit.

failCodeSignification
VIDEO_UNREACHABLEL'URL de la vidéo n'est pas accessible au public
VIDEO_METADATA_UNAVAILABLEImpossible d’obtenir des métadonnées vidéo fiables.
VIDEO_RESOLUTION_UNSUPPORTEDLa résolution vidéo mesurée dépasse la plage prise en charge
VIDEO_DURATION_UNSUPPORTEDLa durée de la vidéo mesurée dépasse 30 minutes
VIDEO_CODEC_UNSUPPORTEDLe codec vidéo n'est pas pris en charge
VIDEO_BIT_DEPTH_UNSUPPORTEDLa profondeur de bits vidéo n'est pas prise en charge
VIDEO_HDR_UNSUPPORTEDHDR, PQ ou HLG ne sont pas pris en charge
VIDEO_AUDIO_UNSUPPORTEDLe codec audio n'est pas pris en charge
VIDEO_CONTAINER_UNSUPPORTEDLe format du conteneur vidéo n'est pas pris en charge
VIDEO_PREPARE_FAILEDÉchec de la préparation, de la validation ou de la suppression de l'audio de la vidéo

Copier l’exemple et appeler

/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}
  )

Utilisation et facturation

Les tâches vidéo sont facturées selon la durée de traitement et la résolution. Une image coûte 10 crédits par tâche réussie ; aucun crédit n’est débité en cas d’échec.

Résolution vidéoTarifExemple
width × height ≤ 921,600 · 720p ou moins1.3 crédits / s1280×720 · 30 s ≈ 39 crédits
width × height > 921,600 · Jusqu’à 1080p1.6 crédits / s1920×1080 · 30 s ≈ 48 crédits

Les requêtes de tâche ne renvoient que les données de l’utilisateur authentifié.

Gérez les erreurs avec code, message, status, failCode et refundStatus.

Acheter des crédits

Les tâches vidéo sont facturées selon la durée de traitement et la résolution. Une image coûte 10 crédits par tâche réussie ; aucun crédit n’est débité en cas d’échec.

Tarifs →