tiktok-post について
tiktok-postは、Publora経由でTikTok動画をアップロードし、投稿予約するスキルです。公開範囲や交流設定、商用コンテンツの開示に加え、下書きや投稿の管理にも対応します。
主な機能
- 01TikTok動画のアップロードと予約
- 02公開範囲と交流設定
- 03商用コンテンツの開示設定
- 04メディアの添付とアップロード完了処理
- 05下書きと予約投稿の管理
活用シーン
- 01TikTok動画の投稿予約
- 02テスト用の非公開動画下書きの作成
- 03コメント、Duet、Stitchの設定
- 04動画のスポンサーコンテンツの開示
MCP 対応
AgentをPublora MCPサーバー `https://mcp.publora.com/mcp` に接続します。ツールでTikTokの投稿とメディアを管理でき、`create_post` と `update_post` から各種設定を指定できます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ publora/ skills --skill tiktok-postインストール後、Claude Code で/tiktok-postを入力して読み込まれたか確認します。
詳細
TikTok 投稿
Publora MCP サーバーを使用して、TikTok に動画をアップロードし、投稿をスケジュールできます。プライバシー設定、インタラクション設定(コメント、デュエット、スティッチ)、商用コンテンツの開示に対応しています。
前提条件
プラン: 無料の Starter プランでご利用いただけます。現在の制限と料金については、publora.com/pricingをご覧ください。
はじめに
- publora.com/registerでアカウントを作成します(無料)。
- Publora Dashboardで OAuth を使用してTikTok を接続します。
- app.publora.com/dashboard/apiでAPI キーを取得します。エージェントが OAuth でサインインできない場合、または以下の REST API フォールバックを使用する場合に限ります。
- エージェントを
https://mcp.publora.com/mcpの MCP サーバーに接続します。/mcpを含まない手動接続を更新する場合: Claude はhttps://mcp.publora.comを、バンドルされたサーバーとは別のサーバーとして扱います。現在のスコープで既存の接続先をhttps://mcp.publora.com/mcpに変更し、認証情報と選択したアカウントはそのまま保持してください。要求された場合は、もう一度サインインしてください。または、バンドルされた接続先が意図したアカウントを使用していることを確認してから、古い手動設定のみを削除してください。2つ目の設定を追加したり、認証情報を自動的に削除したりしないでください。- Publora ツールがすでに利用可能な場合(
publora-skillsプラグインまたは Claude の Publora コネクター):設定は不要です。ツールを初めて実行するときに、Claude から Publora へのサインインを求められます。 - OAuth に対応しているエージェント(Claude Code、Cursor、Claude アプリ、ChatGPT アプリ):URL でサーバーを追加してサインインしてください。API キーは不要です。Claude Code ではサーバーを追加した後、
/mcpを実行してサインインします。
claude mcp add --transport http --scope user publora https://mcp.publora.com/mcp
- OAuth に対応していないエージェント: API キーを
Authorization: Bearer sk_YOUR_API_KEYとして送信します。
claude mcp add --transport http --scope user publora https://mcp.publora.com/mcp \
--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ではありません)。
# Get your connected platforms
curl -X GET "https://api.publora.com/api/v1/platform-connections" \
-H "x-publora-key: sk_your_api_key"
# Create a post
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": "Video caption here #hashtag",
"scheduledTime": "2026-03-25T10:00:00Z",
"platformSettings": {
"tiktok": {
"viewerSetting": "PUBLIC_TO_EVERYONE",
"allowComments": true
}
}
}'
プラットフォーム ID の形式: /platform-connectionsのレスポンスに含まれる{id}を使用したtiktok-{id}
ID の例:tiktok-99887766、tiktok-123456789
📖 API ドキュメント全文: docs.publora.com
プラットフォームの制限(API とネイティブアプリ)
ネイティブ 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:公開されているhttpsの画像または動画URL(最大10件)。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
署名付きPUTの成功後、get_upload_urlでアップロードしたファイルを確定します。予約時にも保留中のメディアは確定されるため省略可能ですが、早めに呼び出すと、公開前に形式やプローブのエラーを確認できます。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はREST経由だけでなく、MCPのcreate_postおよびupdate_postツールでも使用できます。スキーマは厳密です。プラットフォーム名やキーを誤って入力すると、無視されるのではなく、検証エラーになります。
重要な制限事項
1. 監査未完了のアプリでは非公開のみ
重要: TikTokアプリがTikTokの審査に合格していない場合、投稿できるのは非公開動画(SELF_ONLY)のみです。それ以外のviewerSetting値はすべてSELF_ONLYに上書きされます。
公開動画を投稿するには、TikTokによるアプリの監査が必要です。
2. メディアが必須:動画または画像カルーセル
TikTokはテキストのみの投稿に対応していません。すべての投稿にメディアが必要です。
画像カルーセルにも対応しており、JPEG、PNG、WebP形式の画像を最大35枚まで使用でき、各画像の上限は20 MBです。投稿はカルーセルか単一の動画のいずれかで、両方を同時に含めることはできません。
3. 最低23 FPS
フレームレートが23 FPS未満の動画はTikTokに拒否されます。
例
基本的な動画投稿
Post this video to TikTok:
"How we built our startup in 60 seconds #startup #tech #coding"
非公開の下書き(テスト用)
Upload this video as a private draft to TikTok (only I can see it):
"Testing new content format"
公開する前のテストでは、viewerSetting: "SELF_ONLY"を使用してください。
ブランドコンテンツ
Post this sponsored video to TikTok with proper disclosure:
"Loving this new product from @brand! #ad #sponsored"
有料パートナーシップの場合は、commercialContent: true と brandedContent: true を設定します。
予約投稿
Schedule this TikTok video for tomorrow at 6 PM:
"Weekend vibes incoming! #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~3 時、午後 7~11 時
- 頻度:成長を目指す場合、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 を含めます |