| import os |
| import gradio as gr |
| from huggingface_hub import InferenceClient |
|
|
| |
| HF_TOKEN = os.getenv("HF_TOKEN") |
|
|
| |
| client = InferenceClient(api_key=HF_TOKEN) |
|
|
| def generate_image(prompt): |
| |
| if not prompt or prompt.strip() == "": |
| return None, "請輸入描述文字!" |
| |
| |
| if not HF_TOKEN: |
| return None, "錯誤:找不到 HF_TOKEN。請在 Space Settings > Secrets 中設定。" |
|
|
| try: |
| |
| image = client.text_to_image( |
| prompt, |
| |
| model="digiplay/2K" |
| ) |
| return image, "生成成功!" |
| except Exception as e: |
| |
| error_msg = f"發生錯誤:{str(e)}" |
| print(error_msg) |
| return None, error_msg |
|
|
| |
| with gr.Blocks() as demo: |
| gr.Markdown("# 🚀 2026 AI 快速生圖工具") |
| |
| with gr.Row(): |
| with gr.Column(): |
| input_text = gr.Textbox( |
| label="描述你想看到的畫面", |
| placeholder="例如:台北街頭的賽博龐克風格...", |
| lines=3 |
| ) |
| run_btn = gr.Button("立即生成 ✨", variant="primary") |
| status_text = gr.Markdown() |
| |
| with gr.Column(): |
| output_img = gr.Image(label="生成結果", type="pil") |
|
|
| |
| run_btn.click( |
| fn=generate_image, |
| inputs=input_text, |
| outputs=[output_img, status_text] |
| ) |
|
|
| |
| demo.launch(theme=gr.themes.Soft()) |
|
|