動画ノート API
動画 URL またはアップロード済みファイルを送信して、要約情報と、必要に応じて構造化された AI ノートを生成します。ノートの指示、出力言語、希望する長さ、タイムスタンプ、元動画の関連フレームを含めるかどうかをカスタマイズできます。
各レスポンスには、構造化された概要、ハッシュタグ、タイムラインハイライトが含まれます。AI ノート生成を有効にした場合は、Markdown 形式とプレーンテキスト形式のノートも含まれます。有効にしなかった場合、レスポンスには要約関連の情報のみが含まれます。
対応動画ソース
YouTube、Vimeo、Dailymotion、Kick、Twitch、TikTok、Facebook、Zoom、Rumble などの動画 URL に対応しています。
アップロードしたローカル動画ファイルも処理できます。ローカルアップロードには Starter プラン以上が必要です。
ワークフロー
- 動画 URL またはアップロード済みファイルの識別子を使って、動画ノートタスクを送信します
statusがSUCCEEDEDになるまで結果エンドポイントをポーリングします
動画ノートタスクの送信
AI ノート生成の有無を指定してタスクを作成します。AI ノートを生成する場合は note_params を含め、要約、ハッシュタグ、タイムラインハイライトのみが必要な場合は省略します。
POST https://wayinvideo-api.wayin.ai/api/v2/notes
リクエストボディ
| パラメータ | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
video_url | string | はい | — | ソース動画の URL またはアップロード済みファイルの識別子 |
source_lang | string | いいえ | null | 動画のソース言語(対応言語を参照)。null の場合、元の言語を自動検出します。 |
target_lang | string | いいえ | null | 生成される要約とハイライトの対象言語(対応言語を参照)。null の場合、出力言語は検出されたソース言語に従います。 |
note_params | object | いいえ | null | AI ノート生成の設定。このオブジェクトを省略すると、AI ノートは生成されません。 |
ノートパラメータ
| パラメータ | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
enable_note | boolean | note_params を指定する場合は必須 | — | AI ノートを生成するには true に設定します |
generate_params | object | note_params を指定する場合は必須 | — | AI ノート生成の設定 |
ノート生成パラメータ
| パラメータ | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
prompt | string | はい | — | 希望するノートの構成、内容、重点項目を指定する指示 |
language | string | いいえ | null | AI ノートのみに適用される出力言語。要約やハイライトには影響しません(対応言語を参照) |
length_option | string | はい | — | 希望するノートの長さ:short、medium、long |
include_timestamp | boolean | はい | — | 関連するセクションや要点に元動画のタイムスタンプを追加し、動画内の該当箇所を見つけやすくするかどうか |
image_visual | boolean | いいえ | false | 元動画から抽出した関連フレームを含めるかどうか |
リクエスト例
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/notes \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2" \
-d '{
"video_url": "https://www.youtube.com/watch?v=EXAMPLE",
"source_lang": "en",
"target_lang": "en",
"note_params": {
"enable_note": true,
"generate_params": {
"prompt": "Organize the main ideas and action items",
"language": "en",
"length_option": "medium",
"include_timestamp": true,
"image_visual": false
}
}
}'
import requests
requests.post(
"https://wayinvideo-api.wayin.ai/api/v2/notes",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"x-wayinvideo-api-version": "v2",
},
json={
"video_url": "https://www.youtube.com/watch?v=EXAMPLE",
"target_lang": "en",
"note_params": {
"enable_note": True,
"generate_params": {
"prompt": "Organize the main ideas and action items",
"language": "en",
"length_option": "medium",
"include_timestamp": True,
},
},
},
)
await fetch('https://wayinvideo-api.wayin.ai/api/v2/notes', {
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'x-wayinvideo-api-version': 'v2',
'Content-Type': 'application/json',
},
body: JSON.stringify({
video_url: 'https://www.youtube.com/watch?v=EXAMPLE',
target_lang: 'en',
note_params: {
enable_note: true,
generate_params: {
prompt: 'Organize the main ideas and action items',
language: 'en',
length_option: 'medium',
include_timestamp: true,
},
},
}),
});
送信レスポンス
{
"data": {
"id": "note_proj_001",
"name": "sample project name",
"status": "CREATED"
}
}
| フィールド | 型 | 説明 |
|---|---|---|
id | string | 結果の取得に使用するタスク識別子 |
name | string | ソース動画から生成されたタスク名 |
status | string | タスクの初期ステータス。受理されたタスクでは CREATED が返されます |
使用例
以下は、動画ノートの一般的なユースケースです。YOUR_API_KEY は API ダッシュボードで取得したキーに置き換えてください。
タイムスタンプ付きの簡潔なノートを生成する
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/notes \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2" \
-H "Content-Type: application/json" \
-d '{
"video_url": "https://www.youtube.com/watch?v=EXAMPLE",
"note_params": {
"enable_note": true,
"generate_params": {
"prompt": "Create concise notes covering the main ideas",
"length_option": "short",
"include_timestamp": true
}
}
}'
アクション重視の会議ノートを生成する
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/notes \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2" \
-H "Content-Type: application/json" \
-d '{
"video_url": "UPLOADED_FILE_ID",
"note_params": {
"enable_note": true,
"generate_params": {
"prompt": "Create meeting notes with decisions, owners, and action items",
"length_option": "medium",
"include_timestamp": true
}
}
}'
AI ノートを生成せずに動画を処理する
note_params を省略すると、ノートデータを含めずに要約、ハッシュタグ、タイムラインハイライトが返されます。
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/notes \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2" \
-H "Content-Type: application/json" \
-d '{
"video_url": "https://www.youtube.com/watch?v=EXAMPLE",
"target_lang": "en"
}'
動画ノート結果の取得
タスクを送信した後、status が SUCCEEDED になるまでこのエンドポイントをポーリングします。成功時のレスポンスには要約情報が含まれ、リクエストした場合は生成された AI ノートも含まれます。
GET https://wayinvideo-api.wayin.ai/api/v2/notes/results/{id}
パスパラメータ
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
id | string | はい | 送信エンドポイントから返されたタスク ID |
結果リクエスト
curl -X GET https://wayinvideo-api.wayin.ai/api/v2/notes/results/note_proj_001 \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2"
import requests
requests.get(
"https://wayinvideo-api.wayin.ai/api/v2/notes/results/note_proj_001",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"x-wayinvideo-api-version": "v2",
},
)
await fetch(
'https://wayinvideo-api.wayin.ai/api/v2/notes/results/note_proj_001',
{
method: 'GET',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'x-wayinvideo-api-version': 'v2',
},
}
);
成功レスポンス例
{
"data": {
"summary_id": "vdsmr_001",
"status": "SUCCEEDED",
"title": "sample title",
"video_thumbnail": "https://cdn.example.com/thumb/video_001.jpg",
"summary": "sample summary text",
"note_data": "# Main Ideas\n\n- **00:45** First key point\n- **03:20** Second key point",
"note_text": "Main Ideas\n\n00:45 First key point\n03:20 Second key point",
"tags": ["#topic1", "#topic2"],
"highlights": [
{
"start": 0,
"end": 196000,
"desc": "sample section title",
"events": [
{
"timestamp": 45000,
"desc": "sample event description"
}
]
}
],
"cost_usage": 54.0
}
}
レスポンスフィールド
| フィールド | 型 | 説明 |
|---|---|---|
summary_id | string | 生成された要約の識別子 |
status | string | タスクのステータス:CREATED、QUEUED、ONGOING、SUCCEEDED、FAILED |
error_message | string | エラーの理由。status が FAILED の場合のみ含まれます |
title | string | AI が生成したタイトル |
video_thumbnail | string | ソース動画のサムネイル URL |
summary | string | 動画の構造化された概要 |
note_data | string | Markdown 構造を保持した AI ノート。Markdown のレンダリングに適しています。リクエストしていない場合は省略されます |
note_text | string | Markdown 構文を除去した AI ノートのプレーンテキスト版。リクエストしていない場合は省略されます |
tags | string[] | AI が生成したハッシュタグ |
highlights | array | タイムスタンプと主要イベントを含むタイムラインセクション |
cost_usage | number | タスクで消費した API ユニット数 |
ハイライトオブジェクト
| フィールド | 型 | 説明 |
|---|---|---|
start | number | 開始時刻(ミリ秒) |
end | number | 終了時刻(ミリ秒) |
desc | string | セクションのタイトルまたは説明 |
events | array | ハイライト内の主要イベント |
イベントオブジェクト
| フィールド | 型 | 説明 |
|---|---|---|
timestamp | number | イベント時刻(ミリ秒) |
desc | string | イベントの説明 |
FAQ
動画ノートと動画要約の違いは何ですか?
動画要約 API は、概要、ハッシュタグ、タイムラインハイライトを生成します。動画ノート API は同じ要約情報を返すほか、Markdown とプレーンテキスト形式でカスタマイズ可能なノートを追加生成できます。
AI ノートの生成は必須ですか?
いいえ。AI ノートなしで要約情報を返すには note_params を省略します。ノートを生成するには note_params を指定し、enable_note を true に設定して、generate_params.prompt を含めます。
note_data と note_text の違いは何ですか?
note_data は、見出し、リスト、強調などをレンダリングできるよう、生成された Markdown 構造を保持します。note_text は同じノートから Markdown 構文を除去したもので、検索インデックス、埋め込み、プレビュー、プレーンテキスト保存に適しています。
ノートの形式を指定できますか?
はい。generate_params.prompt で指示を指定し、language でノートの言語、length_option で希望する長さ、include_timestamp でタイムスタンプ、image_visual で関連動画フレームを含めるかどうかを設定できます。
どの動画ソースに対応していますか?
YouTube、Vimeo、Dailymotion、Kick、Twitch、TikTok、Facebook、Zoom、Rumble などの URL に加え、アップロード APIによるローカルファイルのアップロードに対応しています。