import os import base64 from typing import Dict, Any from openai import OpenAI def generate_image( prompt: str, width: int = 1024, height: int = 1024, num_inference_steps: int = 28, negative_prompt: str = "", seed: int = -1 ) -> Dict[str, Any]: """ Generate an image using Nebius API. Args: prompt: Text prompt for image generation output_path: Path where to save the generated image width: Image width height: Image height num_inference_steps: Number of inference steps negative_prompt: Negative prompt for generation seed: Random seed (-1 for random) Returns: Dictionary with result information """ try: client = OpenAI( base_url="https://api.studio.nebius.com/v1/", api_key=os.environ.get("NEBIUS_API_KEY") ) response = client.images.generate( model="black-forest-labs/flux-dev", response_format="b64_json", extra_body={ "response_extension": "png", "width": width, "height": height, "num_inference_steps": num_inference_steps, "negative_prompt": negative_prompt, "seed": seed }, prompt=prompt ) image_data = base64.b64decode(response.data[0].b64_json) return { "success": True, "message": "Image generated successfully", "prompt": prompt, "b64": image_data, "generation_params": { "width": width, "height": height, "num_inference_steps": num_inference_steps, "negative_prompt": negative_prompt, "seed": seed } } except Exception as e: if "NEBIUS_API_KEY" in str(e) or not os.environ.get("NEBIUS_API_KEY"): return { "success": False, "error": "NEBIUS_API_KEY environment variable not set", "output_path": None, 'user': os.environ.get("USER") } return { "success": False, "error": f"Failed to generate image: {str(e)}", "output_path": None }