550W · Geliştirici API

Geliştirici API

Görüntü ve video işleme API’si

Neler geliştirebilirsiniz

Hızlı entegrasyon

1

Kredi ekle

Video görevleri işleme süresi ve çözünürlüğe göre ücretlendirilir. Görseller başarılı görev başına 10 kredidir; başarısız işleme ücretlendirilmez.

Kullanım ve faturalandırma
2

API Key oluştur

Her isteğe userNo ve API Key ekleyin. Yükleme isteğe bağlıdır: /open/uploadVideo kullanın veya herkese açık bir videoUrl sağlayın.

API Key oluştur
3

Entegrasyon örnekleri

Ürününüz için uygun akışı seçin. Her adım doğrudan API referansına bağlanır.

Entegrasyon örnekleri
Base URLhttps://www.550wai.cnPOST · multipart/form-data

Hızlı başlangıç

Her isteğe userNo ve API Key ekleyin. Yükleme isteğe bağlıdır: /open/uploadVideo kullanın veya herkese açık bir videoUrl sağlayın.

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'

Kurallar

Zorunlu

Her isteğe userNo ve API Key ekleyin. Yükleme isteğe bağlıdır: /open/uploadVideo kullanın veya herkese açık bir videoUrl sağlayın.

Yanıt

Yanıtlar code ve message içerir. Görevler waiting ve processing aşamalarından geçerek success veya failed olur. Başarıda resultUrl kullanın, hatada failCode değerini inceleyin. Sonuç dosyalarının süresi dolar. Uluslararası hesaplarda (clientType=overseas) message İngilizce döner. Program mantığında dilden bağımsız code, status, failCode ve alan adlarını kullanın.

Video altyazı ve filigran kaldırma

uploadVideo → submitTask → taskDetail

Görev durumları

Yanıtlar code ve message içerir. Görevler waiting ve processing aşamalarından geçerek success veya failed olur. Başarıda resultUrl kullanın, hatada failCode değerini inceleyin. Sonuç dosyalarının süresi dolar.

waiting→processing→successfailed

Hataları code, message, status, failCode ve refundStatus ile işleyin.

Eşzamansız görevler ve güvenilirlik

Görev durumu kontrolleri ve Web Kancaları

Nihai görev durumunu almak için genel olarak erişilebilen bir HTTPS callbackUrl yapılandırın. Alternatif olarak taskDetail'yi taskId ile sorgulayın ve kontroller arasındaki süreyi kademeli olarak artırın.

Yinelenen görev oluşturmadan yeniden deneme

Her yeni görev için benzersiz bir Idempotency-Key gönderin. Aynı gönderimi yeniden denerken aynı anahtarı kullanarak ilk taskId değerini alın; böylece yinelenen görev oluşturulmaz ve krediler iki kez düşülmez.

Asenkron görüntü işleme

sync'u false olarak ayarlayın, task.taskId'ü kaydedin ve durum success veya failed olana kadar imageWatermarkTaskDetail'i arayın. Başarı durumunda task.resultUrl'yı okuyun.

resultUrl · 24 h

Entegrasyon örnekleri

Ürününüz için uygun akışı seçin. Her adım doğrudan API referansına bağlanır.

Video altyazı ve filigran kaldırma

  1. videoUrl · uploadVideo · Video altyazı ve filigran kaldırma · uploadVideo
  2. submitTask · Video altyazı ve filigran kaldırma · submitTask
  3. taskId · taskDetail · callbackUrl
  4. success durumunda resultUrl dosyasını indirin; failed durumunda failCode ve failReason değerlerini inceleyin.

Görevler ve hesap

  1. userNo · apiKey · Her istekte zorunlu
  2. queryCredits · Görevler ve hesap · credits
  3. taskList · Video altyazı ve filigran kaldırma · Görevler ve hesap. Silinen görevler taskDetail ve taskList'in dışında bırakılır. Görev durumu değerleri waiting, processing, success veya failed olarak kalır.

Kullanılabilir uç noktalar

POST/open/uploadVideo

Video altyazı ve filigran kaldırma · uploadVideo

POST/open/submitTask

Video altyazı ve filigran kaldırma · submitTask

POST/open/taskDetail

Video altyazı ve filigran kaldırma · Görev durumları

POST/open/taskList

Video altyazı ve filigran kaldırma · Görevler ve hesap. Silinen görevler taskDetail ve taskList'in dışında bırakılır. Görev durumu değerleri waiting, processing, success veya failed olarak kalır.

POST/open/deleteTask

Görevi sil · Video görevini silinmiş olarak işaretler ve hemen yanıt verir. Yüklenen kaynak, işleme sonucu ve yeniden deneme dosyaları daha sonra arka planda eşzamansız olarak VOD’dan kaldırılır. Kullanılmış krediler iade edilmez. Silinen görevler taskDetail ve taskList'in dışında bırakılır. Görev durumu değerleri waiting, processing, success veya failed olarak kalır.

POST/open/removeImageWatermark

Görüntü filigranı kaldırma · removeImageWatermark

POST/open/imageWatermarkTaskDetail

Görüntü filigranı kaldırma · Görev durumları

POST/open/queryCredits

Görevler ve hesap · credits

POST

/open/uploadVideo

Video altyazı ve filigran kaldırma · uploadVideo

İstek biçimi: multipart/form-data

İstek parametreleri

AlanTürZorunluAçıklama
userNostringEvet550W userNo
apiKeystringEvetAPI Key
filefileEvetMP4/MOV · ≤ 1080p · ≤ 30 min · Dosya Boyutu ≤ 1 GiB

Yanıt alanları

AlanTürAçıklama
codenumberSonuç kodu; 200 başarı demektir
messagestringDurum mesajı
videoUrlstringYüklenen video URL'si
coverUrlstringVideo kapak URL'si
widthnumberPiksel cinsinden video genişliği
heightnumberPiksel cinsinden video yüksekliği
durationnumberSaniye cinsinden video süresi

Endpoint hataları

codeAnlamAçıklama
-100Kimlik doğrulama veya kota hatasıYaygın nedenler: userNo · API Key · credits
-200Geçersiz parametreYaygın nedenler: field · URL · size · duration · Idempotency-Key
-500Dahili hataYaygın nedenler: server · retry
POST

/open/submitTask

Video altyazı ve filigran kaldırma · submitTask

İstek biçimi: application/x-www-form-urlencoded

İstek parametreleri

AlanTürZorunluAçıklama
userNostringEvet550W userNo
apiKeystringEvetAPI Key
videoUrlstringEvetHTTP(S) URL · ≤ 2048 karakterler
widthnumberEvetvideo genişliği · px
heightnumberEvetvideo yüksekliği · px · max ≤ 1920 · min ≤ 1080
durationnumberEvet1–1800 s
x1numberEvetsol üst X · px
y1numberEvetsol üst Y · px
x2numberEvetsağ alt X · px
y2numberEvetsağ alt Y · px · x1 = y1 = x2 = y2 = 0: tam çerçeve
modestringHayırnormal (varsayılan) · protect
fileNamestringHayırUTF-8
coverUrlstringHayırHTTP(S) URL
callbackUrlstringHayırHTTPS webhook · son görev durumu
removeAudiobooleanHayırtrue · false (varsayılan)
Idempotency-Key / idempotencyKeystringÖnerilen≤ 128 karakterler · yeniden denemek güvenli

Yanıt alanları

AlanTürAçıklama
codenumberSonuç kodu; 200 başarı demektir
messagestringDurum mesajı
taskIdstringDurum sorguları için görev tanımlayıcı
statusstringwaiting · processing · success · failed

Endpoint hataları

codeAnlamAçıklama
-100Kimlik doğrulama veya kota hatasıYaygın nedenler: userNo · API Key · credits
-200Geçersiz parametreYaygın nedenler: field · URL · size · duration · Idempotency-Key
-300İstek reddedildiYaygın nedenler: taskId · ownership · state
-401Geçici hesap askıya almaYaygın nedenler: İlk geçerli ihlal: 1 saat; ikinci: 24 saat. Askı sırasındaki tespitler sayılmaz, süreyi uzatmaz veya cezayı artırmaz.
-402Kalıcı hesap yasağıYaygın nedenler: Üçüncü geçerli ihlal hesabı kalıcı olarak yasaklar.
-600Desteklenmeyen video biçimiYaygın nedenler: codec · bit depth · HDR · audio
POST

/open/taskDetail

Video altyazı ve filigran kaldırma · Görev durumları

İstek biçimi: form / query

İstek parametreleri

AlanTürZorunluAçıklama
userNostringEvet550W userNo
apiKeystringEvetAPI Key
taskIdstringEvet1–64 karakterler
subUserIdstringHayır≤ 128 karakterler · kullanıcı sahipliği

Yanıt alanları

AlanTürAçıklama
taskIdstringDurum sorguları için görev tanımlayıcı
statusstringwaiting · processing · success · failed
widthnumberPiksel cinsinden video genişliği
heightnumberPiksel cinsinden video yüksekliği
durationnumberSaniye cinsinden video süresi
x1numberx1
y1numbery1
x2numberx2
y2numbery2
modestringmode
costnumberBu görev için alınan krediler
resultUrlstringSonuç URL'si; oluşturulduktan sonra 24 saat geçerlidir
failCodestringKararlı arıza tanımlayıcı
failReasonstringGörev başarısızlığının nedeni
refundStatusnumberKredi iadesi durumu

Endpoint hataları

codeAnlamAçıklama
-100Kimlik doğrulama veya kota hatasıYaygın nedenler: userNo · API Key · credits
-300İstek reddedildiYaygın nedenler: taskId · ownership · state
-500Dahili hataYaygın nedenler: server · retry
POST

/open/taskList

Video altyazı ve filigran kaldırma · Görevler ve hesap. Silinen görevler taskDetail ve taskList'in dışında bırakılır. Görev durumu değerleri waiting, processing, success veya failed olarak kalır.

İstek biçimi: form / query

İstek parametreleri

AlanTürZorunluAçıklama
userNostringEvet550W userNo
apiKeystringEvetAPI Key
pagenumberHayır≥ 0 · varsayılan 0
sizenumberHayır1–100 · varsayılan 20
subUserIdstringHayır≤ 128 karakterler · kullanıcı sahipliği

Yanıt alanları

AlanTürAçıklama
totalnumberSilinmeyen görev sayısı
pagenumberSayfa numarası
sizenumberSayfa başına görev sayısı
listarraySilinmemiş görevlerin listesi

Endpoint hataları

codeAnlamAçıklama
-100Kimlik doğrulama veya kota hatasıYaygın nedenler: userNo · API Key · credits
-200Geçersiz parametreYaygın nedenler: field · URL · size · duration · Idempotency-Key
-500Dahili hataYaygın nedenler: server · retry
POST

/open/deleteTask

Görevi sil · Video görevini silinmiş olarak işaretler ve hemen yanıt verir. Yüklenen kaynak, işleme sonucu ve yeniden deneme dosyaları daha sonra arka planda eşzamansız olarak VOD’dan kaldırılır. Kullanılmış krediler iade edilmez. Silinen görevler taskDetail ve taskList'in dışında bırakılır. Görev durumu değerleri waiting, processing, success veya failed olarak kalır.

İstek biçimi: form / query

İstek parametreleri

AlanTürZorunluAçıklama
userNostringEvet550W userNo
apiKeystringEvetAPI Key
taskIdstringEvet1–64 karakterler
subUserIdstringHayır≤ 128 karakterler · kullanıcı sahipliği

Yanıt alanları

AlanTürAçıklama
codenumberSonuç kodu; 200 başarı demektir
messagestringDurum mesajı

Endpoint hataları

codeAnlamAçıklama
-100Kimlik doğrulama veya kota hatasıYaygın nedenler: userNo · API Key · credits
-200Geçersiz parametreYaygın nedenler: field · URL · size · duration · Idempotency-Key
-300İstek reddedildiYaygın nedenler: taskId · ownership · state
-500Dahili hataYaygın nedenler: server · retry
POST

/open/removeImageWatermark

Görüntü filigranı kaldırma · removeImageWatermark

İstek biçimi: multipart/form-data

İstek parametreleri

AlanTürZorunluAçıklama
userNostringEvet550W userNo
apiKeystringEvetAPI Key
filefileEvetJPG · PNG · BMP · WebP · AVIF · TIFF · SVG · ≤ 50 MiB
syncbooleanHayırtrue (varsayılan) · false
operationIdstringHayırizleme tanımlayıcısı

Yanıt alanları

AlanTürAçıklama
codenumberSonuç kodu; 200 başarı demektir
messagestringDurum mesajı
creditsAfternumberİşlemden sonra kalan krediler
taskobjectİşleme sonucu veya asenkron görev

Endpoint hataları

codeAnlamAçıklama
-100Kimlik doğrulama veya kota hatasıYaygın nedenler: userNo · API Key · credits
-200Geçersiz parametreYaygın nedenler: field · URL · size · duration · Idempotency-Key
-300İstek reddedildiYaygın nedenler: taskId · ownership · state
-500Dahili hataYaygın nedenler: server · retry
POST

/open/imageWatermarkTaskDetail

Görüntü filigranı kaldırma · Görev durumları

İstek biçimi: form / query

İstek parametreleri

AlanTürZorunluAçıklama
userNostringEvet550W userNo
apiKeystringEvetAPI Key
taskIdstringEvet1–64 karakterler

Yanıt alanları

AlanTürAçıklama
statusstringwaiting · processing · success · failed
resultUrlstringSonuç URL'si; oluşturulduktan sonra 24 saat geçerlidir
failCodestringKararlı arıza tanımlayıcı
failReasonstringGörev başarısızlığının nedeni
costnumberBu görev için alınan krediler
expiredTimestringSonuç URL'sinin geçerlilik süresi

Endpoint hataları

codeAnlamAçıklama
-100Kimlik doğrulama veya kota hatasıYaygın nedenler: userNo · API Key · credits
-300İstek reddedildiYaygın nedenler: taskId · ownership · state
-500Dahili hataYaygın nedenler: server · retry
POST

/open/queryCredits

Görevler ve hesap · credits

İstek biçimi: form / query

İstek parametreleri

AlanTürZorunluAçıklama
userNostringEvet550W userNo
apiKeystringEvetAPI Key

Yanıt alanları

AlanTürAçıklama
codenumberSonuç kodu; 200 başarı demektir
messagestringDurum mesajı
userNostringKullanıcı tanımlayıcı
creditsnumberMevcut krediler

Endpoint hataları

codeAnlamAçıklama
-100Kimlik doğrulama veya kota hatasıYaygın nedenler: userNo · API Key · credits
-500Dahili hataYaygın nedenler: server · retry

Ortak istek alanları

AlanZorunluAçıklama
userNoEvet550W userNo
apiKeyEvetAPI Key
Idempotency-KeyÖnerilen≤ 128 · retry-safe
callbackUrlHayırHTTPS webhook · final status

Video görevi alanları

AlanTürAçıklama
videoUrlstringHTTP(S) URL · ≤ 2048 karakterler
widthnumbervideo genişliği · px
heightnumbervideo yüksekliği · px · max ≤ 1920 · min ≤ 1080
durationnumber1–1800 s
x1numbersol üst X · px
y1numbersol üst Y · px
x2numbersağ alt X · px
y2numbersağ alt Y · px · x1 = y1 = x2 = y2 = 0: tam çerçeve
modestringnormal (varsayılan) · protect
removeAudiobooleantrue · false (varsayılan)

Yanıt ve görev durumu

Yanıtlar code ve message içerir. Görevler waiting ve processing aşamalarından geçerek success veya failed olur. Başarıda resultUrl kullanın, hatada failCode değerini inceleyin. Sonuç dosyalarının süresi dolar.

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

Hata kodları

CodeAnlamYaygın nedenler
200Başarılımessage: "success"
-100Kimlik doğrulama veya kota hatasıuserNo · API Key · credits
-200Geçersiz parametrefield · URL · size · duration · Idempotency-Key
-300İstek reddedilditaskId · ownership · state
-401Geçici hesap askıya almaİlk geçerli ihlal: 1 saat; ikinci: 24 saat. Askı sırasındaki tespitler sayılmaz, süreyi uzatmaz veya cezayı artırmaz.
-402Kalıcı hesap yasağıÜçüncü geçerli ihlal hesabı kalıcı olarak yasaklar.
-500Dahili hataserver · retry
-600Desteklenmeyen video biçimicodec · bit depth · HDR · audio

Görev hatası tanımlayıcıları (failCode)

failCode, sayısal code değil, bir dize tanımlayıcısıdır. Yalnızca bir görev başarısız olduğunda görünür. Sebebini belirlemek için failCode'yi kullanın; çevrilmiş failReason mesajını ayrıştırmayın.

failCodeAnlam
VIDEO_UNREACHABLEVideo URL'sine herkesin erişimi yok
VIDEO_METADATA_UNAVAILABLEGüvenilir video meta verileri alınamadı.
VIDEO_RESOLUTION_UNSUPPORTEDÖlçülen video çözünürlüğü desteklenen aralığı aşıyor
VIDEO_DURATION_UNSUPPORTEDÖlçülen video süresi 30 dakikayı aşıyor
VIDEO_CODEC_UNSUPPORTEDVideo codec bileşeni desteklenmiyor
VIDEO_BIT_DEPTH_UNSUPPORTEDVideo bit derinliği desteklenmiyor
VIDEO_HDR_UNSUPPORTEDHDR, PQ veya HLG desteklenmiyor
VIDEO_AUDIO_UNSUPPORTEDSes codec'i desteklenmiyor
VIDEO_CONTAINER_UNSUPPORTEDVideo kapsayıcı biçimi desteklenmiyor
VIDEO_PREPARE_FAILEDVideo hazırlama, doğrulama veya ses kaldırma işlemi başarısız oldu

Örneği kopyala ve çağır

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

Kullanım ve faturalandırma

Video görevleri işleme süresi ve çözünürlüğe göre ücretlendirilir. Görseller başarılı görev başına 10 kredidir; başarısız işleme ücretlendirilmez.

Video çözünürlüğüTarifeÖrnek
width × height ≤ 921,600 · 720p veya altı1.3 Kredi / s1280×720 · 30 s ≈ 39 Kredi
width × height > 921,600 · 1080p’ye kadar1.6 Kredi / s1920×1080 · 30 s ≈ 48 Kredi

Görev sorguları yalnızca kimliği doğrulanmış kullanıcının verilerini döndürür.

Hataları code, message, status, failCode ve refundStatus ile işleyin.

Kredi Satın Al

Video görevleri işleme süresi ve çözünürlüğe göre ücretlendirilir. Görseller başarılı görev başına 10 kredidir; başarısız işleme ücretlendirilmez.

Fiyatlar →