Spaces:
Runtime error
Runtime error
| # ============================ | |
| # FIREWORKS AI MODULE (HYBRID MODE) | |
| # ============================ | |
| import os | |
| import base64 | |
| import requests | |
| import uuid | |
| FIREWORKS_API_KEY = os.getenv("FIREWORKS_API_KEY") | |
| def fireworks_generate(prompt, model_name, log_callback): | |
| """ | |
| Generate image using Fireworks AI. | |
| Returns filepath or None. | |
| """ | |
| url = "https://api.fireworks.ai/inference/v1/image/generate" | |
| payload = { | |
| "model": model_name, | |
| "prompt": prompt, | |
| "size": "1024x1024", | |
| "num_images": 1 | |
| } | |
| headers = { | |
| "Authorization": f"Bearer {FIREWORKS_API_KEY}", | |
| "Content-Type": "application/json" | |
| } | |
| try: | |
| response = requests.post(url, json=payload, headers=headers, timeout=40) | |
| data = response.json() | |
| if "images" not in data: | |
| log_callback(f" β Fireworks Error: {data}") | |
| return None | |
| b64 = data["images"][0]["image_base64"] | |
| img_bytes = base64.b64decode(b64) | |
| filename = f"fw_{uuid.uuid4().hex}.png" | |
| os.makedirs("outputs", exist_ok=True) | |
| filepath = os.path.join("outputs", filename) | |
| with open(filepath, "wb") as f: | |
| f.write(img_bytes) | |
| if os.path.getsize(filepath) < 10000: | |
| log_callback(" β Fireworks FAILED (image too small)") | |
| return None | |
| log_callback(" β Fireworks SUCCESS") | |
| return filepath | |
| except Exception as e: | |
| log_callback(f" β Fireworks Exception: {str(e)}") | |
| return None | |
| def fireworks_schnell(prompt, log_callback): | |
| return fireworks_generate(prompt, "black-forest-labs/FLUX.1-schnell", log_callback) | |
| def fireworks_dev(prompt, log_callback): | |
| return fireworks_generate(prompt, "black-forest-labs/FLUX.1-dev", log_callback) | |