動画高画質化 API
プラットフォームに保存済みの動画、またはアップロードしたファイルを送信し、1080p、2K、4K の高画質化結果を受け取ります。画面内テキストの強調はオンとオフを切り替えられます。動画全体、または最長 10 分の区間を処理できます。
対応する動画ソース
プラットフォームのファイル URL、または アップロード API が返す identity を渡します。ローカルアップロードには Starter プラン以上が必要です。
ワークフロー
- 元動画と目標解像度を指定して高画質化タスクを送信する
statusがDONEまたはERRORになるまで結果をポーリングするstatusがDONEのときoutput_urlを読み取る
エンドポイント
| メソッド | パス | 説明 |
|---|---|---|
POST | /api/v2/video-enhancer | 高画質化タスクを送信する |
GET | /api/v2/video-enhancer/results/{id} | タスク結果を取得する |
すべてのリクエストに次のヘッダーが必要です。
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
x-wayinvideo-api-version: v2
高画質化タスクを送信する
POST https://wayinvideo-api.wayin.ai/api/v2/video-enhancer
リクエストボディ
| パラメータ | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
video_url | string | はい | — | プラットフォームのファイル URL、または アップロード API が返す identity。 |
target_res | string | はい | — | 出力解像度。指定できる値は 1080p、2k、4k。 |
enable_text_hd | boolean | いいえ | true | 画面内テキストを強調するかどうか。省略した場合のデフォルトは true。 |
start_ms | integer | いいえ | — | 区間の開始位置(ミリ秒)。start_ms と end_ms をどちらも省略すると動画全体を処理します。10 分の上限は引き続き適用されます。どちらか一方だけを送ると拒否されます。 |
end_ms | integer | いいえ | — | 区間の終了位置(ミリ秒)。start_ms より大きく、元動画の長さを超えてはいけません。 |
処理区間は 10 分以内です。課金はこの区間を秒単位で切り上げて計算します。料金は 料金・請求 を参照してください。
リクエスト例
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/video-enhancer \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2" \
-d '{
"video_url": "EF_up_06wguq1afbwg1",
"target_res": "1080p",
"enable_text_hd": true,
"start_ms": 0,
"end_ms": 8000
}'
import requests
requests.post(
"https://wayinvideo-api.wayin.ai/api/v2/video-enhancer",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"x-wayinvideo-api-version": "v2",
},
json={
"video_url": "EF_up_06wguq1afbwg1",
"target_res": "1080p",
"enable_text_hd": True,
"start_ms": 0,
"end_ms": 8000,
},
)
await fetch('https://wayinvideo-api.wayin.ai/api/v2/video-enhancer', {
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'x-wayinvideo-api-version': 'v2',
'Content-Type': 'application/json',
},
body: JSON.stringify({
video_url: 'EF_up_06wguq1afbwg1',
target_res: '1080p',
enable_text_hd: true,
start_ms: 0,
end_ms: 8000,
}),
});
レスポンス
送信直後のタスクは、通常 PENDING(待機中)または IN_PROGRESS(実行中)です。
{
"data": {
"id": "proj_01HQ2X8J3K4L5M6N7O8P9Q0R",
"status": "IN_PROGRESS"
}
}
| フィールド | 型 | 説明 |
|---|---|---|
id | string | Project id。結果取得時にパスへ渡します。 |
status | string | PENDING(待機)、IN_PROGRESS(実行中)、DONE(完了)、ERROR(失敗)。 |
output_url | string | 高画質化後の動画 URL。status が DONE のときだけ含まれます。 |
高画質化結果を取得する
送信レスポンスの id で、status が DONE または ERROR になるまでポーリングします。status が DONE のとき output_url を読み取ります。
GET https://wayinvideo-api.wayin.ai/api/v2/video-enhancer/results/{id}
リクエスト例
curl -X GET https://wayinvideo-api.wayin.ai/api/v2/video-enhancer/results/proj_01HQ2X8J3K4L5M6N7O8P9Q0R \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2"
レスポンス
{
"data": {
"id": "proj_01HQ2X8J3K4L5M6N7O8P9Q0R",
"status": "DONE",
"output_url": "https://cdn.viralhub.ai/user/video_0_8000_1080p.mp4"
}
}
フィールドは送信レスポンスと同じです。タスク完了時に output_url が含まれます。
料金
動画高画質化は、処理した区間の長さに対して API ユニットを消費します。秒単位で切り上げ、1 秒未満は 1 秒として計算します。
| 目標解像度 | API ユニット |
|---|---|
| 1080p | 1 秒あたり 1 |
2K(2k) | 1 秒あたり 2 |
4K(4k) | 1 秒あたり 4 |
API ユニットが不足している場合、タスクは作成されず、ユニットも消費されません。詳しくは 料金・請求 と ステータスコード を参照してください。
エラー
失敗したリクエストは標準のステータスコードとレスポンス形式を使います。詳しくは ステータスコード を参照してください。