API Cloud Burn
Invia progetti al nostro cluster di rendering ad alte prestazioni per la generazione di video con sottotitoli incorporati e stile professionale.
/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"
}'Parametri
| Parametro | Tipo | Richiesto | Descrizione |
|---|---|---|---|
| Parametri Core | |||
projectId | String | Yes | L'identificatore univoco del progetto contenente video e sottotitoli. |
resolution | String | No | Risoluzione video di output desiderata. Opzioni: original, 1080p, 720p, 480p | Predefinito: original |
fileName | String | No | Nome personalizzato per il file MP4 generato. |
language | String | No | Lingua di destinazione per i sottotitoli incorporati. Predefinito: Lingua attiva del progetto |
| Supporto Multilingue (Sottotitoli Doppi) | |||
languages | Array | No | Configurazioni per tracce di sottotitoli multiple in un video. Limite: Max 3 Lingue |
- language | String | Yes* | Il codice per questo slot di lingua (es. 'zh' o 'original'). |
- lineBreakRules | Object | No | Override della segmentazione per lingua. |
- styleSettings | Object | No | Stile per lingua (Cruciale per il posizionamento dei sottotitoli doppi). |
| Regole Interruzione Riga (lineBreakRules) | |||
lineBreakRules | Object | No | Oggetto annidato per la logica di segmentazione dei sottotitoli. |
- maxChars | Number | No | Caratteri massimi consentiti per riga. Intervallo: 5 - 100 | Predefinito: 45 |
- maxWords | Number | No | Parole massime consentite per riga di sottotitoli. Intervallo: 1 - 20 | Predefinito: 10 |
- balanceLines | Boolean | No | Bilancia la lunghezza delle righe nei sottotitoli multiriga. Predefinito: true |
- sentenceSplit | Boolean | No | Preferisce interrompere le righe alla fine delle frasi. Predefinito: true |
- gapThreshold | Number | No | Intervallo massimo (secondi) tra le parole su una riga. Intervallo: 0.1 - 2.0 | Predefinito: 0.4 |
| Stile Base (styleSettings) | |||
uppercase | Boolean | No | Forza tutto il testo della trascrizione in maiuscolo. |
styleSettings | Object | No | Oggetto annidato per gli override dello stile visivo. |
- preset | String | No | Applica un preset di stile integrato come base. Opzioni: standard-stream, classic-apple, etc. |
- fontSize | Number | No | Dimensione del font come rapporto dell'altezza del video. Predefinito: 0.045 |
- fontFamily | String | No | Nome del font standard utilizzato per il rendering. Predefinito: Arial |
- bold | Boolean | No | Applica il grassetto al testo. Predefinito: false |
- italic | Boolean | No | Applica il corsivo al testo. Predefinito: false |
| Colori e Bordi | |||
- primaryColor | Hex | No | Codice hex del colore principale del testo. Predefinito: #FFFFFF |
- secondaryColor | Hex | No | Colore secondario (usato per gli effetti karaoke). Predefinito: #00FFFF |
- outlineColor | Hex | No | Colore del contorno del testo. Predefinito: #000000 |
- outline | Number | No | Spessore del contorno (Rapporto dell'altezza). Predefinito: 0.002 |
- shadow | Number | No | Profondità dell'ombra (Rapporto dell'altezza). Predefinito: 0.001 |
| Posizionamento (Rapporti 0-1) | |||
- alignment | Number | No | Codice di allineamento ASS (1-9). In basso al centro è 2. Intervallo: 1 - 9 | Predefinito: 2 |
- posX | Number | No | Posizione orizzontale (0 = Sinistra, 1 = Destra). Predefinito: 0.5 |
- posY | Number | No | Rapporto posizione verticale (0 = Alto, 1 = Basso). Predefinito: 0.88. |
- marginV | Number | No | Rapporto margine verticale dal basso/dall'alto. Predefinito: 0.056. |
| Animazioni ed Effetti | |||
- fadeIn | Number | No | Durata della dissolvenza in entrata in millisecondi. |
- fadeOut | Number | No | Durata della dissolvenza in uscita in millisecondi. |
- karaoke | String | No | Tipo di tag karaoke (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"
}
}
]
}'Stato e Risposta
1. Inizializzazione Asincrona
I lavori di cloud burn sono asincroni. L'API risponderà immediatamente con un burnId una volta che il compito è stato accettato dal cluster di rendering.
Usa l' Endpoint Stato Esportazione per monitorare il progresso e l'URL finale del video.
{ "success": true, "burnId": "brnc_abc123", "status": "running" }
2. Tracciamento e Recupero
Per ottenere il risultato finale, interroga lo stato del progetto utilizzando il burnId ricevuto durante l'inizializzazione:
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"
}'Al termine, lo stato cambierà in completed e verrà fornito un resultUrl (il video scaricabile).
{ "status": "completed", "resultUrl": "https://cdn.b2.com/video.mp4" }
Codici di Errore
| Stato | Codice Errore | Descrizione |
|---|---|---|
| 400 | missing_parameter | projectId è richiesto. |
| 400 | missing_video | Il progetto non ha video sorgente allegati. |
| 401 | unauthorized | Chiave API mancante o non valida. |
| 403 | insufficient_balance | Crediti insufficienti per la durata del video. |
| 404 | not_found | L'ID del progetto non esiste. |
| 500 | burn_submission_failed | Il cluster di rendering è al completo o irraggiungibile. |
| 500 | export_error | Si è verificato un errore durante l'elaborazione dei sottotitoli. |
| 500 | server_error | Errore interno del server imprevisto. |