Bulut Gömme API'si
Profesyonel stillendirme ile gömülü video oluşturma için projeleri yüksek performanslı işleme kümemize gönderin.
/api/v1/burncurl -X POST https://api.srtgen.com/api/v1/burn \
-H "x-api-key: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"projectId": "proj_8k2n9m1b",
"resolution": "1080p"
}'Parametreler
| Parametre | Tür | Gerekli | Açıklama |
|---|---|---|---|
| Temel Parametreler | |||
projectId | String | Yes | Video ve altyazıları içeren projenin benzersiz tanımlayıcısı. |
resolution | String | No | İstenen çıktı video çözünürlüğü. Seçenekler: original, 1080p, 720p, 480p | Varsayılan: original |
fileName | String | No | Oluşturulan MP4 dosyası için özel ad. |
language | String | No | Gömülü altyazılar için hedef dil. Varsayılan: Proje Aktif Dili |
| Çoklu Dil Desteği (Çift Altyazı) | |||
languages | Array | No | Bir videodaki birden fazla altyazı parçası için yapılandırmalar. Limit: Maks 3 Dil |
- language | String | Yes* | Bu dil yuvası için kod (örn. 'zh' veya 'original'). |
- lineBreakRules | Object | No | Dil başına bölümlendirme geçersiz kılmaları. |
- styleSettings | Object | No | Dil başına stillendirme (Çift altyazı konumlandırma için kritik). |
| Satır Sonu Kuralları (lineBreakRules) | |||
lineBreakRules | Object | No | Altyazı bölümlendirme mantığı için iç içe geçmiş nesne. |
- maxChars | Number | No | Satır başına izin verilen maksimum karakter. Aralık: 5 - 100 | Varsayılan: 45 |
- maxWords | Number | No | Altyazı satırı başına izin verilen maksimum kelime. Aralık: 1 - 20 | Varsayılan: 10 |
- balanceLines | Boolean | No | Çok satırlı altyazılarda satır uzunluklarını eşitler. Varsayılan: true |
- sentenceSplit | Boolean | No | Satırları cümle sonlarında bölmeyi tercih et. Varsayılan: true |
- gapThreshold | Number | No | Bir satırdaki kelimeler arasındaki maksimum boşluk (saniye). Aralık: 0.1 - 2.0 | Varsayılan: 0.4 |
| Stil Temelleri (styleSettings) | |||
uppercase | Boolean | No | Tüm deşifre metnini büyük harfe zorla. |
styleSettings | Object | No | Görsel stil geçersiz kılmaları için iç içe geçmiş nesne. |
- preset | String | No | Temel olarak yerleşik bir stil hazır ayarı uygula. Seçenekler: standard-stream, classic-apple, etc. |
- fontSize | Number | No | Video yüksekliğinin oranı olarak yazı tipi boyutu. Varsayılan: 0.045 |
- fontFamily | String | No | İşleme için kullanılan standart yazı tipi adı. Varsayılan: Arial |
- bold | Boolean | No | Metne kalın ağırlık uygula. Varsayılan: false |
- italic | Boolean | No | Metne italik stil uygula. Varsayılan: false |
| Renkler ve Kenarlıklar | |||
- primaryColor | Hex | No | Ana metin rengi hex kodu. Varsayılan: #FFFFFF |
- secondaryColor | Hex | No | İkincil renk (karaoke efektleri için kullanılır). Varsayılan: #00FFFF |
- outlineColor | Hex | No | Metin anahat rengi. Varsayılan: #000000 |
- outline | Number | No | Anahat kalınlığı (Yükseklik oranı). Varsayılan: 0.002 |
- shadow | Number | No | Gölge derinliği (Yükseklik oranı). Varsayılan: 0.001 |
| Konumlandırma (Oranlar 0-1) | |||
- alignment | Number | No | ASS hizalama kodu (1-9). Alt-Orta 2'dir. Aralık: 1 - 9 | Varsayılan: 2 |
- posX | Number | No | Yatay konum (0 = Sol, 1 = Sağ). Varsayılan: 0.5 |
- posY | Number | No | Dikey konum oranı (0 = Üst, 1 = Alt). Varsayılan: 0.88. |
- marginV | Number | No | Alt/üstten dikey kenar boşluğu oranı. Varsayılan: 0.056. |
| Animasyon ve Efektler | |||
- fadeIn | Number | No | Milisaniye cinsinden giriş süresi. |
- fadeOut | Number | No | Milisaniye cinsinden çıkış süresi. |
- karaoke | String | No | Karaoke etiket türü (k, kf, ko, ks). |
curl -X POST https://api.srtgen.com/api/v1/burn \
-H "x-api-key: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"projectId": "proj_8k2n9m1b",
"resolution": "1080p",
"styleSettings": {
"preset": "standard-stream",
"fontSize": 0.055,
"bold": true
}
}'curl -X POST https://api.srtgen.com/api/v1/burn \
-H "x-api-key: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"projectId": "proj_8k2n9m1b",
"languages": [
{
"language": "original",
"styleSettings": {
"preset": "classic-apple",
"posY": 0.85
}
},
{
"language": "es",
"styleSettings": {
"preset": "classic-apple",
"posY": 0.75,
"primaryColor": "#FFFF00"
}
}
]
}'Durum ve Yanıt
1. Asenkron Başlatma
Bulut gömme işleri asenkrondur. Görev işleme kümesi tarafından kabul edildiğinde API hemen bir burnId ile yanıt verecektir.
İlerlemeyi ve nihai video URL'sini sorgulamak için Dışa Aktarma Durumu Uç Noktasını kullanın.
{ "success": true, "burnId": "brnc_abc123", "status": "running" }
2. Takip ve Alma
Nihai sonucu almak için, başlatma sırasında alınan burnId'yi kullanarak proje durumunu sorgulayın:
curl -X POST https://api.srtgen.com/api/v1/export/proj_xxx \
-H "x-api-key: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"output": "mp4",
"burnId": "brnc_abc123"
}'Bittiğinde durum completed olarak değişecek ve bir resultUrl (indirilebilir video) sağlanacaktır.
{ "status": "completed", "resultUrl": "https://cdn.b2.com/video.mp4" }
Hata Kodları
| Durum | Hata Kodu | Açıklama |
|---|---|---|
| 400 | missing_parameter | projectId gereklidir. |
| 400 | missing_video | Projeye bağlı kaynak video yok. |
| 401 | unauthorized | API Anahtarı eksik veya geçersiz. |
| 403 | insufficient_balance | Video süresi için yetersiz kredi. |
| 404 | not_found | Proje Kimliği mevcut değil. |
| 500 | burn_submission_failed | İşleme kümesi kapasitesi dolu veya ulaşılamıyor. |
| 500 | export_error | Altyazı işleme sırasında bir hata oluştu. |
| 500 | server_error | Beklenmedik dahili sunucu hatası. |