fix
This commit is contained in:
parent
b3f68cab2d
commit
9ef3e18510
54
scpt/ai_svg_package/svg-icon-generator.py
Normal file
54
scpt/ai_svg_package/svg-icon-generator.py
Normal file
@ -0,0 +1,54 @@
|
||||
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}")
|
Loading…
x
Reference in New Issue
Block a user