Communitygithub.com

publora/tiktok-post

Publora の MCP サーバーを使って TikTok に動画をアップロード・スケジュール投稿します。プライバシー設定、コメント・デュエット・ステッチの許可、宣伝コンテンツの開示に対応。動画は 3 秒~10 分、23 FPS 以上。カルーセルは最大 35 枚の画像に対応。未審査アプリはプライベート投稿のみ可能。Reels には非対応(instagram-post を使用)。

tiktok-post とは?

Publora の TikTok Post スキルは、Claude Code や Cursor、Codex などの MCP 対応エージェントから直接、TikTok への動画投稿・スケジュール機能を提供する MCP サーバーツールです。ユーザーは Publora アカウントを作成し、OAuth で TikTok を連携、API キーを発行するだけで、3 秒~10 分・23 FPS 以上の MP4/MOV/WebM 動画をワンショットでアップロードできます。投稿ごとに視聴者設定(公開・フォロワーのみ・相互フォローのみ・自分だけ)、コメント・デュエット・ステッチの可否、宣伝コンテンツフラグを細かく制御可能。カルーセル(最大 35 枚画像)にも対応。未審査のアプリは SELF_ONLY プライベート投稿のみという制限があるため、本番公開には TikTok のアプリ審査が必要です。REST API のフォールバックも用意されており、MCP が利用できない場合でも直接 API で投稿管理が可能。

対応✓Claude Code✓Codex CLI✓Cursor
npx skills add https://github.com/publora/skills/tree/main/skills/tiktok-post

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

TikTok 投稿

Publora MCP サーバーを使用して、TikTok に動画をアップロードし、スケジュール投稿します。プライバシー制御、インタラクション設定(コメント、デュエット、ステッチ)、および商用コンテンツの開示をサポートしています。

前提条件

プラン: 無料の Starter プランで動作します。現在の制限と料金: publora.com/pricing

はじめに

  1. publora.com/register でアカウントを作成(無料)
  2. Publora ダッシュボード で OAuth 経由で TikTok を接続
  3. app.publora.com/dashboard/api で API キーを取得
  4. 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 GB4 GB
最小フレームレート23 FPS23 FPS
フォーマットMP4、MOV、WebMMP4、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: 動画を添付する投稿 ID
  • fileName: 動画ファイル名(例: "video.mp4")
  • contentType: video/mp4、video/quicktime、または video/webm
  • type: "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自分のみ(下書き相当)

インタラクション設定

設定デフォルト説明
allowCommentstrue視聴者がコメントできるかどうか
allowDuetfalse視聴者がデュエットを作成できるかどうか
allowStitchfalse視聴者がステッチできるかどうか

商用コンテンツの設定

設定デフォルト説明
commercialContentfalseこれは商用コンテンツですか?
brandOrganicfalseオーガニックブランドプロモーション
brandedContentfalse有料パートナーシップ/スポンサー

注意: 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 フォーマット
AVIPublora では受け付けTikTok で拒否される可能性あり
MKVPublora では受け付けTikTok で拒否される可能性あり

推奨: 互換性を最大限にするには MP4 を使用してください。

ベストプラクティス

コンテンツ

  1. 最初の 3 秒で惹きつける: すぐに注目を集める
  2. 最適な長さ: エンゲージメントを最大化するには 15 ~ 60 秒
  3. トレンドのサウンド: 可能な限りトレンドオーディオを使用
  4. ハッシュタグ戦略: 関連するハッシュタグを 3 ~ 5 個

技術面

  1. 縦型動画: 9:16 のアスペクト比が最も効果的
  2. 高画質: 最低 720p の解像度
  3. 23+ FPS: スムーズな再生を確保
  4. 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_posts1 日の制限に達した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 を含める

Individual skills in this repo

This repo contains 8 individual skills — each has its own dedicated page.

publora/bluesky-post

Use when the user wants to post or schedule to Bluesky through Publora. Handles the 300-character cap, auto-detected hashtags and links, up to 4 images, and videos. Alt text cannot be set through the API. Needs a Bluesky app password, never the main password. Not for Mastodon (use social-post).

publora/instagram-post

Use when the user wants to post or schedule to Instagram through Publora: a single image, a 2-10 image carousel, a Reel or a Story. Requires a Business account and an image or video; text-only posts are rejected by the API. Not for Threads (use threads-post).

publora/linkedin-analytics

Analyze LinkedIn performance and manage engagement through Publora. Use when the user asks how a LinkedIn post or account performed (impressions, reach, reactions, comments, reshares, follower growth) or wants to react, comment, reshare or resolve an @mention. Statistics run over the REST API, engagement over MCP tools. Not for creating posts (use linkedin-post).

publora/linkedin-post

Use when the user wants to publish or schedule a LinkedIn post through Publora: text, a multi-image grid, a video, a PDF document, or @mentions. Not for analytics, reactions, comments or reshares (use linkedin-analytics), and not for other platforms.

publora/social-post

Use when the user wants to post or schedule to YouTube, a Facebook Page or Mastodon through Publora. YouTube needs a video on every post, Facebook publishes to Pages only, Mastodon caps at 500 characters. Not for the platforms that have their own skill.

publora/telegram-post

Use when the user wants to post or schedule to a Telegram channel or group through Publora, using a bot. Covers Telegram markdown, silent delivery, link previews and forward protection. Bot API caps media captions at 1,024 characters and videos at 50 MB. Not for other platforms (each has its own skill).

publora/threads-post

Create and schedule Threads posts with image carousels and reply control via Publora MCP. Use when the user wants to post to Meta's Threads. Multi-part threading is currently disabled by the platform, so long content stays a single post. Not for Instagram (use instagram-post) or X threads (use x-post).

publora/x-post

Use when the user wants to post or schedule to X (Twitter) through Publora, including threads auto-split past 280 characters, up to 4 images, or a video up to 140 seconds. X needs a paid Publora plan. Not for Threads or Bluesky (each has its own skill).

関連スキル