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