Cloud Burn API
Reichen Sie Projekte bei unserem Hochleistungs-Rendering-Cluster ein, um Videos mit fest eingebrannten Untertiteln und professionellem Styling zu erstellen.
/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"
}'Parameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| Kernparameter | |||
projectId | String | Yes | Die eindeutige ID des Projekts mit Video und Untertiteln. |
resolution | String | No | Gewünschte Videoauflösung der Ausgabe. Optionen: original, 1080p, 720p, 480p | Standard: original |
fileName | String | No | Benutzerdefinierter Name für die generierte MP4-Datei. |
language | String | No | Zielsprache für die eingebrannten Untertitel. Standard: Aktive Projektsprache |
| Mehrsprachige Unterstützung (Duale Untertitel) | |||
languages | Array | No | Konfigurationen für mehrere Untertitelspuren in einem Video. Limit: Max. 3 Sprachen |
- language | String | Yes* | Der Code für diesen Sprachslot (z. B. 'zh' oder 'original'). |
- lineBreakRules | Object | No | Slot-spezifische Segmentierungs-Overrides. |
- styleSettings | Object | No | Slot-spezifisches Styling (entscheidend für die Positionierung dualer Untertitel). |
| Umbruchregeln (lineBreakRules) | |||
lineBreakRules | Object | No | Verschachteltes Objekt für die Segmentierungslogik. |
- maxChars | Number | No | Maximale Zeichenanzahl pro Zeile. Bereich: 5 - 100 | Standard: 45 |
- maxWords | Number | No | Maximale Wortanzahl pro Untertitelzeile. Bereich: 1 - 20 | Standard: 10 |
- balanceLines | Boolean | No | Gleicht Zeilenlängen bei mehrzeiligen Untertiteln aus. Standard: true |
- sentenceSplit | Boolean | No | Bevorzugt Zeilenumbrüche am Satzende. Standard: true |
- gapThreshold | Number | No | Max. Lücke (Sekunden) zwischen Wörtern in einer Zeile. Bereich: 0.1 - 2.0 | Standard: 0.4 |
| Basis-Styling (styleSettings) | |||
uppercase | Boolean | No | Gesamten Transkriptionstext in Großbuchstaben erzwingen. |
styleSettings | Object | No | Verschachteltes Objekt für visuelle Stil-Overrides. |
- preset | String | No | Verwenden Sie ein integriertes Stil-Preset als Basis. Optionen: standard-stream, classic-apple, etc. |
- fontSize | Number | No | Schriftgröße als Verhältnis zur Videohöhe. Standard: 0.045 |
- fontFamily | String | No | Standard-Schriftname für das Rendering. Standard: Arial |
- bold | Boolean | No | Text fett darstellen. Standard: false |
- italic | Boolean | No | Text kursiv darstellen. Standard: false |
| Farben & Ränder | |||
- primaryColor | Hex | No | Hex-Code der Haupttextfarbe. Standard: #FFFFFF |
- secondaryColor | Hex | No | Sekundärfarbe (für Karaoke-Effekte). Standard: #00FFFF |
- outlineColor | Hex | No | Farbe der Textumrandung. Standard: #000000 |
- outline | Number | No | Dicke der Umrandung (Verhältnis zur Höhe). Standard: 0.002 |
- shadow | Number | No | Schattentiefe (Verhältnis zur Höhe). Standard: 0.001 |
| Positionierung (Verhältnisse 0-1) | |||
- alignment | Number | No | ASS-Ausrichtungscode (1-9). Unten-Mitte ist 2. Bereich: 1 - 9 | Standard: 2 |
- posX | Number | No | Horizontale Position (0 = links, 1 = rechts). Standard: 0.5 |
- posY | Number | No | Vertikale Position (0 = oben, 1 = unten). Standard: 0.88. |
- marginV | Number | No | Vertikaler Rand von unten/oben. Standard: 0.056. |
| Animation & Effekte | |||
- fadeIn | Number | No | Einblendedauer in Millisekunden. |
- fadeOut | Number | No | Ausblendedauer in Millisekunden. |
- karaoke | String | No | Karaoke-Tag-Typ (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"
}
}
]
}'Status & Antwort
1. Asynchrone Initialisierung
Cloud-Burn-Jobs sind asynchron. Die API antwortet sofort mit einer burnId, sobald der Task vom Rendering-Cluster akzeptiert wurde.
Nutzen Sie den Export-Status-Endpunkt, um den Fortschritt und die finale Video-URL abzufragen.
{ "success": true, "burnId": "brnc_abc123", "status": "running" }
2. Tracking & Abruf
Um das Endergebnis zu erhalten, fragen Sie den Projektstatus mit der während der Initialisierung erhaltenen burnId ab:
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"
}'Nach Abschluss ändert sich der Status auf completed und eine resultUrl (das herunterladbare Video) wird bereitgestellt.
{ "status": "completed", "resultUrl": "https://cdn.b2.com/video.mp4" }
Fehlercodes
| Status | Fehlercode | Beschreibung |
|---|---|---|
| 400 | missing_parameter | projectId ist erforderlich. |
| 400 | missing_video | Projekt hat kein verknüpftes Quellvideo. |
| 401 | unauthorized | API-Key fehlt oder ist ungültig. |
| 403 | insufficient_balance | Unzureichende Credits für die Videodauer. |
| 404 | not_found | Projekt-ID existiert nicht. |
| 500 | burn_submission_failed | Rendering-Cluster ist ausgelastet oder nicht erreichbar. |
| 500 | export_error | Ein Fehler ist bei der Untertitelverarbeitung aufgetreten. |
| 500 | server_error | Unerwarteter interner Serverfehler. |