クラウド焼付け API
プロフェッショナルなスタイリングを施したハードコード(焼き込み)動画生成のために、プロジェクトを当社の高性能レンダリングクラスターに送信します。
/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"
}'パラメータ
| パラメータ | タイプ | 必須 | 説明 |
|---|---|---|---|
| 主要パラメータ | |||
projectId | String | Yes | 動画と字幕を含むプロジェクトの一意の識別子。 |
resolution | String | No | 希望する出力動画の解像度。 オプション: original, 1080p, 720p, 480p | デフォルト: original |
fileName | String | No | 生成されるMP4ファイルのカスタム名。 |
language | String | No | 焼き付ける字幕のターゲット言語。 デフォルト: プロジェクトのアクティブな言語 |
| 多言語サポート (デュアル字幕) | |||
languages | Array | No | 1つの動画に複数の字幕トラックを表示するための設定。 制限: 最大3言語 |
- language | String | Yes* | この言語スロットのコード (例: 'zh' または 'original')。 |
- lineBreakRules | Object | No | 言語ごとのセグメンテーションの上書き設定。 |
- styleSettings | Object | No | 言語ごとのスタイリング (デュアル字幕の配置に重要)。 |
| 改行ルール (lineBreakRules) | |||
lineBreakRules | Object | No | 字幕のセグメンテーションロジック用のネストされたオブジェクト。 |
- maxChars | Number | No | 1行あたりの最大文字数。 範囲: 5 - 100 | デフォルト: 45 |
- maxWords | Number | No | 1つの字幕行あたりの最大単語数。 範囲: 1 - 20 | デフォルト: 10 |
- balanceLines | Boolean | No | 複数行の字幕で行の長さを均等にします。 デフォルト: true |
- sentenceSplit | Boolean | No | 文末での改行を優先します。 デフォルト: true |
- gapThreshold | Number | No | 行内の単語間の最大ギャップ(秒)。 範囲: 0.1 - 2.0 | デフォルト: 0.4 |
| スタイル基本設定 (styleSettings) | |||
uppercase | Boolean | No | すべての文字起こしテキストを大文字に強制します。 |
styleSettings | Object | No | 視覚的スタイリングの上書き用のネストされたオブジェクト。 |
- preset | String | No | ベースとして組み込みのスタイルプリセットを適用します。 オプション: standard-stream, classic-apple, etc. |
- fontSize | Number | No | 動画の高さに対する比率としてのフォントサイズ。 デフォルト: 0.045 |
- fontFamily | String | No | レンダリングに使用される標準フォント名。 デフォルト: Arial |
- bold | Boolean | No | テキストに太字を適用します。 デフォルト: false |
- italic | Boolean | No | テキストにイタリック体を適用します。 デフォルト: false |
| 色と境界線 | |||
- primaryColor | Hex | No | メインテキストの色(16進コード)。 デフォルト: #FFFFFF |
- secondaryColor | Hex | No | セカンダリカラー(カラオケ効果に使用)。 デフォルト: #00FFFF |
- outlineColor | Hex | No | テキストの縁取りの色。 デフォルト: #000000 |
- outline | Number | No | 縁取りの太さ(高さに対する比率)。 デフォルト: 0.002 |
- shadow | Number | No | 影の深さ(高さに対する比率)。 デフォルト: 0.001 |
| 配置 (比率 0-1) | |||
- alignment | Number | No | ASS配置コード (1-9)。下部中央は2です。 範囲: 1 - 9 | デフォルト: 2 |
- posX | Number | No | 水平位置 (0 = 左, 1 = 右)。 デフォルト: 0.5 |
- posY | Number | No | 垂直位置の比率 (0 = 上, 1 = 下)。デフォルト: 0.88。 |
- marginV | Number | No | 下部/上部からの垂直マージンの比率。デフォルト: 0.056。 |
| アニメーションと効果 | |||
- fadeIn | Number | No | フェードインの時間(ミリ秒)。 |
- fadeOut | Number | No | フェードアウトの時間(ミリ秒)。 |
- karaoke | String | No | カラオケタグのタイプ (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"
}
}
]
}'ステータスとレスポンス
1. 非同期初期化
クラウド焼付けジョブは非同期です。レンダリングクラスターによってタスクが受理されると、APIはすぐに burnId を返します。
進捗状況と最終的な動画URLをポーリングするために、書き出しステータスエンドポイントを使用してください。
{ "success": true, "burnId": "brnc_abc123", "status": "running" }
2. 追跡と取得
最終結果を取得するには、初期化時に受け取った burnId を使用してプロジェクトのステータスをポーリングします。
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"
}'完了すると、ステータスは completed に変わり、resultUrl (ダウンロード可能な動画) が提供されます。
{ "status": "completed", "resultUrl": "https://cdn.b2.com/video.mp4" }
エラーコード
| ステータス | エラーコード | 説明 |
|---|---|---|
| 400 | missing_parameter | projectId は必須です。 |
| 400 | missing_video | プロジェクトにソース動画が添付されていません。 |
| 401 | unauthorized | APIキーが欠落しているか無効です。 |
| 403 | insufficient_balance | 動画の長さに対してクレジットが不足しています。 |
| 404 | not_found | プロジェクトIDが存在しません。 |
| 500 | burn_submission_failed | レンダリングクラスターが容量制限に達しているか、アクセスできません。 |
| 500 | export_error | 字幕処理中にエラーが発生しました。 |
| 500 | server_error | 予期しない内部サーバーエラーが発生しました。 |