各SNSを sns-auto-poster に繋ぐ手順。基本は「ワンクリック連携」が用意されているSNSから始めるのがおすすめ。
7媒体すべてに mp4 動画を投稿できます。各媒体の API・仕様に合わせて自動で変換・アップロードします。
📹 動画 ボタンが見えるNOTE は ローカル PC の Playwright runner が15分おきに拾います。Approve しても即時投稿されません。サーバー側 (Railway) からは NOTE 投稿は走りません。
📓 note 連携 セクションの ③ で Task Scheduler 登録手順を参照してください。
| 媒体 | 最大サイズ | 最大長さ | 形式 | 備考 |
|---|---|---|---|---|
| Bluesky | 100MB | 60秒 | mp4 (H.264) | video.bsky.app で非同期変換 |
| 10GB | 4時間 | mp4 / mov | Page 投稿のみ | |
| Threads | 1GB | 5分 | mp4 (H.264) | Supabase 経由でURL渡し |
| X (Twitter) | 512MB | 140秒 (Basic) | mp4 (H.264) | chunked upload (4MB単位) |
| 200MB | 10分 | mp4 (H.264) | register→PUT→AVAILABLE 待ち | |
| WordPress | サーバー次第 | 制限なし | mp4 推奨 | 本文先頭に <video> 埋め込み |
| note | note仕様 | note仕様 | mp4 推奨 | Playwright で本文中に挿入 |
| 症状 | 原因 | 対処 |
|---|---|---|
| 「too_large」エラー | 100MB 超 | 圧縮ツール (HandBrake等) で 100MB 以下に |
| 「duration_exceeds_max」 | 10分超 | 10分以内にトリミング |
| 「video too long: Xs (max Ys)」 | 媒体別の長さ制限超え | 媒体別制限表を確認してトリム |
| 「video processing timeout」 | 媒体側の変換が3分超過 | もう一度試す。続くなら短い動画で検証 |
| Bluesky 「getServiceAuth failed」 | App Password 失効 or 動画機能未対応 PDS | App Password を再生成、bsky.social の標準 PDS を使う |
| LinkedIn 「video PUT failed」 | access token のスコープ不足 | OAuth で w_member_social 確実に取得済か確認 |
| X 「FINALIZE failed」 | 動画 spec 違反 (codec/aspect 等) | HandBrake で「X 用」プリセット出力 |
| NOTE 「動画アップロード input が見つからない」 | note エディタの UI が変更 | storage/note-runs/ のスクショで現状確認、セレクタ更新 |
Resonate Post の 最大の特徴 がこれ。投稿するたびに AI が反響を学習して、来週の生成プロンプトに自動反映するループ。
運用するほど発信が磨かれていきます。
1. 投稿 → 7媒体 (X / LinkedIn / Bluesky / Threads / FB / WP / NOTE) 2. 反響を毎時計測 → いいね / コメント / 保存 / シェア / 閲覧 3. 日曜 23:30 UTC → AI が「効いた要素」「避ける要素」を抽出 → WeeklyInsight に保存 4. 月曜 08:30 JST → 週次サマリーメールで通知 5. 以降の生成 → systemPrompt に自動注入されて、次週の投稿に反映
ダッシュボード右上の ♾️ Insights ボタンから開けます。3つのセクションで構成:
プラットフォーム別カード:
過去30日のあなたの投稿のうち、以下のいずれかが「異常に高い」投稿から続編ネタを自動抽出:
各カードの 📝 この角度でドラフト作成 ボタンで、その角度のままダッシュボードの Generate タブに飛んで投稿作成できます。
祝日・季節・ビジネス周期 (年度末・ボーナス時期 etc) を AI があなたのテーマと結びつけて角度提案。「桜が綺麗」じゃなくて「桜と起業3年目で気付くこと」のような切り口を出します。
ダッシュボードの AI Generate タブにある ⚡ 重要投稿モード チェックボックス。絶対外したくない投稿だけに使ってください。
Stage 1: OpenAI が初期草案を3つの角度で生成 Stage 2: 別 AI (Claude / Gemini) が独立した視点で辛口批評 Stage 3: OpenAI が批評を踏まえて統合・書き直し Stage 4: 「重要投稿の格」最終仕上げ (フック最強化、無駄削除)
| 項目 | 通常生成 | 重要投稿モード |
|---|---|---|
| 所要時間 | 約10秒 | 約15〜25秒 |
| API コスト | $0.005 | $0.02 (4倍) |
⚡ マルチAI討論の中身を見る という折りたたみセクションが出る → クリックで Stage 1〜4 の中身が全部見られる毎週月曜の朝にやるルーティン例:
📝 この角度でドラフト作成 をクリックして AI Generate へ各SNSを sns-auto-poster と連携するには大きく2つの方法があります。
| 方法 | 手順 | 対象 |
|---|---|---|
| ワンクリック連携 (OAuth) | ボタンを押して該当SNSの認証画面で「許可」するだけ。トークンが自動保存されます。 | LinkedIn (今後 X / Facebook / Threads も対応予定) |
| 認証情報を手動登録 | 各SNSの管理画面でAPIキー / トークンを取得し、コピペで登録。 | note (ローカル運用) / Bluesky / WordPress / はてなブログ など |
💡 おすすめ順: まず LinkedIn (ワンクリック連携) で動作確認 → 次に note (運用者側設定が必要) → そのあと使いたいSNSを順次追加。
ワンクリックで連携できます。アクセストークンの手動取得は不要です。
SNS Credentials タブをクリック。ワンクリック連携を使えるようにするには、サービス管理者が LinkedIn Developer Console で1回だけ設定する必要があります。
https://post.snsmapapp.work/api/oauth/linkedin/callback86xxxxxxxxxx)WPL_xxxxxx==)
LINKEDIN_CLIENT_ID=86xxxxxxxxxx LINKEDIN_CLIENT_SECRET=WPL_xxxxxx==保存すると自動で再デプロイ。3〜5分後にクライアント側で「LinkedInに接続」ボタンが使えるようになります。
OAuth が動かない場合の逃げ道。LinkedIn 公式 Token Generator を使います。
openid profile email w_member_socialaccess_tokenトークンの有効期限は2ヶ月。失効したら再取得して同じ手順で上書き。
note は 公式投稿APIがない ため、他媒体と違って半自動連携になります。2026-06-24 から推奨方式が変わりました:
ダッシュボードの「📤 noteへ送る」ボタンで note 編集画面が自動で開いてタイトル/本文が自動入力されます。インストール手順は 下の「Chrome 拡張機能のインストール」 参照。
Playwright によるローカル PC からの自動投稿は、cookie 切れや note UI 変更で頻繁に止まるため非推奨化しました。Chrome 拡張機能の方が安定・運用負荷ゼロです。
extension/ フォルダをローカルに置く (zip でも DL でも OK)
chrome://extensions を入力
extension/ フォルダを選択
Ctrl+V で貼付け → 右上「公開設定」→「投稿する」
note 用に1500字以上で展開 と書く)。cd C:\Users\weapo\OneDrive\デスクトップ\SNS\自動投稿 npm i -D playwright npx playwright install chromium
npx tsx scripts/note-spike/login.tsChrome が開くので note.com に手動でログイン → コンソールに戻って Enter。
storage/note-spike-userdata/ に保存される (以降は自動でログイン状態維持)。
schtasks /create /f /sc minute /mo 15 /tn "SnsAutoPoster-NoteTick" /tr ""C:\Users\weapo\OneDrive\デスクトップ\SNS\自動投稿\scripts\run-note-tick.bat"" /ru "ガレリア\weapo" /itこれで予約された note 投稿が自動公開される。
schtasks /create /f /sc daily /st 23:00 /tn "SnsAutoPoster-NoteMetrics" /tr "cmd /c cd /d "C:\Users\weapo\OneDrive\デスクトップ\SNS\自動投稿" && set NOTE_METRICS_ENABLED=1 && npx tsx scripts/note-metrics-runner.ts" /ru "ガレリア\weapo" /it23:00 に note ダッシュボードを巡回して、スキ数・コメント数を Resonate Post の PostMetric に保存。これで 自律改善ループ (Pro) が note の反響も学習対象にできる。
C:\Users\weapo\OneDrive\デスクトップ\SNS\自動投稿\.env に以下を追加:NOTE_PUBLISH_MODE=publish # 自動公開する場合 (draft なら下書き保存まで) NOTE_USERNAME=your_note_user # note.com の自分のユーザー名 (URL用) NOTE_METRICS_ENABLED=1 # メトリクス取得を許可 (安全装置、未設定なら走らない)
| 症状 | 原因 | 対処 |
|---|---|---|
| 「note.com 未ログイン」エラー | cookieが切れた | もう一度 scripts/note-spike/login.ts でログインし直し |
| 投稿runnerが15分おきに動かない | タスクスケジューラ未設定 or 設定漏れ | schtasks /query /tn SnsAutoPoster-NoteTick で確認 |
| 「AccessDenied」エラー | note.com の WAF にブロック | 1時間ほど時間を置いてから再試行。連続アクセス回避 |
| メトリクスが /insights に出ない | NOTE_METRICS_ENABLED=1 設定漏れ | .env に追加 + Task Scheduler の環境変数にも入っているか確認 |
| 記事URLがnoteで違うものになる | NOTE_USERNAME 未設定 | .env に noteアカウント名を入れる |
App Password 方式。OAuth不要、簡単。
identifier / 値: ハンドル (例: username.bsky.social)app_password / 値: 生成したパスワードFacebook Page への投稿のみ対応 (個人ウォール投稿は API 非対応)。
pages_manage_posts pages_read_engagement)page_id / 値: 投稿先 Page の IDpage_access_token / 値: 取得したトークン権限 pages_manage_posts は Meta の App Review 必須。承認に数日〜数週間かかります。
Meta の Threads API。設定方法は Facebook と類似。
user_idaccess_tokenWordPress 5.6+ の Application Password 機能で連携。
sns-auto-poster) を入れて「新しいアプリケーションパスワードを追加」xxxx xxxx xxxx xxxx xxxx xxxx 形式のパスワードをコピーsite_url / 値: https://example.com (末尾スラッシュ無)username / 値: WPログイン名app_password / 値: コピーしたパスワードAtomPub API + WSSE 認証。
user_id / 値: はてなIDapi_key / 値: コピーしたAPIキーblog_id / 値: ブログのドメイン (例: username.hatenablog.com)
💡 2026年2月から大幅に安くなりました
旧 Basic ($200/月固定) は新規受付終了、現在は Pay-per-use ($5 デポ + 投稿1件 $0.01) がデフォルト。
1日10投稿の運用なら 月 $4 程度 (¥600) しかかかりません。
X 側の用語と Resonate Post の用語が違って混乱しがちなので、最初に対応表:
| X Developer Console の表記 (日本語UI) | X の英語 UI | Resonate Post の Key Name |
|---|---|---|
| コンシューマーキー → 再生成で出てくる1つ目 | API Key (Consumer Key) | api_key |
| コンシューマーキー → 再生成で出てくる2つ目 | API Key Secret (Consumer Secret) | api_secret |
| アクセストークン → 再生成で出てくる1つ目 | Access Token | access_token |
| アクセストークン → 再生成で出てくる2つ目 | Access Token Secret | access_token_secret |
| ❌ ベアラートークン | Bearer Token | 使わない (無視) |
resonate-post-myaccount) を入力 → Save。https://post.snsmapapp.work (使わないので適当でOK)api_keyapi_secretaccess_tokenaccess_token_secretConnected as: @yourname (Free: 280字上限) ← Free アカウント、最大280字Connected as: @yourname (Premium: 25,000字まで投稿可能) ← Premium 契約済、長文OKX Premium (月¥980〜1,380程度) を契約しているアカウントだと、自動で長文上限 25,000字に切り替わります。後から Premium 契約した場合は再度 SNS Credentials を「再保存」すれば再判定されます。
| 投稿頻度 | 月間投稿数 | 月額 |
|---|---|---|
| 軽め (1日3投稿) | 90 | ~$0.9 + 分析リード分$0.5 = ~$1.4 |
| 標準 (1日10投稿) | 300 | ~$3 + リード$1.5 = ~$4.5 |
| ヘビー (1日30投稿) | 900 | ~$9 + リード$5 = ~$14 |
💡 支出上限を $10/サイクルに設定 しておけば、想定外の暴走 (バグや bot 化) で月額が爆発するリスクを完全に防げます。
| 症状 | 原因 | 対処 |
|---|---|---|
missing keys: api_key, api_secret, access_token, access_token_secret | まだ4キーが Resonate Post に保存されてない | ⑦ で4回 Save してから「接続テスト」を押す |
401 Unauthorized | Key Name の typo (大文字や typo) / 値の貼り間違い | SNS Credentials のドロップダウン (① → ④) を使って再登録 |
403 Forbidden / billing required | クレジット残高ゼロ | $5 追加デポジット |
権限関連の 403 エラー / "Your client app is not configured..." | App の権限が「Read only」のまま | ④ で「Read and Write」に変更後、必ず ⑥ で Access Token を再生成 (Consumer Key は変えなくていい) |
| 「アクセストークン」が「読む (Read)」になっている | ④ をやらずに ⑥ をやった | ④ → ⑥ の順番でやり直し |
429 Too Many Requests | App 単位のレート制限 | 15分待つ、または投稿間隔を空ける |
| 失敗エラー詳細を見たい | - | Drafts タブで該当ドラフトの「last_error」セクション |
| ベアラートークンは何に使う? | 「アプリ専用認証」用 (検索 API 等) | Resonate Post では使わない。無視してOK |
⚠️ App 権限を変更したら必ず Access Token を再生成 してください。旧トークンは「Read only」のまま無効化されないので、これが原因で「保存はできたのに投稿失敗」の事故が多発します。
最終更新: 2026-05-18