Spaces:
Sleeping
Sleeping
# application/utils/image_generation.py - NEW FILE | |
from huggingface_hub import InferenceClient | |
import os | |
import base64 | |
from io import BytesIO | |
def generate_image(prompt: str) -> str: | |
""" | |
Generates an image based on the given prompt using the Hugging Face Inference API. | |
Args: | |
prompt: The text prompt to generate the image from. | |
Returns: | |
The base64 encoded image data, or None if an error occurred. | |
""" | |
try: | |
api_key = os.environ.get('auth') | |
if not api_key: | |
raise ValueError("Hugging Face API key ('auth') not found in environment variables.") | |
client = InferenceClient(api_key=api_key) | |
image = client.text_to_image( | |
prompt, | |
model="black-forest-labs/FLUX.1-schnell" | |
) | |
# Convert PIL Image to base64 string | |
buffered = BytesIO() | |
image.save(buffered, format="PNG") # Or "JPEG" if appropriate | |
img_str = base64.b64encode(buffered.getvalue()).decode('utf-8') | |
return img_str | |
except Exception as e: | |
print(f"Error in image generation: {e}") | |
return None |