name: tiktok-publisher
Content StudioのCLIツールを使い、TikTok Content Posting API v2で動画を投稿するスキル。
~/.config/content-studio/tiktok-tokens.json の expires_at)pnpm tiktok:publish は投稿前に VIDEO_INVENTORY.md を自動チェックする。
このガードは inventory に書かれた重複 を止める。
ただし候補選定まで自動ではない。 VIDEO_INVENTORY.md が古い、または API 確認が失敗している状態では投稿しない。
SNS(announce)ステージのスキルとして、動画コンテンツの投稿に使用。
| Phase | スキル | 内容 |
|---|---|---|
| 1 | draft-writer | 記事作成 |
| 2 | content-manager | レビュー |
| 3 | note-publisher / zenn-publisher | 記事公開 |
| 4 | x-publisher / bluesky-publisher | SNS告知 |
| 5 | tiktok-publisher | TikTok投稿 |
現在 Sandbox(未審査)。ドラフト(受信箱)モードのみ。直接投稿は不可。
source ~/.zshrc && pnpm tiktok:auth
~/.config/content-studio/tiktok-tokens.json に保存される# 基本(ドラフトモード、スマホの受信トレイに届く)
pnpm tiktok:publish --file video.mp4 --title "タイトル"
# 説明付き + 公開記録
pnpm tiktok:publish --file video.mp4 --title "タイトル" --description "説明文" --slug my-draft-slug
スクリプト: scripts/publish.sh — 環境変数チェック付きの投稿ヘルパー 一括フロー: scripts/check-and-publish.sh — チェック→投稿の一連フロー
pnpm tiktok:list # live状態を確認
pnpm tiktok:check # 次候補を機械的に出す
運用ルール:
pnpm tiktok:list または pnpm tiktok:check がトークン切れで失敗したら、先に pnpm tiktok:auth --refreshpnpm tiktok:check は候補出しの補助。最終判断は API と VIDEO_INVENTORY.md の両方で行うVIDEO_INVENTORY.md は集計行より個別行を信じるpnpm tiktok:status {publish_id}
pnpm tiktok:auth --refresh
| オプション | 説明 | デフォルト |
|---|---|---|
--file | ローカル動画ファイルパス | - |
--url | 動画URL | - |
--title | 動画タイトル(必須) | - |
--description | 動画の説明 | - |
--privacy | 公開範囲(直接投稿時のみ) | SELF_ONLY |
--draft | ドラフト(受信箱)モード | デフォルト |
--direct | 直接投稿モード(審査済みのみ) | - |
--aigc | AI生成コンテンツとして開示 | true(デフォルトON) |
--no-aigc | AI生成コンテンツの開示を無効化 | - |
--slug | ドラフトslug(公開記録保存) | - |
--no-wait | ステータス確認スキップ | false |
source ~/.zshrc で環境変数を読み込み済みpnpm tiktok:auth で認証済み(トークンが有効)pnpm tiktok:list か pnpm tiktok:check が成功している--slug を指定すると、published/{slug}/tiktok.json に記録が保存される。
記録フォーマット: references/example-publish-record.json
--slug 指定時は公開記録が保存されたis_aigc: true を送信しないと、TikTokの自動検出でコミュニティガイドライン違反になる。デフォルトONになっているが、--no-aigc を不用意に使わないことVIDEO_INVENTORY.md の集計行と個別行の状態がズレることがある。必ず pnpm tiktok:list と pnpm tiktok:check の両方で確認してから投稿する。ファイル記録よりAPIの実状態を優先することtiktok:list / tiktok:check がトークン切れで失敗した場合、live確認ができない状態で投稿してはいけない。先に pnpm tiktok:auth --refresh を実行し、それでも確認できなければその回は投稿しないcode_challenge + code_verifier が必須。PKCEなしだとエラーになるlocalhost は使えない。実ドメインのコールバックURL(content-studio.craftgarden.studio)が必要~/.zshrc が自動では読み込まれない。source ~/.zshrc を実行するか、TIKTOK_CLIENT_KEY / TIKTOK_CLIENT_SECRET を直接指定する動画でも届けよう。 🎵