550W · API per sviluppatori

API per sviluppatori

API di elaborazione immagini e video

Cosa puoi creare

Integrazione rapida

1

Aggiungi crediti

Le attività video vengono addebitate in base alla durata di elaborazione e alla risoluzione. Le immagini costano 10 crediti per attività riuscita; gli errori di elaborazione non vengono addebitati.

Utilizzo e fatturazione
2

Genera API Key

Includi userNo e API Key in ogni richiesta. Il caricamento è facoltativo: usa /open/uploadVideo oppure fornisci direttamente una videoUrl pubblica.

Genera API Key
3

Esempi di integrazione

Scegli il flusso adatto al tuo prodotto. Ogni passaggio rimanda direttamente alla documentazione dell’API.

Esempi di integrazione
Base URLhttps://www.550wai.cnPOST · multipart/form-data

Avvio rapido

Includi userNo e API Key in ogni richiesta. Il caricamento è facoltativo: usa /open/uploadVideo oppure fornisci direttamente una videoUrl pubblica.

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'

Convenzioni

Obbligatorio

Includi userNo e API Key in ogni richiesta. Il caricamento è facoltativo: usa /open/uploadVideo oppure fornisci direttamente una videoUrl pubblica.

Risposta

Le risposte contengono code e message. Le attività passano da waiting a processing, quindi a success o failed. In caso di successo usa resultUrl; in caso di errore controlla failCode. I file risultanti scadono. Per gli account internazionali (clientType=overseas), message viene restituito in inglese. Usa code, status, failCode e i nomi dei campi, indipendenti dalla lingua, nella logica.

Rimozione di sottotitoli e filigrane video

uploadVideo → submitTask → taskDetail

Stati dell’attività

Le risposte contengono code e message. Le attività passano da waiting a processing, quindi a success o failed. In caso di successo usa resultUrl; in caso di errore controlla failCode. I file risultanti scadono.

waiting→processing→successfailed

Gestisci gli errori con code, message, status, failCode e refundStatus.

Attività asincrone e affidabilità

Verifiche dello stato delle attività e webhook

Configura un HTTPS callbackUrl raggiungibile pubblicamente per ricevere lo stato finale dell'attività. In alternativa, interrogare taskDetail con taskId e aumentare gradualmente il tempo tra i controlli.

Tentativi idempotenti

Invia un Idempotency-Key univoco per ogni nuova attività. Se riprovi lo stesso invio, riutilizza la chiave per ottenere il taskId originale senza creare un’altra attività o addebitare i crediti due volte.

Elaborazione asincrona delle immagini

Imposta sync su false, salva task.taskId e chiama imageWatermarkTaskDetail finché lo stato non diventa success o failed. In caso di successo, leggi task.resultUrl.

resultUrl · 24 h

Esempi di integrazione

Scegli il flusso adatto al tuo prodotto. Ogni passaggio rimanda direttamente alla documentazione dell’API.

Rimozione di sottotitoli e filigrane video

  1. videoUrl · uploadVideo · Rimozione di sottotitoli e filigrane video · uploadVideo
  2. submitTask · Rimozione di sottotitoli e filigrane video · submitTask
  3. taskId · taskDetail · callbackUrl
  4. Con success scarica resultUrl; con failed controlla failCode e failReason.

Rimozione di filigrane dalle immagini

  1. removeImageWatermark · Rimozione di filigrane dalle immagini · removeImageWatermark
  2. sync=true → resultUrl · sync=false → taskId
  3. imageWatermarkTaskDetail · Controlla lo stato finale

Attività e account

  1. userNo · apiKey · Obbligatorio per ogni richiesta
  2. queryCredits · Attività e account · credits
  3. taskList · Rimozione di sottotitoli e filigrane video · Attività e account. Le attività eliminate sono escluse da taskDetail e taskList. I valori dello stato dell'attività rimangono waiting, processing, success o failed.

Endpoint disponibili

POST/open/uploadVideo

Rimozione di sottotitoli e filigrane video · uploadVideo

POST/open/submitTask

Rimozione di sottotitoli e filigrane video · submitTask

POST/open/taskDetail

Rimozione di sottotitoli e filigrane video · Stati dell’attività

POST/open/taskList

Rimozione di sottotitoli e filigrane video · Attività e account. Le attività eliminate sono escluse da taskDetail e taskList. I valori dello stato dell'attività rimangono waiting, processing, success o failed.

POST/open/deleteTask

Elimina attività · Contrassegna un’attività video come eliminata e restituisce subito una risposta. Il file originale caricato, il risultato e i file dei nuovi tentativi vengono poi rimossi da VOD in modo asincrono in background. I crediti già addebitati non vengono rimborsati. Le attività eliminate sono escluse da taskDetail e taskList. I valori dello stato dell'attività rimangono waiting, processing, success o failed.

POST/open/removeImageWatermark

Rimozione di filigrane dalle immagini · removeImageWatermark

POST/open/imageWatermarkTaskDetail

Rimozione di filigrane dalle immagini · Stati dell’attività

POST/open/queryCredits

Attività e account · credits

POST

/open/uploadVideo

Rimozione di sottotitoli e filigrane video · uploadVideo

Formato della richiesta: multipart/form-data

Parametri della richiesta

CampoTipoObbligatorioDescrizione
userNostringSì550W userNo
apiKeystringSìAPI Key
filefileSìMP4/MOV · ≤ 1080p · ≤ 30 min · Dimensione file ≤ 1 GiB

Campi della risposta

CampoTipoDescrizione
codenumberCodice risultato; 200 significa successo
messagestringMessaggio di stato
videoUrlstringURL del video caricato
coverUrlstringURL della copertina del video
widthnumberLarghezza del video in pixel
heightnumberAltezza del video in pixel
durationnumberDurata del video in secondi

Errori dell’endpoint

codeSignificatoDescrizione
-100Errore di autenticazione o quotaCause comuni: userNo · API Key · credits
-200Parametro non validoCause comuni: field · URL · size · duration · Idempotency-Key
-500Errore internoCause comuni: server · retry
POST

/open/submitTask

Rimozione di sottotitoli e filigrane video · submitTask

Formato della richiesta: application/x-www-form-urlencoded

Parametri della richiesta

CampoTipoObbligatorioDescrizione
userNostringSì550W userNo
apiKeystringSìAPI Key
videoUrlstringSìHTTP(S) URL · ≤ 2048 caratteri
widthnumberSìlarghezza del video · px
heightnumberSìaltezza del filmato · px · max ≤ 1920 · min ≤ 1080
durationnumberSì1–1800 s
x1numberSìin alto a sinistra X · px
y1numberSìin alto a sinistra Y · px
x2numberSìin basso a destra X · px
y2numberSìin basso a destra Y · px · x1 = y1 = x2 = y2 = 0: fotogramma intero
modestringNonormal (predefinito) · protect
fileNamestringNoUTF-8
coverUrlstringNoHTTP(S) URL
callbackUrlstringNoHTTPS webhook · stato finale del compito
removeAudiobooleanNotrue · false (predefinito)
Idempotency-Key / idempotencyKeystringConsigliato≤ 128 caratteri · è sicuro riprovare

Campi della risposta

CampoTipoDescrizione
codenumberCodice risultato; 200 significa successo
messagestringMessaggio di stato
taskIdstringIdentificatore dell'attività per le query sullo stato
statusstringwaiting · processing · success · failed

Errori dell’endpoint

codeSignificatoDescrizione
-100Errore di autenticazione o quotaCause comuni: userNo · API Key · credits
-200Parametro non validoCause comuni: field · URL · size · duration · Idempotency-Key
-300Richiesta rifiutataCause comuni: taskId · ownership · state
-401Sospensione temporanea dell’accountCause comuni: Prima violazione effettiva: 1 ora; seconda: 24 ore. I rilevamenti durante la sospensione non contano, prolungano né aggravano la sanzione.
-402Blocco permanente dell’accountCause comuni: La terza violazione effettiva blocca permanentemente l’account.
-600Formato video non supportatoCause comuni: codec · bit depth · HDR · audio
POST

/open/taskDetail

Rimozione di sottotitoli e filigrane video · Stati dell’attività

Formato della richiesta: form / query

Parametri della richiesta

CampoTipoObbligatorioDescrizione
userNostringSì550W userNo
apiKeystringSìAPI Key
taskIdstringSì1–64 caratteri
subUserIdstringNo≤ 128 caratteri · proprietà dell'utente

Campi della risposta

CampoTipoDescrizione
taskIdstringIdentificatore dell'attività per le query sullo stato
statusstringwaiting · processing · success · failed
widthnumberLarghezza del video in pixel
heightnumberAltezza del video in pixel
durationnumberDurata del video in secondi
x1numberx1
y1numbery1
x2numberx2
y2numbery2
modestringmode
costnumberCrediti addebitati per questa attività
resultUrlstringURL del risultato; valido per 24 ore dopo la generazione
failCodestringIdentificatore di errore stabile
failReasonstringMotivo dell'errore dell'attività
refundStatusnumberStato del rimborso del credito

Errori dell’endpoint

codeSignificatoDescrizione
-100Errore di autenticazione o quotaCause comuni: userNo · API Key · credits
-300Richiesta rifiutataCause comuni: taskId · ownership · state
-500Errore internoCause comuni: server · retry
POST

/open/taskList

Rimozione di sottotitoli e filigrane video · Attività e account. Le attività eliminate sono escluse da taskDetail e taskList. I valori dello stato dell'attività rimangono waiting, processing, success o failed.

Formato della richiesta: form / query

Parametri della richiesta

CampoTipoObbligatorioDescrizione
userNostringSì550W userNo
apiKeystringSìAPI Key
pagenumberNo≥ 0 · predefinito 0
sizenumberNo1–100 · predefinito 20
subUserIdstringNo≤ 128 caratteri · proprietà dell'utente

Campi della risposta

CampoTipoDescrizione
totalnumberNumero di attività non eliminate
pagenumberNumero di pagina
sizenumberNumero di attività per pagina
listarrayElenco delle attività non eliminate

Errori dell’endpoint

codeSignificatoDescrizione
-100Errore di autenticazione o quotaCause comuni: userNo · API Key · credits
-200Parametro non validoCause comuni: field · URL · size · duration · Idempotency-Key
-500Errore internoCause comuni: server · retry
POST

/open/deleteTask

Elimina attività · Contrassegna un’attività video come eliminata e restituisce subito una risposta. Il file originale caricato, il risultato e i file dei nuovi tentativi vengono poi rimossi da VOD in modo asincrono in background. I crediti già addebitati non vengono rimborsati. Le attività eliminate sono escluse da taskDetail e taskList. I valori dello stato dell'attività rimangono waiting, processing, success o failed.

Formato della richiesta: form / query

Parametri della richiesta

CampoTipoObbligatorioDescrizione
userNostringSì550W userNo
apiKeystringSìAPI Key
taskIdstringSì1–64 caratteri
subUserIdstringNo≤ 128 caratteri · proprietà dell'utente

Campi della risposta

CampoTipoDescrizione
codenumberCodice risultato; 200 significa successo
messagestringMessaggio di stato

Errori dell’endpoint

codeSignificatoDescrizione
-100Errore di autenticazione o quotaCause comuni: userNo · API Key · credits
-200Parametro non validoCause comuni: field · URL · size · duration · Idempotency-Key
-300Richiesta rifiutataCause comuni: taskId · ownership · state
-500Errore internoCause comuni: server · retry
POST

/open/removeImageWatermark

Rimozione di filigrane dalle immagini · removeImageWatermark

Formato della richiesta: multipart/form-data

Parametri della richiesta

CampoTipoObbligatorioDescrizione
userNostringSì550W userNo
apiKeystringSìAPI Key
filefileSìJPG · PNG · BMP · WebP · AVIF · TIFF · SVG · ≤ 50 MiB
syncbooleanNotrue (predefinito) · false
operationIdstringNoidentificatore di tracciamento

Campi della risposta

CampoTipoDescrizione
codenumberCodice risultato; 200 significa successo
messagestringMessaggio di stato
creditsAfternumberCrediti rimanenti dopo l'elaborazione
taskobjectRisultato dell'elaborazione o attività asincrona

Errori dell’endpoint

codeSignificatoDescrizione
-100Errore di autenticazione o quotaCause comuni: userNo · API Key · credits
-200Parametro non validoCause comuni: field · URL · size · duration · Idempotency-Key
-300Richiesta rifiutataCause comuni: taskId · ownership · state
-500Errore internoCause comuni: server · retry
POST

/open/imageWatermarkTaskDetail

Rimozione di filigrane dalle immagini · Stati dell’attività

Formato della richiesta: form / query

Parametri della richiesta

CampoTipoObbligatorioDescrizione
userNostringSì550W userNo
apiKeystringSìAPI Key
taskIdstringSì1–64 caratteri

Campi della risposta

CampoTipoDescrizione
statusstringwaiting · processing · success · failed
resultUrlstringURL del risultato; valido per 24 ore dopo la generazione
failCodestringIdentificatore di errore stabile
failReasonstringMotivo dell'errore dell'attività
costnumberCrediti addebitati per questa attività
expiredTimestringScadenza dell'URL dei risultati

Errori dell’endpoint

codeSignificatoDescrizione
-100Errore di autenticazione o quotaCause comuni: userNo · API Key · credits
-300Richiesta rifiutataCause comuni: taskId · ownership · state
-500Errore internoCause comuni: server · retry
POST

/open/queryCredits

Attività e account · credits

Formato della richiesta: form / query

Parametri della richiesta

CampoTipoObbligatorioDescrizione
userNostringSì550W userNo
apiKeystringSìAPI Key

Campi della risposta

CampoTipoDescrizione
codenumberCodice risultato; 200 significa successo
messagestringMessaggio di stato
userNostringIdentificatore dell'utente
creditsnumberCrediti disponibili

Errori dell’endpoint

codeSignificatoDescrizione
-100Errore di autenticazione o quotaCause comuni: userNo · API Key · credits
-500Errore internoCause comuni: server · retry

Campi comuni della richiesta

CampoObbligatorioDescrizione
userNoSì550W userNo
apiKeySìAPI Key
Idempotency-KeyConsigliato≤ 128 · retry-safe
callbackUrlNoHTTPS webhook · final status

Campi dell’attività video

CampoTipoDescrizione
videoUrlstringHTTP(S) URL · ≤ 2048 caratteri
widthnumberlarghezza del video · px
heightnumberaltezza del filmato · px · max ≤ 1920 · min ≤ 1080
durationnumber1–1800 s
x1numberin alto a sinistra X · px
y1numberin alto a sinistra Y · px
x2numberin basso a destra X · px
y2numberin basso a destra Y · px · x1 = y1 = x2 = y2 = 0: fotogramma intero
modestringnormal (predefinito) · protect
removeAudiobooleantrue · false (predefinito)

Risposta e stato dell’attività

Le risposte contengono code e message. Le attività passano da waiting a processing, quindi a success o failed. In caso di successo usa resultUrl; in caso di errore controlla failCode. I file risultanti scadono.

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

Codici di errore

CodeSignificatoCause comuni
200Operazione riuscitamessage: "success"
-100Errore di autenticazione o quotauserNo · API Key · credits
-200Parametro non validofield · URL · size · duration · Idempotency-Key
-300Richiesta rifiutatataskId · ownership · state
-401Sospensione temporanea dell’accountPrima violazione effettiva: 1 ora; seconda: 24 ore. I rilevamenti durante la sospensione non contano, prolungano né aggravano la sanzione.
-402Blocco permanente dell’accountLa terza violazione effettiva blocca permanentemente l’account.
-500Errore internoserver · retry
-600Formato video non supportatocodec · bit depth · HDR · audio

Identificatori di errore dell'attività (failCode)

failCode è un identificatore di stringa, non il numerico code. Appare solo quando un'attività fallisce. Utilizzare failCode per determinare la causa; non analizzare il messaggio failReason tradotto.

failCodeSignificato
VIDEO_UNREACHABLEL'URL del video non è accessibile pubblicamente
VIDEO_METADATA_UNAVAILABLEImpossibile ottenere metadati video affidabili.
VIDEO_RESOLUTION_UNSUPPORTEDLa risoluzione video misurata supera l'intervallo supportato
VIDEO_DURATION_UNSUPPORTEDLa durata del video misurata supera i 30 minuti
VIDEO_CODEC_UNSUPPORTEDIl codec video non è supportato
VIDEO_BIT_DEPTH_UNSUPPORTEDLa profondità in bit del video non è supportata
VIDEO_HDR_UNSUPPORTEDHDR, PQ o HLG non sono supportati
VIDEO_AUDIO_UNSUPPORTEDIl codec audio non è supportato
VIDEO_CONTAINER_UNSUPPORTEDIl formato contenitore video non è supportato
VIDEO_PREPARE_FAILEDLa preparazione del video, la convalida o la rimozione dell'audio non sono riuscite

Copia esempio e chiama

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

Utilizzo e fatturazione

Le attività video vengono addebitate in base alla durata di elaborazione e alla risoluzione. Le immagini costano 10 crediti per attività riuscita; gli errori di elaborazione non vengono addebitati.

Risoluzione videoTariffaEsempio
width × height ≤ 921,600 · 720p o inferiore1.3 crediti / s1280×720 · 30 s ≈ 39 crediti
width × height > 921,600 · Fino a 1080p1.6 crediti / s1920×1080 · 30 s ≈ 48 crediti

Le richieste sulle attività restituiscono solo i dati dell’utente autenticato.

Gestisci gli errori con code, message, status, failCode e refundStatus.

Acquista crediti

Le attività video vengono addebitate in base alla durata di elaborazione e alla risoluzione. Le immagini costano 10 crediti per attività riuscita; gli errori di elaborazione non vengono addebitati.

Prezzi →