Home About Contact
AI Image Generation , Image Manipulation , Icon

AI の助けを借りてアイコンセットをつくる

AI を使ってアイコンを制作できるか試した。 「助けを借りて」というより「おんぶにだっこ」に近い。 ともかく、 完成したアイコンセット、形式は SVGです。

Result Icon Set

まずつくりたいアイコンのスタイルを持ったアイコンセットを用意します。 それを input-icon-set.png に保存します。 これを参照イメージとして使います。 あとは gtp-image-1 モデルを使って image to image するだけです。

次のコードを実行:

// main.py

import base64
import os
from openai import OpenAI
from PIL import Image
from io import BytesIO

client = OpenAI()

my_prompt = """
Using uploaded this image, create some pictogram icons next labels: Unprocessed, Not Started, Available, Unavailable, Processing, In Progress, Cancel, Paid Cancellation, Free Cancellation, Completed, Handled, In Stock, Place Order.
"""

img_path_edit = "imgs/result_icons_0.png"

input_img = open("input-icon-set.png", "rb")

result_edit = client.images.edit(
    model="gpt-image-1",
    image=input_img,
    prompt=my_prompt,
    size="1024x1024"
)

image_base64 = result_edit.data[0].b64_json
image_bytes = base64.b64decode(image_base64)

image = Image.open(BytesIO(image_bytes))
image.save("result.png", format="PNG", quality=100, optimize=True)

コードを実行するための事前準備や詳細は https://platform.openai.com/docs/guides/tools-image-generation このあたりをご覧ください。

生成したアイコンセット画像を Claude Sonnet 4 (Github Coplitを使用)にSVGへ変換してもらうように頼みました。

プロンプト:

Can you convert this image to svg?

想像はしていましたが、いまいちな出来です。(すごいはすごいんですが・・・)

Generated image with sonnet4

4o-mini に ask してみたら、SVG にするなら potrace 使え、って言われた。

$ convert input-icon-set.png -threshold 50% pbm:- | potrace -s -o icons.svg

convert は imagemagick のコマンドのひとつで potrace は potrace です・・・この辺でいろいろ試しました

これでできた icons.svg が冒頭の画像です。

まとめ

アイコンデザインは使う場所にあった内容とスタイルにしないといけない。 つくりたいスタイルをもった参照画像を用意できれば、 あとはテキストプロンプトでつくりだしたいアイコンの内容を指示できる。