Instagramの投稿って、地味にしんどい。

画像を作って、キャプションを考えて、ハッシュタグを選んで、投稿時間を決めて——これを毎日やるのか、週3でやるのか、そもそも何を投稿すればいいのかという問題も含めると、SNS運用は思った以上に頭と時間を使います。

私は個人事業主として複数の事業を回しながら、「Instagramはやらないといけないとわかってるけど手が回らない」という状態が続いていました。

そこで、思い切って自分でシステムを作ることにしました。AI画像生成→クラウドストレージ→Instagram APIという流れで自動投稿が回る仕組みです。この記事では、そのシステムの全体像と、作ってみてわかったことを書きます。


なぜ「ツールを使う」ではなく「自分で作る」を選んだか

既存の自動投稿サービスの限界

Buffer、Hootsuite、Later——こういった投稿予約ツールは確かに便利です。ただ、私が求めていたのは「投稿内容もAIが生成してくれる」仕組みでした。既存ツールの多くは「作った投稿を予約する」機能なので、コンテンツを作る手間は残ります。

また、AIで画像を自動生成してInstagramに直接投稿する、という流れを一気通貫でやれるSaaS系ツールは、当時はあまり選択肢がありませんでした。

Claude Codeをペアプロとして使った

プログラミングは独学レベルで、APIの叩き方は知っていますが、一から設計するのは時間がかかります。そこで使ったのがClaude Code——Anthropicが提供するAIペアプログラミングツールです。

「Instagram Graph APIで自動投稿するPythonスクリプトを書いて」「画像をCloudflare R2に保存してからURLを取得する処理を追加して」という形でやりとりしながら、実際に動くコードを組み上げていきました。自分でゼロから書くより大幅に速く、詰まったときも「このエラーの意味と対処法は?」と聞けば解説してくれます。


システムの全体構成

3つのコンポーネントで完結する

現在動いているシステムの構成はシンプルです。

1. AI画像生成(Imagen) Google CloudのImagen APIを使って、投稿テーマに合った画像を自動生成します。「〇〇のイメージ、明るいトーン、縦長1:1」といったプロンプトを事前に用意しておき、そこから画像を生成させます。

2. Cloudflare R2への保存 生成した画像をそのままInstagramに投稿することはAPIの仕様上できないため、一度どこかのURLに画像を置く必要があります。ここではCloudflare R2(S3互換のオブジェクトストレージ)を使って画像を保管し、公開URLを取得しています。

3. Instagram Graph APIで投稿 取得した画像URLとキャプション文(これもAIが生成)をInstagram Graph APIに渡して投稿を実行します。Instagramのビジネスアカウントが必要で、Facebook開発者アカウントとの連携が必要ですが、設定は一度やれば終わりです。

処理の流れ

テーマ設定 → Imagenで画像生成 → R2に画像保存 → 公開URLを取得
 → キャプション・ハッシュタグをAI生成 → Instagram API で投稿

この一連の処理をPythonスクリプトにまとめ、スケジューラで定期実行しています。一度セットアップすれば、ほぼ手をかけずに投稿が回るようになりました。


作ってみてわかったこと、詰まったこと

Instagram Graph APIは「審査なし・開発モード」で始められる

最初はInstagram APIの審査が必要で時間がかかるのでは、と思っていましたが、開発モードであれば自分のアカウントに投稿するだけなら審査なしで使えます。まずここから始めて、動作確認をしてから本格稼働させる流れがスムーズです。

画像のサイズとフォーマットに細かいルールがある

Instagramは画像の縦横比やファイルサイズにAPIレベルの制約があります。生成した画像がそのまま通らず、リサイズ処理を挟む必要がありました。このあたりのエラーはドキュメントを読むより、エラーメッセージをそのままClaude Codeに貼り付けて「どう直せばいい?」と聞くのが一番速かったです。

コンテンツの「質のばらつき」は人間が管理する必要がある

完全自動化の最大の課題は、AI生成コンテンツの質が均一ではないことです。画像の出来栄えもキャプションも、「これは使いたくないな」というものが一定割合で出てきます。

今の運用では、完全ノータッチの全自動ではなく、週1回程度「生成されたコンテンツのプレビューを確認して、問題があれば削除する」というチェックを入れています。完全に手を離すより、軽いチェックを維持するほうが品質と安心感のバランスがいいと感じています。


PROSTで実際に使っている実装メモ

この仕組みで大事なのは、「AIが作ったものをそのまま外に出す」のではなく、生成・保存・投稿・確認の責任分界を分けることです。PROSTでは、画像生成、ストレージ保存、Instagram Graph APIでの投稿、公開前後の目視確認を別々の工程として扱っています。

具体的には、画像生成はImagen、画像の保管はCloudflare R2、投稿実行はInstagram Graph API、運用チェックは人間が担当します。AIに任せる範囲を広げても、最終的なブランド毀損の責任は事業者側に残るためです。

特にInstagramは、画像の違和感、ハッシュタグのズレ、薬機法・景表法に触れそうな表現など、投稿前に見たほうがいいポイントが多い媒体です。完全自動化よりも、「毎回作る負担はなくすが、公開判断だけは残す」設計のほうが、実務では長続きします。

この考え方は、Instagram以外のSNSにもそのまま使えます。生成AIを投稿担当者にするのではなく、下書きと素材作成の担当者にする。人間は編集長として、ズレたものを止める。小規模事業者にとっては、この役割分担が一番現実的です。


まとめ

Instagram自動投稿システムを個人で自作して、実際に動かしています。構成はシンプルで、AI画像生成→Cloudflare R2への保存→Instagram Graph APIでの投稿という3ステップです。Claude Codeをペアプログラミングツールとして使ったことで、プログラミング経験がそれほど豊富でなくても実装できました。

「完全に自動化すれば楽になる」というより、「定型の繰り返し部分を自動化することで、本来やるべき判断や発信内容の考案に集中できる」というのが実感です。

SNS運用の自動化に興味がある方、特に「やらなきゃとわかってるけど手が回らない」という状態の方には、こういうアプローチが一つの選択肢になると思っています。


PROSTでは、私が実際に自分の事業で使っているこうした自動化の仕組みを、個人事業主・小規模事業者向けに設計しています。「自分の事業でも似たようなことができるか知りたい」という方は、AI活用相談でお気軽にご相談ください。