🧠

生成AIを使ったInstagramハッシュタグ生成ツールを作成しました

2024/09/10に公開

Instagram投稿をする際に、投稿に付与するハッシュタグを1つのキーワードから生成するツールを作りました。改善ポイントは沢山あるのですが、いったん出してしまってそこから直していく運用にしようと思い、既に公開はしています。

作ろうと思った経緯

ハッシュタグ生成ツール自体は前身のツール(ハシュレコ)があったのですが、このツールはInstagram Graph APIを利用したもので、提供元のシステムがデータを収集できていないキーワードの場合、関連しそうなハッシュタグを生成することができていませんでした。加えて、私が入社する前から存在していたツールで、製作自体も結構前に遡るシロモノでした。

そのまま、前身のツールを改修しても良かったのですが、提供元のシステムとの依存度も高く、これぐらいの規模であれば作り直した方が早いということで、製作に至りました。

また、前身ツールの課題も解決しつつ、現在、運用しているSaaSへの導線に寄与してくれたらという狙いもあります。

仕組み

キーワードを入力した後、検索実行したらしばらく経った後に関連しそうなハッシュタグが一覧で表示されます。

あとは、投稿に付与したハッシュタグを選択して、テキストボックス内の「コピー」ボタンを押下すれば、クリップボードにコピーされるので、その状態で、Instagramを起動して投稿に付与するといった使い方になります。

プロンプトに何を指示しているか

モデルは「gpt-4o-mini」を使用しています。

「関連するハッシュタグを生成してください」旨の指示だけだと、回答にバラつきが出てしまうので、ある程度のカテゴリ分けを提示した上で、生成部分をGPTに指示しています。例えば、「感情」「目的」「特定のオーディエンス(○○と繋がりたい)」といったものです。

後は、特定の言語(英語、韓国語、中国語)に関するハッシュタグも生成するように指示しているのですが、生成する時もあれば、生成しない時もあり、ここは改善ポイントです。

また、モデルによっても生成するハッシュタグの性質に違いがかなりあり、これについては、別の記事で取り上げようかと思います。一例ですが、Geminiの場合だと、「大谷翔平」で検索したときに「#shotime」といった、固有のキーワードにまつわるハッシュタグを生成したので、比較してみて良さそうであればGeminiに切り替えようかなと思索中です。

レート制限について

ツール自体はログインや認証なしで、OpenAI APIを叩いているので、悪意の持った利用者に攻撃される可能性がありました。これについては、@upstash/ratelimitを用いて、レート制限を行っています。短時間に何回も検索したらレート制限により、ブラウザにエラーメッセージが表示されます。

個人的に気に入っているところ

ツール宣伝のために、「#ハシュレコ」「#hashreco」「#slooooth」はどんなキーワードを入力しても出力するようにしています。押下すると、紙吹雪が舞うようにしました。ボタンを押下する動機付けにはならないかもしれませんが、お気に入りです。

技術的な話

主に使用した技術は以下の通りです。

  • Vite
  • React
  • tailwindcss
  • axios
  • canvas-condetti
  • openai
  • @upstash/redis
  • @upstash/ratelimit

デプロイ先については、Cloudflare Pagesを採用しています。自動デプロイの設定がすごく簡単で、GithubアカウントとCloudflareアカウントがあれば、すぐに着手できるので良いです。以前はS3 + Cloudfront等でCDN環境を整えていましたが、ややこしい設定もないので、助かりました。

運用コスト

コストとして嵩みそうな要素としては、OpenAI APIの利用料ですが、ありがたいことに「gpt-4o-mini」からかなりのローコストでAPIが利用できるようになっているので、前身ツールの規模のままアクセスが推移すれば、ほぼほぼコストはかからない見込みです。

終わりに

ありがたいことに前身ツールのハシュレコは沢山の方に使っていただきました。本ツールもそうなれば嬉しいので、ぜひ一度お試しいただけると幸いです。

Discussion