見出し画像

LINEスタンプのタグ付けを自動化しよう

こんにちは、LINEスタンプのタグ付け、みなさんやっていますか?私はいやいややっていましたが、めんどくさくて付けていないスタンプも沢山ありました。プレミアムの対象になる時までに付ければいっか~、という感じです。

みんなどうやって効率化しているんだろうと、noteで「LINEスタンプ タグ付け」で検索した結果、無料で教えていただいていいの!?というレベルの情報を発信してくれている方がいました。その方が公開してくれたコードと、さらに自分仕様に変更したものをご紹介します。
(rorosuke様、引用許可ありがとうございました!)

自動化に向けては以下の手順で進めます。


タグを考える専用Gemを作ろう

ツールを使う前に、まず設定するタグをカンマ区切りで作る必要があります。例えば、01の画像には「ぺこり,ありがとう,助かる,嬉しい,花見,感謝,イヌ,春,桜」、02の画像には「おめでとう,お祝い,拍手,合格,桜,春,誕生日,イヌ,やった」という感じですね。
「これを作るのがまず大変なんだよ!!」となりますので、AIに一気に作ってもらいます。数が多いので、専用のGemを作ると楽です。Gemは無料アカウントでも作れるので、Googleアカウントがある方なら全員作れます。

まず、以下のプロンプトをコピーしてGem作成画面の「カスタム指示」のところにそのまま貼り付けてください。

## システムの役割
あなたは、直近のメッセージで新たにアップロードされたLINEスタンプ画像を個別に分析し、指定された【タグリスト】の中から最も適切なタグを、各画像につき『正確に9個』選出する専門エージェントです。

## 絶対遵守ルール
- 【重要】今回の送信で新たに添付された画像のみを処理対象とし、過去のやり取りで添付された画像は絶対に処理・出力しないこと
- 出力は【出力テンプレート】の形式のみで行うこと
- 説明・挨拶・補足・前置きは一切禁止(出力テンプレート以外の文章は生成しない)
- 出力は必ず「ファイル名の昇順(昇順ソート)」で行うこと
- タグは「半角カンマ」で区切ること
- 各画像のタグ出力において、タグの途中で改行しないこと(必ず1行に収める)
- 指定された【タグリスト】に存在しない単語は絶対に使用しないこと

## 出力テンプレート
以下のフォーマットに厳密に従い、対象ファイルごとに繰り返し出力してください。バッククォート3つ(```)は必ず独立した行に記述してください。

ファイル名
```text
タグ1,タグ2,タグ3,タグ4,タグ5,タグ6,タグ7,タグ8,タグ9

次に以下のテキストファイルをダウンロードして、Gem作成画面の「知識」のところにアップロードしてください。(ファイル名は変えないでね)
26年3月時点での最新のタグを全部入れています。精度落ちてきたな~と思ったらLINEさんの方でタグを変更している可能性があるので、必要に応じて適宜テキストファイルの中身を更新してください。

これで専用Gemの作成は完了です。

AIにタグを考えてもらおう

作った専用GemでAIにタグを考えてもらいます。使い方としては、タグを考えて欲しいスタンプ画像を添付するだけでOKです。何か指示を書いたり「お願いします」とかも言わなくて大丈夫です。
添付する画像の背景については、白背景もしくは透過済のものが良いです。透過しやすいようにとクロマキー背景等にしていると、その色に引っ張られてタグ選定される可能性があります。
高速モードだと画像読み取りの精度が落ちるので、思考モードもしくはproで使用してください。

これだけで送信してOK

送信すると、タグ部分のみをコピーできる形で返してくれます。

一応「指定された【タグリスト】に存在しない単語は絶対に使用しないこと」と指示に入れていますが、時々はしゃいで存在しないタグを出力したりします。その場合は、新しいチャットで試してみてください。
また、Geminiは現時点で10個までファイルを添付できます。複数添付すれば以下のように、ファイル名の昇順で一気に出してくれます。40個のスタンプならば10個×4回で完了です。

複数画像を添付した場合

ブックマークレットを作ろう

ブックマークレットというのは、簡単に言うとブックマークのURLにコードを書くとツールとして動いてくれるものです。URLにコードを書いてしまうというのはなんとも不思議ですねぇ。
手順としては、まずどこか適当なページで通常通りブックマークを作ります。どこでも良いです。noteのトップページとかでOK。
その次に作ったブックマークのURLにrorosukeさんが公開してくださっている以下のコードを貼り付けます。

rorosukeさんの記事より引用

javascript:(function(){const input=prompt('AIが選んだタグをカンマ区切りで貼り付けてください:\n例: イヌ, かわいい, 元気');if(!input)return;const tags=input.split(',').map(t=>t.trim()).filter(t=>t);const allCheckboxes=document.querySelectorAll('label.cm-product-image-tag input[type="checkbox"]:checked');allCheckboxes.forEach(cb=>{const label=cb.closest('label.cm-product-image-tag');if(label)label.click();});setTimeout(()=>{const tagSpans=document.querySelectorAll('span.cm-product-image-tag-name-text[data-test="tag-name"]');let count=0;tagSpans.forEach(span=>{const tagName=span.textContent.trim();if(tags.includes(tagName)){const label=span.closest('label.cm-product-image-tag');if(label){label.click();count++;}}});alert('完了! '+count+'個選択しました');},300);})();
分かりやすい名前に変更&URL部分にコードを貼り付けます

こちらでブックマークレットは完成です。
作成したブックマークレットについては、ブックマークタブのクリックしやすい位置に置いておくと、ワンクリックで起動できます。

いつでもワンクリックで起動OK

ブックマークレットでさくさくタグ付けしよう

タグ付けのリストとブックマークレットが出来たら、通常どおりCreators Marketのタグ付け画面にいきます。

この画面を表示した状態で、先ほどのブックマークレットをクリックします。通常のブックマークの場合、指定されたURLに飛びますが、ブックマークレットの場合はツールが起動します。不思議ですねぇ。

このダイアログがでたらAIに出力してもらったタグを貼り付け
貼り付けられたらOKをクリック
このダイアログが出たらOK!
一瞬でタグを付けてくれるよ

AIが選定したタグは必ずしも最良ではないので、付けられたタグを目視で確認→必要に応じて手動で修正、が良いかと思います。

コードをちょっと変更したよ

元のコードの場合、私の環境だと同じタグが重複されて登録されてしまいました。多分アニメスタンプだと大丈夫で、通常スタンプだとダメなのかな?(私が通常スタンプしか作っていないので予想です)

同じ色付け=重複部分。9個以上選択されてエラーとなる。

なので、重複しないように処理を追加したものが以下になります。私と同じ現象が起こる方はこちらを試してみてください。

javascript:(function(){const input=prompt('AIが選んだタグをカンマ区切りで貼り付けてください:\n例: イヌ, かわいい, 元気');if(!input)return;const tags=input.split(',').map(t=>t.trim()).filter(t=>t);const allCheckboxes=document.querySelectorAll('label.cm-product-image-tag input[type="checkbox"]:checked');allCheckboxes.forEach(cb=>{const label=cb.closest('label.cm-product-image-tag');if(label)label.click();});setTimeout(()=>{const tagSpans=document.querySelectorAll('span.cm-product-image-tag-name-text[data-test="tag-name"]');let count=0;const clickedTags=new Set();tagSpans.forEach(span=>{const tagName=span.textContent.trim();if(tags.includes(tagName) && !clickedTags.has(tagName)){const label=span.closest('label.cm-product-image-tag');if(label){label.click();clickedTags.add(tagName);count++;}}});alert('完了! '+count+'個選択しました');},300);})();

さらに、複数のタグを続けて登録する場合、「完了」のダイアログは表示なくていいな&スクロールが一番下にいっているのを上に戻したいな、となったので、その処理も追加しました。そのコードは以下になります。

javascript:(function(){const input=prompt('AIが選んだタグをカンマ区切りで貼り付けてください:\n例: イヌ, かわいい, 元気');if(!input)return;const tags=input.split(',').map(t=>t.trim()).filter(t=>t);const allCheckboxes=document.querySelectorAll('label.cm-product-image-tag input[type="checkbox"]:checked');allCheckboxes.forEach(cb=>{const label=cb.closest('label.cm-product-image-tag');if(label)label.click();});setTimeout(()=>{const tagSpans=document.querySelectorAll('span.cm-product-image-tag-name-text[data-test="tag-name"]');const clickedTags=new Set();tagSpans.forEach(span=>{const tagName=span.textContent.trim();if(tags.includes(tagName) && !clickedTags.has(tagName)){const label=span.closest('label.cm-product-image-tag');if(label){label.click();clickedTags.add(tagName);}}});window.scrollTo(0, 0);},300);})();

それぞれ試してみて、自分に合ったものを使っていただければと思います。

①AIが出したタグをワンクリックでコピー
②Creatores Marketの画面でブックマークレット起動
③貼り付け→OK→タグ確認
④次へボタンを押して①へ戻る

目視確認の時間がどれくらいかにもよりますが、大体40個のスタンプで5分くらいで終わります。
なによりも脳が疲れないのが良い。手動の場合、最後の方になると「まあ、そんないっぱい付けなくていいか」と少なめに付けたり選ぶのが適当になったりしてましたが、このツールなら最後まで頑張れます。
タグ付けがどこまで影響あるのかは未知数ですが、少ないよりは9個めいっぱいの方がいいよねぇ?・・・たぶん。

このツールが真価を発揮するのはシリーズ物である

最後に、シリーズ物でのこのツールがめちゃんこ便利だったので共有です。
「黒猫ちゃんのスタンプが好評だったから、テキストはそのままで三毛猫ちゃんでも出そうかなぁ」ということは多いと思います。その場合、AIに選定してもらうまでもなく、前作のタグを全部そのまま流用するのが一番です。
私は設定済のタグをExcelに落とし、脳死で「Excelに記載のタグをコピー→ブックマークレット起動でタグ付け→次のスタンプに移る」とひたすらしました。この場合40個のタグ付けが1~2分で終わります。

Excelにまとめたタグ一覧。このまま貼り付けるだけ。

便利だわぁと思いつつ、この作業すら手作業がめんどくさくなり、PADでフロー作りました。Excel準備してPADをポチっとすれば自動で全部タグ付けしてくれます。PAD使うよ民はどれくらいいるのか・・・需要があればコード公開します。

こんな感じで、PADで自動化。

〜追記〜
PADよりも遥かに簡単な方法で全自動化出来るブックマークレットをさらに作ってくださったようです!こちらの記事で紹介しています。

〜〜追記終わり〜〜

あと、設定済のタグをコピペした時にそのままでは使えないんですよね。この加工の仕方も公開、と思ったけれど、長くなったので次回にします。といっても数式で解決なのですがw
Excel用とスプシ用で数式違うので、そのあたりも入れられれば。

余計な文言を削除&(1)~(8)をカンマにしたいねぇ

ちなみに、rorosukeさんはAIでの解析から何から何まで全部自動化したいよ、という方向けに更に便利なツールも公開してくださっています。
私はほぼほぼシリーズ物でタグ設定は流用がベストなため今回の方法に落ち着きましたが、毎回AIで解析して欲しいよ!という人は、rorosukeさんのツールが超絶便利だと思うので、見てみて下さい~!ここまで自分で作れたら楽しいだろうなぁ。すごいよね!!

それでは、最後までお読みいただきありがとうございました。