1
0
moji/scpt/ai_svg_package/svg-icon-generator.py
2025-05-28 15:36:54 +09:00

55 lines
1.6 KiB
Python

import os
import openai
# ====================
# 設定
# ====================
openai.api_key = os.getenv("OPENAI_API_KEY") # または直接キーをここに書く
# 保存先ディレクトリ
SAVE_DIR = "generated_svgs"
os.makedirs(SAVE_DIR, exist_ok=True)
# 生成したいアイコン名リスト
icon_names = ["home", "star", "chat", "user"]
# ====================
# ChatGPTを使ってSVGコードを生成
# ====================
def generate_svg_code(icon_name):
prompt = f"""
SVGアイコンを作ってください。テーマは「{icon_name}」です。
SVGのコードだけを出力してください。サイズは24x24pxで、シンプルでCSSで色指定可能にしてください。
"""
response = openai.ChatCompletion.create(
model="gpt-4",
messages=[
{"role": "system", "content": "あなたはSVGアイコンを生成するアシスタントです。"},
{"role": "user", "content": prompt}
]
)
svg_code = response.choices[0].message.content.strip()
return svg_code
# ====================
# SVGファイルを保存
# ====================
def save_svg(icon_name, svg_code):
filename = os.path.join(SAVE_DIR, f"{icon_name}.svg")
with open(filename, "w", encoding="utf-8") as f:
f.write(svg_code)
print(f"✅ Saved: {filename}")
# ====================
# メイン処理
# ====================
if __name__ == "__main__":
for name in icon_names:
try:
svg = generate_svg_code(name)
save_svg(name, svg)
except Exception as e:
print(f"❌ Error generating {name}: {e}")