AIで作ったLINEスタンプが一括アップロードで弾かれた。原因はファイル名だった

#AI#つくったもの#LINEスタンプ

画像生成AIでLINEスタンプを作って、申請するところまで3セットやった。

やり方は決まってきたので書いておく。ただし「LINEスタンプの始め方」みたいな記事はもう山ほどあるので、そこは飛ばす。書くのは、AIで作るときにだけ起きることと、実際に引っかかった箇所だけだ。

手順は3つしかない。生成、仕上げ、申請だ。

生成はAIにやらせる。仕上げはスクリプトで一括処理する。申請は手で入力する。

このうち手作業が残るのは申請だけで、生成はAIに、仕上げはスクリプトに任せられるので、1セット8枚なら、絵さえ出来ていれば仕上げは数秒で終わる。

速い。

規格は3サイズある

作るのはスタンプ本体だけではない。メイン画像とタブ画像も要る。

スタンプ本体   370 × 320 まで(枚数分)
メイン画像     240 × 240
タブ画像        96 ×  74

全部PNGで、背景は透過。本体は最大サイズなので、それより小さくても通る。

メイン画像とタブ画像を忘れると申請に進めない。私は1枚目のスタンプから自動生成するようにした。縮小は元の解像度から1回だけかける。仕上げ済みの370×320からさらに縮めると、線がぼやける。

外側の白だけを透過する

ここが一番の山だった。単純にやると失敗する。

AIに出させる画像は白背景の線画だ。透過にするには白を消せばいい、と最初は思う。ところが単純に白を全部消すと、キャラの内側まで抜ける。目の白目、口の中、パーツの隙間。全部穴になる。

必要なのは「外側の白だけ」を消すことだ。

やり方としては、画像の四隅から塗りつぶしを走らせる。四隅は必ず背景なので、そこから繋がっている白だけが背景の白になる。線で囲まれた内側の白には届かない。

四隅から flood fill → 届いた白 = 外側 → 透過
届かなかった白 = 線の内側 → 残す

これで目も口も残る。

もう一つ、キャラを中央に置く処理も要る。生成された画像は毎回位置がずれているので、そのまま並べると揃わない。輪郭のかたまりを拾って、いちばん大きいものをキャラとみなし、それを中心に置いた。ゴミやノイズが端に残っていても、大きさで負けるので無視される。

AI生成で毎回起きること

2つある。どちらも画像を見れば分かるが、言われるまで気づかない。

ほっぺの色が灰色になる。ピンクのほっぺを指定していても、生成のたびに彩度が落ちて、くすんだ灰色寄りになることがある。並べると1枚だけ顔色が悪い。見つけたら、その画像だけ作り直す。指示は英語で「ほっぺを柔らかいピンクに塗り直して」と伝えるのが早い。

背景に薄い灰色のノイズが乗る。真っ白のつもりでも、ビニールのような質感がうっすら出ていることがある。これがあると、四隅からの塗りつぶしが途中で止まって、背景が消え残る。

なので仕上げの前に、明るい無彩色を純白に潰す処理を入れた。判定は画素ごとに、赤緑青の最小値が一定以上なら白にする。線は暗いので残るし、ピンクのほっぺは彩度があるので残る。灰色のノイズだけが白に飲まれる。

キャラを揃えるのにも工夫が要った。1枚ずつ生成すると、同じキャラのつもりでも別人になる。耳の形、目の大きさ、輪郭の太さ。少しずつずれて、8枚並べると統一感がなくなる。

やっているのは、最初に決めた1枚を基準にして、毎回それを添付することだ。「この子で、別のポーズ」と頼む。文字は入れさせない。背景は白のまま出させる。

セリフを画像に入れさせないのは、AIの日本語が信用できないからでもあるが、それ以上に、あとから差し替えたくなるからだ。同じ絵でセリフだけ変えたい場面が必ず出てくる。

なので文字は仕上げのときに後乗せしている。縦書きで、白いフチを付ける。フチがないと線画に文字が埋もれる。

zipのファイル名で1回落ちた

ここで詰まった。

仕上げのスクリプトは、ファイル名からセリフを読み取る形にしてある。01_すき.png のように書いておくと、番号順に並べつつ、アンダーバーの後ろを文字として乗せてくれる。作業中はこれが便利だった。

そのまま zip にして一括アップロードしたら、エラーになった。

原因はファイル名だった。日本語が入っているとアップロードで弾かれる。それだけのことだった。

01_すき.png   → エラー
01.png        → 通る

言われてみればそうかという話だが、エラーの内容からは分からない。仕上げは終わっているのに先に進めないので、画像が悪いのかと思って何度か作り直した。

いまは、作業用の名前と提出用の名前を分けている。作業中は 01_すき.png のまま進めて、zipにする直前に数字だけの名前に変える。

申請でAIの利用は申告する

申請フォームに、AIを使ったかどうかの項目がある。使ったなら「あり」を選ぶ。

隠す理由はないし、隠して通ったところで後から取り下げられるほうが痛い。実際、ありで申請して審査は進んでいる。

そのほかに入れるのは、著作権の表記、タグ、価格、販売開始のタイミング。販売開始は自動にしておくと、承認された時点で並ぶ。手動にすると、通知に気づくまで売られないままになる。

収益の話は正直に書いておく

分配はスタンプの売上に対して3割強ほどだと理解している。120円のスタンプが1つ売れて、手元に入るのは数十円だ。

つまり月に3万円を作ろうとすると、1,000個近く売る必要がある。作るのが楽しいのは本当だが、これだけで生活費になると考えないほうがいい。

私はまだ売れ行きを見ていない段階なので、実際にどうなるかは分からない。数字が出たらまた書く。

← 記事一覧へ