業種・商材・トーンを入力すると、1ヶ月分のSNS投稿案・投稿カレンダー・画像案を一括で書き出すシステムを開発しました。X や Instagram、スプレッドシートでの運用を前提に、「毎回ゼロから考える」状態をなくすことを狙ったツールです。

このページでは、何を作ったのか、どう動くのか、そして実装上どこを工夫したのかを紹介します。

効果を示す数値は、店舗ビジネスのSNS運用を想定したモデルケースに基づく想定値です(特定企業の実測ではありません)。入出力サンプルには架空の美容室を使用し、生成はすべてダミーデータで行っています。SNSへの自動投稿は行わず、コピペ/インポートでの運用を前提とした設計です。


何を解決するためのものか

「SNSは続けたほうがいい」と分かっていても、手が止まる——。店舗ビジネスのSNS運用でよく聞く声です。

担当者は毎回ゼロから「今日は何を投稿しよう」と考え、本文を書き、ハッシュタグを選び、画像を探します。一本書くだけでも時間がかかり、月に何本も続けるうちに、ネタが尽きて投稿が途切れていきます。さらに、丁寧めに書くかカジュアルに書くか、トーンを決めかねて1案だけ書いて迷う、ということも起こります。

このシステムは、その「毎月のネタ出しと投稿づくり」を、業種・商材・トーンを一度入力するだけで1ヶ月分まとめて片づけることを狙ったものです。


どんなシステムか

ポイントは、単に投稿文を1本ずつ生成するのではなく、1ヶ月分の運用に必要なもの一式を、整った形で同時に出すことです。

入力に対して、次の3つを一括で生成します。

  • 投稿案 — 業種・商材・ターゲットに沿った本文+ハッシュタグ+絵文字
  • 投稿カレンダー — 曜日・カテゴリ(お役立ち/実績/中の人 など)を分散させた1ヶ月の日程表
  • 画像案 — 投稿ごとの画像プロンプト(Canva 等に投入できる被写体・構図・雰囲気の指定)

さらに、トーンを2案並べて生成できます。「丁寧」と「カジュアル」のように、同じカレンダー日程のまま文体だけが変わった2案を見比べて、自社に合うほうを選べます。

要約だけ・1本だけを返すツールは多くありますが、現場で本当に必要なのは、きれいな1本より「1ヶ月、迷わず投稿を続けられる状態」です。このシステムはそこに振り切っています。


入力と出力(実際のサンプル)

利用者の操作は、フォームに業種・商材・トーン・投稿頻度を入れるだけ。難しい設定はありません。

入力フォーム:業種・商材・ターゲット・トーン・投稿頻度を入れるだけ(架空の美容室サンプル)

入力(架空の美容室の例)

項目

業種

美容室

主力商材・サービス

白髪ぼかしハイライトと髪質改善トリートメント

ターゲット

40〜50代の女性

トーン

丁寧(対比: カジュアル)

投稿頻度

週5

対象年月

空欄(実行月の翌月=2026-06)

出力(主トーン「丁寧」の投稿カレンダー)

「生成」を押すと、結果サマリと投稿カレンダーが表示されます。各投稿にはカテゴリのバッジが付き、CSV でダウンロードできます。

結果画面:主トーン(丁寧)の投稿カレンダー。カテゴリバッジ・所要時間・CSVダウンロードボタン

実際に生成された投稿の一部がこちらです(週5・1ヶ月で22投稿)。

2026-06-01(月)|お役立ち
40〜50代の女性の皆さまへ。白髪ぼかしハイライトと髪質改善
トリートメントを賢く活用するコツをご紹介します。
日々の暮らしに少しでもお役立てください。💡
#美容室 #ヘアサロン #豆知識
画像案: 整ったデスクとノート/フラットレイ/明るく親しみやすい

2026-06-02(火)|実績
おかげさまで白髪ぼかしハイライトと髪質改善トリートメントの
ご依頼をいただきました。40〜50代の女性に喜ばれた事例を
ご報告します。✨
#美容室 #ヘアサロン #施工事例
画像案: ビフォーアフターの比較/ドキュメンタリー写真/信頼感

出力(対比トーン「カジュアル」)

同じ日程・同じカテゴリのまま、文体だけが変わった対比案も同時に出ます。タブを切り替えると見比べられます。

対比トーン(カジュアル):同じ日程で文体だけが変わった案を比較表示
2026-06-01(月)|お役立ち
40〜50代の女性さん必見!白髪ぼかしハイライトと髪質改善
トリートメントをもっと楽しむちょっとしたコツ、
当サロンがこっそり教えちゃいます。💡
#美容室 #ヘアサロン #豆知識

「丁寧」と「カジュアル」を並べることで、迷わず自社の雰囲気に合うほうを選べます。


実装で工夫したこと

ここがこのシステムの肝です。設計の中心にあるのは、「何を書くか」はAIに、「どう揃えるか」は決まった処理にという役割分担です。

1. 「並列=速い」を体験として見せる

2トーン × 複数投稿をまとめて生成するため、素直に1件ずつ順番に処理すると、週5(22投稿)でかなりの待ち時間になります。実際、初版は投稿生成が直列に積み上がって約13秒かかっていました。そこで、投稿生成と2トーン生成のいずれも並列実行(asyncio.gather)に組み替え、約1.0秒まで圧縮しました。結果画面には所要時間を表示し、「待たされない」ことを利用者が体感できるようにしています。

2. 「何を書くか」と「どう揃えるか」を分離する

本文の言い回しなど「何を書くか」を担う層と、「日付の割り当て・カテゴリの分散・ハッシュタグの付与・CSVの整形」といった「どう揃えるか」を担う層を、はっきり分けて設計しました。後者はすべて決まった処理(決定的なコード)に寄せているため、同じ入力なら毎回同じ構成のカレンダーが得られ、テストで期待値を固定できます。今回のデモはダミーデータで端から端まで動く構成にしてあり、外部APIに毎回つながなくても挙動を検証できます。

3. 景表法・薬機法の懸念は「消さずにフラグ」

美容・健康などの分野では、表現によって景品表示法や薬機法に触れるおそれがあります。このシステムは、懸念のある表現を勝手に書き換えません。本文はそのまま残したうえで、その投稿に「NG要確認」の印を付け、どの語が引っかかったかをメモ欄に出します。AIが気を利かせて言い換えると、かえって意味がずれたり、確認すべき箇所が見えなくなったりするためです。最終判断は人に残す、という考え方です。

4. CSVは「貼るだけ」を死守する

出力した CSV は、Excel や Google スプレッドシートにそのまま貼って運用します。日本語が文字化けしないよう文字コードと改行コードを調整し、表計算ソフトで開いてもレイアウトが崩れないようにしました。あわせて、=+ で始まるセルが数式として勝手に実行される問題(CSVインジェクション)への対策も入れ、配布ファイルとして安全に扱えるようにしています。「新しいツールを覚えず、いつものスプレッドシートで運用できる」ことを最優先にした設計です。

5. 出力後に、システム自身がカレンダーを検査する

生成したカレンダーを、検証用の処理が自分でチェックします。投稿日が対象月内に収まっているか・曜日がそろっているか、カテゴリが偏っていないか、本文が文字数の上限を超えていないか、「NG要確認」の行にメモが付いているか——を機械的に確認します。実際の実行ログがこちらです。

$ sns-gen-check calendar-丁寧.csv
OK: 22 行すべてが要件を満たしています   (終了コード: 0)

人が目視で1件ずつ確かめなくても、機械が抜けや崩れを拾ってくれます。


成果(想定モデルケース)

項目

導入前(Before)

導入後(After)

月のネタ出し

毎回ゼロから、随時手が止まる

入力1回で1ヶ月分を一括生成

作業時間

月に数時間(都度発生)

入力+手直しで数十分程度

投稿カレンダー

存在しない/思いつき

曜日・カテゴリ分散済みの表が即完成

画像準備

毎回素材探し

投稿ごとに画像案(プロンプト)が付属

トーンの比較

1案だけ書いて迷う

2トーンを並べて見比べられる

法令配慮

担当者の記憶頼み

懸念語を「NG要確認」で自動フラグ

投稿頻度が高いほど、また複数の媒体を運用しているほど、積み重なる効果は大きくなります。

上記は美容室・週5投稿を想定したモデルケースの効果です。実際の効果は業種・投稿頻度・手直しの量によって変わります。数値は想定値です。


データの扱い

サンプルはすべて架空のデータで、実在の社名・店舗名・個人名は含みません。既存アカウントのURLを入力しても外部には接続せず、形式のチェックだけを行う設計です。SNSへの自動投稿は行わず、生成物はコピペ/インポートで運用する前提のため、誤投稿のリスクを抑えられます。

加えて、入力時に必須項目が抜けていると、その場でエラーを表示し、入力済みの内容は保持したまま最初の不足項目に案内します。やり直しで入力が消える、というストレスをなくしています。

必須項目が未入力のときのエラー表示(入力値は保持される)

御社のSNS運用でも

このシステムは特定の業種に縛られず、御社の業種・商材・ターゲット・投稿のトーンに合わせて形を変えられます。カテゴリの種類や投稿頻度、出力フォーマット(X / Instagram / スプレッドシートの列構成)も、運用に合わせて調整できます。新しいツールを導入せず、いつものスプレッドシートに「貼って使う」形で始められます。

「SNSのネタ出しが毎回大変」「投稿が途切れがち」「トーンを決めかねている」——そんな課題があれば、無料相談でお聞かせください。