Altyazıları Dışa Aktar
Altyazıları tercih ettiğiniz formatlarda indirin ve deşifre projelerinizin gerçek zamanlı durumunu takip edin.
/api/v1/export/:projectIdcurl -X POST https://api.srtgen.com/api/v1/export/proj_8k2n9m1b \
-H "x-api-key: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"output": "srt"
}'Parametreler
| Parametre | Tür | Gerekli | Açıklama |
|---|---|---|---|
| Temel Parametreler | |||
id | String | Yes | URL yolunda iletilen benzersiz proje tanımlayıcısı. |
output | String | No | Dışa aktarma için istenen altyazı formatı veya medya varlığı. Seçenekler: srt, vtt, ass, txt, json, mp4 | Varsayılan: srt |
burnId | String | No | Belirli bir gömme işi kimliğinin durumunu/sonucunu açıkça isteyin. |
language | String | No | Altyazılar için hedef dil. Aralık: Herhangi bir çevrilmiş kod veya 'original' | Varsayılan: original |
| Çoklu Dil Desteği (Yeni) | |||
languages | Array | No | Aynı dosyada birden fazla dil göstermek için yapılandırma dizisi. Limit: Maks 3 Dil | Varsayılan: Varsayılan: ASS, VTT |
- 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 (ASS için Birincil). |
| 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 (approx 48px) |
- fontFamily | String | No | İşleme için kullanılan standart yazı tipi adı. Varsayılan: İşleme için kullanılan standart yazı tipi adı. |
- bold | Boolean | No | Metne kalın ağırlık uygula. Aralık: true | false | Varsayılan: false |
- italic | Boolean | No | Metne italik stil uygula. Aralık: true | false | 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ğ). Aralık: 0.0 - 1.0 | Varsayılan: 0.5 |
- posY | Number | No | Dikey konum oranı (0 = Üst, 1 = Alt). Varsayılan: 0.88. Aralık: 0.0 - 1.0 | Varsayılan: 0.88 |
- marginV | Number | No | Alt/üstten dikey kenar boşluğu oranı. Varsayılan: 0.056. Aralık: 0.0 - 0.5 | Varsayılan: 0.056 |
| Animasyon ve Efektler | |||
- fadeIn | Number | No | Milisaniye cinsinden giriş süresi. Aralık: 0ms - 5000ms | Varsayılan: 0 |
- fadeOut | Number | No | Milisaniye cinsinden çıkış süresi. Aralık: 0ms - 5000ms | Varsayılan: 0 |
- karaoke | String | No | Karaoke etiket türü (k, kf, ko, ks). Seçenekler: k, kf, ko, ks | Varsayılan: none |
curl -X POST https://api.srtgen.com/api/v1/export/proj_8k2n9m1b \
-H "x-api-key: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"output": "srt",
"language": "fr",
"lineBreakRules": {
"maxChars": 25,
"maxWords": 5,
"balanceLines": true
}
}'curl -X POST https://api.srtgen.com/api/v1/export/proj_8k2n9m1b \
-H "x-api-key: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"output": "ass",
"lineBreakRules": {
"maxChars": 30
},
"styleSettings": {
"preset": "standard-stream",
"fontSize": 55,
"primaryColor": "#FF0000",
"bold": true
}
}'curl -X POST https://api.srtgen.com/api/v1/export/proj_8k2n9m1b \
-H "x-api-key: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"output": "ass",
"languages": [
{
"language": "original",
"styleSettings": {
"preset": "classic-apple",
"fontSize": 40,
"posY": 0.85
}
},
{
"language": "zh",
"lineBreakRules": {
"maxChars": 16,
"balanceLines": false
},
"styleSettings": {
"preset": "standard-stream",
"fontSize": 55,
"posY": 0.7
}
}
]
}'Yanıt Yapısı
1. İşleme Durumu
Proje hala AI motorumuz tarafından işleniyorsa veya beklemedeyse, mevcut durumunu gösteren bir durum güncellemesi alırsınız.
Bu, durum completed olana kadar aynı uç noktayı kullanarak frontend'inizde basit bir sorgulama (polling) yapmanıza olanak tanır.
{ "projectId": "proj_abc123", "status": "processing", "message": "AI is generating..." }
2. Tamamlanmış Durum
Kesinleştiğinde yanıt, istenen formatta altyazı içeriğini içerir.
Her format kendi kullanım durumu için optimize edilmiştir:
{ "success": true, "projectId": "proj_abc123", "status": "completed", "format": "srt", "content": "1\\n00:00:01,000 --> 00:00:03,000\\nHello..." }
Hata Kodları
| Durum | Hata Kodu | Açıklama |
|---|---|---|
| 400 | param_not_valid | Sağlanan bir parametre izin verilen aralığın dışında. |
| 401 | unauthorized | API Anahtarı eksik veya geçersiz. |
| 404 | not_found | Proje Kimliği mevcut değil. |
| 500 | export_error | Biçimlendirme sırasında bir hata oluştu. |
| 500 | project_fetch_failed | Proje verileri alınamadı. |
| 500 | server_error | Beklenmedik bir dahili sunucu hatası oluştu. |
{ "success": false, "error": "unauthorized", "message": "Sağlanan API anahtarı geçersiz veya süresi dolmuş." }