ソーシャルメディア公開 API
ソーシャルメディア公開 API を使うと、ソーシャルメディアアカウントを接続し、WayinVideo のクリップをそのアカウントへ直接公開できます。
この API は AI クリッピング と モーメント検索 で生成されたエクスポート済みクリップ向けです。先にいずれかの API でクリップを作成し、元のプロジェクトが enable_export = true で送信されていることを確認してください。その後、取得した project_id とクリップの idx を使って公開タスクを作成します。
基本的な流れ:
- 接続したいプラットフォームの OAuth 認可 URL を作成します。
- 返された
auth_urlをブラウザで開き、認可を完了します。 - アカウント一覧 API を呼び出して、接続済みアカウントの
idを確認します。 - 対象クリップと公開設定を使って公開タスクを作成します。
すべてのエンドポイントで以下が必要です:
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
x-wayinvideo-api-version: v2
課金: 期間限定プロモーション中は、ソーシャルメディアアカウントを 1 つ正常に接続するごとに 10 API Units を消費します。認可が正常に完了しなかった場合、API Units は消費されません。
エンドポイント
| Method | Path | 説明 |
|---|---|---|
POST | /api/v2/social-media/oauth/{platform} | 1 回限りの OAuth 認可 URL を作成します |
GET | /api/v2/social-media/accounts | 接続済みソーシャルメディアアカウントを取得します |
POST | /api/v2/social-media/publish | 1 つ以上の接続済みアカウントへクリップを公開します |
ソーシャルメディアアカウントを接続する
接続したいプラットフォームの OAuth 認可 URL を作成します。
POST https://wayinvideo-api.wayin.ai/api/v2/social-media/oauth/{platform}
パスパラメータ
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
platform | string | はい | ソーシャルメディアプラットフォーム。値:youtube、tiktok、twitter、instagram、facebook、linkedin。 |
リクエストボディ
リクエストボディは不要です。
リクエスト例
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/social-media/oauth/youtube \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "x-wayinvideo-api-version: v2" \
--data ''
レスポンス例
{
"data": {
"auth_url": "https://example.com/oauth2/auth?xxxxxx",
"state": "a49bc736-xxxxx"
}
}
レスポンスフィールド
| フィールド | 型 | 説明 |
|---|---|---|
auth_url | string | 第三者 OAuth 認可ページの URL。ブラウザで開いて認可します。 |
state | string | 認可状態の識別子。 |
注意
- 各
auth_urlは 1 回だけ使用できます。認可に失敗した場合や URL が期限切れになった場合は、再度この API を呼び出してください。 - 認可成功後、ソーシャルメディアアカウント一覧で接続結果を確認します。
- 同じプラットフォームで複数アカウントを接続できます。たとえば YouTube OAuth API を複数回呼び出すと、複数の YouTube チャンネルを接続できます。
- アカウント接続が成功しなかった場合、API Units は消費されません。
ソーシャルメディアアカウント一覧
現在の API Key 所有者に接続されているソーシャルメディアアカウントを取得します。公開前に、この API で publish_configs に使うアカウント id を確認してください。
GET https://wayinvideo-api.wayin.ai/api/v2/social-media/accounts?active_only={active_only}
クエリパラメータ
| パラメータ | 型 | 必須 | 既定値 | 説明 |
|---|---|---|---|---|
active_only | boolean | いいえ | false | true の場合、有効な token を持つアカウントのみ返します。 |
リクエスト例
curl -X GET "https://wayinvideo-api.wayin.ai/api/v2/social-media/accounts?active_only=true" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "x-wayinvideo-api-version: v2"
アカウント未接続時のレスポンス
{
"data": []
}
data が空の場合は、先にソーシャルメディアアカウントを接続するを実行してください。
アカウント接続済みのレスポンス
{
"data": [
{
"id": "smaccxxx",
"platform": "youtube",
"platform_username": "MyChannel",
"platform_avatar": "https://example.com/avatar.jpg",
"token_valid": true,
"token_expiring_soon": false
}
]
}
レスポンスフィールド
| フィールド | 型 | 説明 |
|---|---|---|
id | string | ソーシャルアカウント ID。/publish の publish_configs の key として使います。 |
platform | string | プラットフォーム識別子。プラットフォーム値を参照。 |
platform_username | string | プラットフォーム上のユーザー名、チャンネル名、またはアカウント名。 |
platform_avatar | string | null | アカウントのアバター URL。 |
token_valid | boolean | true の場合、認可 token が有効で公開に使用できます。 |
token_expiring_soon | boolean | true の場合、token がまもなく期限切れになります。再接続を案内してください。 |
推奨事項
- 公開タスク作成前に、対象アカウントの
token_validがtrueであることを確認してください。
公開タスクを作成する
1 つのクリップを 1 つ以上の接続済みソーシャルメディアアカウントへ公開します。プロジェクト ID とクリップインデックスで対象クリップを指定します。
必須:
project_idは、enable_export = trueで送信された AI クリッピングまたはモーメント検索タスクのものを使用してください。ソーシャル公開にはエクスポート済みのクリップ動画が必要です。エクスポートを有効にせず作成されたプロジェクトは、この API では公開できません。
POST https://wayinvideo-api.wayin.ai/api/v2/social-media/publish
リクエストフィールド
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
project_id | string | はい | プロジェクト ID。 |
idx | integer | はい | プロジェクト内のクリップインデックス。 |
resolution | string | いいえ | エクスポート済みクリップの解像度。例:1080p、720p。 |
publish_configs | object | はい | ソーシャルアカウント ID を key にした公開設定。 |
scheduled_at | integer | null | いいえ | 予約公開時刻のミリ秒タイムスタンプ。null または省略で即時公開。 |
scheduled_at値の生成方法
scheduled_atはミリ秒単位の Unix タイムスタンプです。現在時刻から 5 分以上先、30 日以内である必要があります。JavaScript で 10 分後に予約する例:
const scheduledAt = Date.now() + 10 * 60 * 1000;特定の時刻を指定する例:
const scheduledAt = new Date('2026-06-15T10:00:00Z').getTime();
プラットフォーム別公開設定
publish_configs の各 value は、プラットフォーム別の公開設定オブジェクトです。
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
title | string | 条件付き | 動画タイトル。YouTube では必須。 |
description | string | 条件付き | 動画説明または投稿本文。TikTok では必須。 |
tags | string[] | いいえ | タグ一覧。 |
visibility | string | いいえ | 公開範囲:public、private、unlisted。対応状況はプラットフォームにより異なります。 |
thumbnail_url | string | いいえ | カスタムサムネイル画像 URL。 |
category | string | いいえ | プラットフォーム固有のカテゴリ。 |
allow_comment | boolean | いいえ | コメントを許可するか。 |
allow_duet | boolean | いいえ | デュエットを許可するか。TikTok 専用。 |
allow_stitch | boolean | いいえ | スティッチを許可するか。TikTok 専用。 |
disclose_content | boolean | いいえ | 広告・プロモーション内容であることを開示するか。TikTok 専用。 |
重要:
publish_configsの key は/api/v2/social-media/accountsが返すアカウント ID(例:smacct06ixxxxxxx)である必要があります。youtubeやtiktokなどのプラットフォーム名を key にしないでください。
リクエスト例
curl -sS -X POST https://wayinvideo-api.wayin.ai/api/v2/social-media/publish \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "x-wayinvideo-api-version: v2" \
-d '{
"project_id": "prj06ixxxxxxx",
"idx": 0,
"resolution": "1080p",
"publish_configs": {
"smacct06ixxxxxxx": {
"title": "API Test Video",
"description": "Posted by curl test",
"tags": ["api", "test"],
"visibility": "public"
}
},
"scheduled_at": null
}'
レスポンス例
{
"data": {
"task_id": "pubtask06ixxxxxxx",
"status": "PENDING",
"created_at": 1781251687210
}
}
公開スケジュールとリアルタイム結果は WayinVideo calendar で確認できます。
プラットフォーム値
| 値 | プラットフォーム | Web サイト |
|---|---|---|
youtube | YouTube | https://youtube.com |
tiktok | TikTok | https://tiktok.com |
twitter | Twitter / X | https://twitter.com |
instagram | https://instagram.com | |
facebook | https://facebook.com | |
linkedin | https://linkedin.com |
公開ステータス値
| 値 | 説明 |
|---|---|
PENDING | タスク作成済み、スケジュール待ち。 |
SCHEDULED | 予約済み、指定時刻待ち。 |
PROCESSING | 公開処理中。動画アップロードと平台側処理を含みます。 |
DONE | 公開成功。 |
PARTIAL_DONE | 一部成功。複数アカウント公開時のみ発生します。 |
ERROR | 公開失敗。 |
CANCELLED | キャンセル済み。 |
完全なフロー例
- OAuth API を呼び出し、ブラウザで
auth_urlを開いて認可を完了します。 - アカウント一覧 API を呼び出し、対象アカウントの
idをコピーします。 project_id、idx、publish_configsを使って公開タスクを作成します。
注意事項
publish_configsの key は接続済みアカウント ID であり、プラットフォーム名ではありません。- 予約公開する場合は将来のミリ秒タイムスタンプを渡します。
nullまたは省略で即時公開です。 - 予約公開時刻は 5 分以上先、30 日以内である必要があります。
- ソーシャル公開にはエクスポート済みクリップ動画が必要です。
enable_export = trueで作成した AI クリッピングまたはモーメント検索タスクのproject_idを使用してください。 - 公開時にアカウント token エラーが返った場合は、対象ソーシャルメディアアカウントを再接続してから再試行してください。
- 同じクリップは複数回公開できます。同じアカウントへ同じクリップを再度公開すると、別の公開タスクが作成されます。