TikTok 投稿
Publora MCP サーバーを使用して、TikTok に動画をアップロードし、スケジュール投稿します。プライバシー制御、インタラクション設定(コメント、デュエット、ステッチ)、および商用コンテンツの開示をサポートしています。
前提条件
プラン: 無料の Starter プランで動作します。現在の制限と料金: publora.com/pricing
はじめに
- publora.com/register でアカウントを作成(無料)
- Publora ダッシュボード で OAuth 経由で TikTok を接続
- app.publora.com/dashboard/api で API キーを取得
- MCP サーバー
https://mcp.publora.comにエージェントを接続し、Authorization: Bearer sk_YOUR_API_KEYで認証します。Claude Code の場合:
claude mcp add publora --transport http https://mcp.publora.com \
--header "Authorization: Bearer sk_YOUR_API_KEY"
Claude Desktop、Cursor、Codex、OpenClaw、claude.ai コネクタでは、それぞれ異なる設定ファイルまたはフローが必要です。正確なパスとスニペットについてはクライアントセットアップを参照してください。
REST API フォールバック
MCP サーバーが利用できない場合やエラーを返す場合は、REST API を直接使用してください。
ベース URL: https://api.publora.com/api/v1
認証: x-publora-key ヘッダーを使用します(Authorization: Bearer ではありません):
# 接続済みのプラットフォームを取得
curl -X GET "https://api.publora.com/api/v1/platform-connections" \
-H "x-publora-key: sk_your_api_key"
# 投稿を作成
curl -X POST "https://api.publora.com/api/v1/create-post" \
-H "x-publora-key: sk_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"platforms": ["tiktok-99887766"],
"content": "動画のキャプション #ハッシュタグ",
"scheduledTime": "2026-03-25T10:00:00Z",
"platformSettings": {
"tiktok": {
"viewerSetting": "PUBLIC_TO_EVERYONE",
"allowComments": true
}
}
}'
プラットフォーム ID の形式: tiktok-{id}({id} は /platform-connections のレスポンスから取得)
ID の例: tiktok-99887766、tiktok-123456789
📖 完全な API ドキュメント: docs.publora.com
プラットフォームの制限(API vs ネイティブアプリ)
ネイティブの TikTok アプリとは異なる重要な API 制限:
動画の要件
| 仕様 | API の制限 | ネイティブアプリ |
|---|---|---|
| 最大長 | 10 分 | 60 分 |
| 最小長 | 3 秒 | 3 秒 |
| 最大ファイルサイズ | 4 GB | 4 GB |
| 最小フレームレート | 23 FPS | 23 FPS |
| フォーマット | MP4、MOV、WebM | MP4、MOV、WebM |
キャプションの制限
| 要素 | API の制限 | ネイティブアプリ |
|---|---|---|
| キャプションの長さ | 2,200 文字 | 4,000 文字 |
| ハッシュタグ | キャプション文字数に含む | キャプション文字数に含む |
レート制限
| 制限 | 値 |
|---|---|
| 1 日あたりの投稿数 | 15 ~ 20 |
| 1 分あたりの動画数 | 最大 2 本 |
利用可能なツール
create_post
新しい TikTok 投稿を作成します。
パラメーター:
platforms: TikTok 接続 ID の配列(例:["tiktok-99887766"])content: 動画のキャプション(最大 2,200 文字)scheduledTime: ISO 8601 UTC 日時。オプション: 省略すると下書きとして作成されます。未来の時刻を指定するとスケジュール投稿になります。5 分以上過去の時刻はSCHEDULED_TIME_IN_PASTで拒否されるため、即時投稿する場合は現在時刻に 1 分加算して使用してください。mediaUrls: 最大 10 個のパブリック https 画像または動画 URL。Publora がサーバーサイドでダウンロードし、検証前に添付します。そのため、メディアとスケジュールは 1 回の呼び出しで完了します。これは、下書き →get_upload_url→complete_mediaのフローに代わるワンショットの代替手段です。取り込みは 1 時間あたり 60 URL にレート制限されています。
get_upload_url
動画アップロード用の署名付き URL を取得します。
パラメーター:
postGroupId: 動画を添付する投稿 IDfileName: 動画ファイル名(例: "video.mp4")contentType:video/mp4、video/quicktime、またはvideo/webmtype:"video"
complete_media
get_upload_url でアップロードしたファイルを、署名付き PUT が成功した後に確定します。オプションですが、スケジュールでも保留中のメディアは確定されます。ただし、早めに呼び出すと、公開前にフォーマットやプローブエラーを検出できます。mediaUrls で添付したメディアには必要ありません。
パラメーター:
mediaId:get_upload_urlが返した ID
list_connections
接続済みのアカウントとそのプラットフォーム ID を一覧表示します。最初にこれを呼び出し、ID をそのままコピーしてください。ID は推測不可能です。
list_posts / get_post / update_post / delete_post
スケジュール済みおよび下書きの投稿を管理します。update_post は下書きまたはスケジュール済みの投稿の content や platforms も修正できるため、タイプミスの修正やターゲットの変更が、削除して再作成する必要がなくなります。delete_media と prune_media_reference でアップロード済みファイルをクリーンアップします。
プラットフォーム設定(REST API 経由)
TikTok には platformSettings で制御する 7 つのプラットフォーム固有設定があります:
{
"platformSettings": {
"tiktok": {
"viewerSetting": "PUBLIC_TO_EVERYONE",
"allowComments": true,
"allowDuet": false,
"allowStitch": false,
"commercialContent": false,
"brandOrganic": false,
"brandedContent": false
}
}
}
視聴者設定(必須)
| 値 | 説明 |
|---|---|
PUBLIC_TO_EVERYONE | 誰でも視聴可能(デフォルト) |
MUTUAL_FOLLOW_FRIENDS | 相互フォローのみ |
FOLLOWER_OF_CREATOR | 自分のフォロワーのみ |
SELF_ONLY | 自分のみ(下書き相当) |
インタラクション設定
| 設定 | デフォルト | 説明 |
|---|---|---|
allowComments | true | 視聴者がコメントできるかどうか |
allowDuet | false | 視聴者がデュエットを作成できるかどうか |
allowStitch | false | 視聴者がステッチできるかどうか |
商用コンテンツの設定
| 設定 | デフォルト | 説明 |
|---|---|---|
commercialContent | false | これは商用コンテンツですか? |
brandOrganic | false | オーガニックブランドプロモーション |
brandedContent | false | 有料パートナーシップ/スポンサー |
注意: commercialContent が true の場合、brandOrganic または brandedContent の少なくとも一方も true にする必要があります。
注意: platformSettings は MCP の create_post および update_post ツール、および REST 経由でも受け付けられます。スキーマは厳密で、プラットフォームやキーのタイプミスは、警告なしにドロップされるのではなく、バリデーションエラーで拒否されます。
重要な制限
1. 未審査アプリ = プライベートのみ
重要: TikTok アプリが TikTok のレビュープロセスを通過していない場合、プライベート動画のみ投稿できます(SELF_ONLY)。他の viewerSetting の値はすべて SELF_ONLY に上書きされます。
公開動画を投稿するには、アプリが TikTok による審査を受ける必要があります。
2. メディアが必要(動画または画像カルーセル)
TikTok はテキストのみの投稿をサポートしていません。すべての投稿にはメディアが必要です。
画像カルーセルも可能です: 最大 35 枚の画像、JPEG、PNG、WebP 形式、各 20 MB まで。投稿はカルーセルか単一動画のいずれかで、両方を同時に使用することはできません。
3. 最小 23 FPS
23 FPS 未満の動画は TikTok によって拒否されます。
例
基本的な動画投稿
この動画を TikTok に投稿:
"スタートアップを 60 秒で構築した方法 #startup #tech #coding"
プライベート下書き(テスト用)
この動画をプライベート下書きとして TikTok にアップロード(自分だけが見られます):
"新しいコンテンツ形式のテスト"
公開前にテストするには viewerSetting: "SELF_ONLY" を使用します。
ブランドコンテンツ
このスポンサー付き動画を適切な開示とともに TikTok に投稿:
"@brand のこの新製品が大好きです! #ad #sponsored"
有料パートナーシップの場合は commercialContent: true と brandedContent: true を設定します。
スケジュール投稿
この TikTok 動画を明日の午後 6 時にスケジュール:
"週末の雰囲気がやってくる! #weekend #fun"
サポートされている動画フォーマット
| フォーマット | 推奨 | 備考 |
|---|---|---|
| MP4 | はい | 最も信頼性が高い |
| MOV | はい | Apple フォーマット |
| WebM | はい | Web フォーマット |
| AVI | Publora では受け付け | TikTok で拒否される可能性あり |
| MKV | Publora では受け付け | TikTok で拒否される可能性あり |
推奨: 互換性を最大限にするには MP4 を使用してください。
ベストプラクティス
コンテンツ
- 最初の 3 秒で惹きつける: すぐに注目を集める
- 最適な長さ: エンゲージメントを最大化するには 15 ~ 60 秒
- トレンドのサウンド: 可能な限りトレンドオーディオを使用
- ハッシュタグ戦略: 関連するハッシュタグを 3 ~ 5 個
技術面
- 縦型動画: 9:16 のアスペクト比が最も効果的
- 高画質: 最低 720p の解像度
- 23+ FPS: スムーズな再生を確保
- MP4 フォーマット: 最も信頼性の高いフォーマット
タイミング
- 最適な時間帯: ターゲットタイムゾーンの 7 ~ 9 時、12 ~ 15 時、19 ~ 23 時
- 頻度: 成長のために 1 日 1 ~ 3 投稿
- 一貫性: 定期的な投稿スケジュールがアルゴリズムに有効
トラブルシューティング
| エラー | 原因 | 解決策 |
|---|---|---|
unaudited_client_can_only_post_to_private_accounts | アプリが未承認 | アプリを TikTok の審査に提出するか、SELF_ONLY を使用 |
spam_risk_too_many_posts | 1 日の制限に達した | 24 時間待機 |
duration_check_failed | 動画が長すぎる/短すぎる | 3 秒~10 分に調整 |
file_format_check_failed | 動画フォーマットが正しくない | MP4、MOV、WebM を使用 |
| "23 FPS required" | フレームレートが低い | 動画を 23+ FPS で再エンコード |
| "TikTok requires selecting who can view" | viewerSetting がない | platformSettings に必ず viewerSetting を含める |