Esporta Sottotitoli
Scarica i sottotitoli nei tuoi formati preferiti e traccia lo stato in tempo reale dei tuoi progetti di trascrizione.
/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"
}'Parametri
| Parametro | Tipo | Richiesto | Descrizione |
|---|---|---|---|
| Parametri Core | |||
id | String | Yes | L'identificatore univoco del progetto passato nel percorso URL. |
output | String | No | Formato dei sottotitoli desiderato o asset multimediale per l'esportazione. Opzioni: srt, vtt, ass, txt, json, mp4 | Predefinito: srt |
burnId | String | No | Richiedi esplicitamente lo stato/risultato di un ID lavoro burn specifico. |
language | String | No | Lingua di destinazione per i sottotitoli. Intervallo: Qualsiasi codice tradotto o 'original' | Predefinito: original |
| Supporto Multilingue (Nuovo) | |||
languages | Array | No | Array di configurazioni per mostrare più lingue nello stesso file. Limite: Max 3 Lingue | Predefinito: Predefinito: ASS, VTT |
- 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 (Primario per ASS). |
| 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 (approx 48px) |
- fontFamily | String | No | Nome del font standard utilizzato per il rendering. Predefinito: Nome del font standard utilizzato per il rendering. |
- bold | Boolean | No | Applica il grassetto al testo. Intervallo: true | false | Predefinito: false |
- italic | Boolean | No | Applica il corsivo al testo. Intervallo: true | false | 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). Intervallo: 0.0 - 1.0 | Predefinito: 0.5 |
- posY | Number | No | Rapporto posizione verticale (0 = Alto, 1 = Basso). Predefinito: 0.88. Intervallo: 0.0 - 1.0 | Predefinito: 0.88 |
- marginV | Number | No | Rapporto margine verticale dal basso/dall'alto. Predefinito: 0.056. Intervallo: 0.0 - 0.5 | Predefinito: 0.056 |
| Animazioni ed Effetti | |||
- fadeIn | Number | No | Durata della dissolvenza in entrata in millisecondi. Intervallo: 0ms - 5000ms | Predefinito: 0 |
- fadeOut | Number | No | Durata della dissolvenza in uscita in millisecondi. Intervallo: 0ms - 5000ms | Predefinito: 0 |
- karaoke | String | No | Tipo di tag karaoke (k, kf, ko, ks). Opzioni: k, kf, ko, ks | Predefinito: 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
}
}
]
}'Struttura della Risposta
1. Stato di Elaborazione
Se il progetto è ancora in fase di elaborazione dal nostro motore AI o in sospeso, riceverai un aggiornamento dello stato che indica il suo stato attuale.
Questo ti consente di implementare un semplice polling sul tuo frontend utilizzando lo stesso endpoint fino a quando lo stato non è completed.
{ "projectId": "proj_abc123", "status": "processing", "message": "AI is generating..." }
2. Stato Completato
Una volta finalizzato, la risposta include il contenuto dei sottotitoli nel formato richiesto.
Ogni formato è ottimizzato per il suo caso d'uso:
{ "success": true, "projectId": "proj_abc123", "status": "completed", "format": "srt", "content": "1\\n00:00:01,000 --> 00:00:03,000\\nHello..." }
Codici di Errore
| Stato | Codice Errore | Descrizione |
|---|---|---|
| 400 | param_not_valid | Un parametro fornito è al di fuori dell'intervallo consentito. |
| 401 | unauthorized | Chiave API mancante o non valida. |
| 404 | not_found | L'ID del progetto non esiste. |
| 500 | export_error | Si è verificato un errore durante la formattazione. |
| 500 | project_fetch_failed | Impossibile recuperare i dati del progetto. |
| 500 | server_error | Si è verificato un errore interno del server imprevisto. |
{ "success": false, "error": "unauthorized", "message": "La chiave API fornita non è valida o è scaduta." }