Webマーケティングで
規模ではなく戦い方で勝つ会社を増やす
『売上か 集客か 採用か』
いちばん変えたいことから逆算する『ゴールファースト設計』。
名古屋で700社以上を支援してきたWeb制作会社です。
Webマーケティングで
規模ではなく
戦い方で勝つ会社を増やす
『売上か 集客か 採用か』
いちばん変えたいことから逆算する『ゴールファースト設計』。
名古屋で700社以上を支援してきたWeb制作会社です。
ブログBLOG
- 名古屋のホームページ制作会社 花のや
- 花のやブログ
- 【大失敗】Threadsの投稿をAIで自動化してみた
【大失敗】Threadsの投稿をAIで自動化してみた
こんにちは、花岡です。
GTOがリブートされるのが楽しみです。
さっそくですが、本題。
ThreadsへのSNS投稿をAIで自動化してみました。
自動化したのは個人用の花岡のアカウントです。
https://www.threads.com/@masa1558
企画・執筆・投稿はすべて自動で、私は「投稿していいかチェックをする」だけです。
(同じものを作成したい方は、この記事をClaudeに読込させれば多分大まかに同じものが構築できると思います)
ただし、このシステムは自動化まではできましたが、結果としては「失敗」です。
目次
なぜやったのか
正直に言うと興味&実験です。
「SNS発信を企画から投稿までどこまでAIで自動化できるか、そして反響はいかに?」を試してみたかったのです。
全体の流れ
システム全体の流れはこうです。
① MTG議事録・花岡との対話から投稿ネタを抽出・執筆
② 生成された投稿はNotionの投稿シートに保存
③ cron(朝8時・昼12時半・夜21時)で投稿システムを自動起動
④ Threadsへ自動投稿
⑤ 在庫が10本を切ったら自動補充
① まずは議事録30本から投稿ネタを作る
文字起こしサービス「Notta」で記録したMTG議事録30本を素材にしました。
議事録から抽出した内容をもとに、投稿68本を執筆しました。
執筆した投稿は自動的にNotion REST APIを経てNotoinのDBに格納されます。
② Notion側の設定
投稿を管理するデータベースはNotionで作りました。プロパティはこうです。
| プロパティ名 | 内容 |
|---|---|
| ネタ(title) | 短い見出しラベル |
| カテゴリ(select) | 戦略 / SEO / 広告 / AI活用 / SNS / 解析 / 制作 / 採用 |
| 見出し(rich_text) | 投稿冒頭の【見出し】(10〜20字) |
| 本文(rich_text) | 投稿本文(500字以内) |
| 真偽(select) | 確=裏取り済 / 論=本人持論 / 要=要本人確認 |
| ステータス(select) | 要承認 / 承認 / 差戻し / 投稿済み |
「真偽」の列が地味に重要です。制度・統計・仕様はWeb検索で裏取りしたものに「確」、本人の持論には「論」、実績数字など本人確認が必要なものは「要」とタグ付けしています。
SNSで事実誤認を投稿しないための安全装置です。
スクリプトからのアクセスはNotion REST APIを使います。内部インテグレーションのトークンを発行してDBに共有するだけで、書き込みと更新ができます。
- クエリ:ステータス=承認 かつ 予定日≤今日または空、作成日昇順で並べて最古を1本取得
- 更新:投稿後にステータスを「投稿済み」・予定日を今日に変更
③ Threads APIで投稿する
Threads APIのエンドポイントはgraph.threads.netです。投稿は2ステップです。
- ステップ1:コンテナ作成
POST /v1.0/{user-id}/threads(media_type=TEXT&text=...)→ creation_idを取得 - ステップ2:公開
POST /v1.0/{user-id}/threads_publish(creation_id=...)→ media_idを取得
コンテナ作成から公開まで数秒待機を挟むと安定します。認証はOAuthフローでアクセストークンを取得(権限はthreads_basicとthreads_content_publish)。長期トークン(60日)に交換して.envに保存します。
スクリプトは外部ライブラリゼロのPythonで書きました。依存パッケージがないので環境を汚さず、どこでも動きます。
④ cronで朝・昼・夜に自動実行する
cronに以下の3行を登録しています。
0 8 * * * python3 "/.../notion_to_threads.py" >> "/.../cron.log" 2>&1
30 12 * * * (同上)
0 21 * * * (同上)
朝・昼・夜に分散しているのは、連投で埋もれるのを防ぐためです。1回の実行で1本だけ投稿します。
macOSのcronはスリープ中に動きません。Macの電源が落ちている時間は投稿がスキップされます。本番運用で確実に動かすにはlaunchdかサーバー移設が必要です。今回はこの制約を受け入れた上で運用しています。やっぱり嫌だったのでGitHub Actions cronで解決しました。
これでCronの起動ごとに投稿され、投稿がなければスキップされるという具合です。
じゃななにを失敗したのか?
まず1つ目の失敗。作成した投稿はどうがんばってもAI臭を隠せませんでした。いくらマスキングしようとしても限界があります。
そして2つ目、リアクションされない投稿が乱立したことです。1つ目の失敗に起因してでしょうか、ほぼイイネもつかず、投稿表示回数は30〜70回程度の投稿ばかり。
それに比べてAIに頼らずに自分で投稿した内容は1,000回くらいは大体表示されています。
これ以上はBotになってしまうため、システムを停止しました。。
結局、人間が書いたかどうかというのを、ユーザーもThreadsのエンジンも察知しているようです(当たり前の話ですが)。
SNS全自動は叶わずでした。
花のやでできること
今回のような「社内の知見をAIに読ませてコンテンツ化する」「承認フローを残しながら発信を自動化する」といった仕組みは、他の会社でも応用できます。
ぜひご相談ください。
カテゴリ
書いた人別一覧
お問い合わせ
Webサイト制作・その他お仕事のご依頼、
ご相談についてお気軽にお問い合わせください。
052-211-9898






