Spaces:
Runtime error
Runtime error
| import requests | |
| from PIL import Image | |
| import io | |
| # Endpoint URLs | |
| understand_image_url = "http://localhost:8000/understand_image_and_question/" | |
| generate_images_url = "http://localhost:8000/generate_images/" | |
| # Use your image file path here | |
| image_path = "images/equation.png" | |
| # Function to call the image understanding endpoint | |
| def understand_image_and_question(image_path, question, seed=42, top_p=0.95, temperature=0.1): | |
| files = {'file': open(image_path, 'rb')} | |
| data = { | |
| 'question': question, | |
| 'seed': seed, | |
| 'top_p': top_p, | |
| 'temperature': temperature | |
| } | |
| response = requests.post(understand_image_url, files=files, data=data) | |
| response_data = response.json() | |
| print("Image Understanding Response:", response_data['response']) | |
| # Function to call the text-to-image generation endpoint | |
| def generate_images(prompt, seed=None, guidance=5.0): | |
| data = { | |
| 'prompt': prompt, | |
| 'seed': seed, | |
| 'guidance': guidance | |
| } | |
| response = requests.post(generate_images_url, data=data, stream=True) | |
| if response.ok: | |
| img_idx = 1 | |
| # We will create a new BytesIO for each image | |
| buffers = {} | |
| try: | |
| for chunk in response.iter_content(chunk_size=1024): | |
| if chunk: | |
| # Use a boundary detection to determine new image start | |
| if img_idx not in buffers: | |
| buffers[img_idx] = io.BytesIO() | |
| buffers[img_idx].write(chunk) | |
| # Attempt to open the image | |
| try: | |
| buffer = buffers[img_idx] | |
| buffer.seek(0) | |
| image = Image.open(buffer) | |
| img_path = f"generated_image_{img_idx}.png" | |
| image.save(img_path) | |
| print(f"Saved: {img_path}") | |
| # Prepare the next image buffer | |
| buffer.close() | |
| img_idx += 1 | |
| except Exception as e: | |
| # Continue loading data into the current buffer | |
| continue | |
| except Exception as e: | |
| print("Error processing image:", e) | |
| else: | |
| print("Failed to generate images.") | |
| # Example usage | |
| if __name__ == "__main__": | |
| # Call the image understanding API | |
| understand_image_and_question(image_path, "What is this image about?") | |
| # Call the image generation API | |
| generate_images("A beautiful sunset over a mountain range, digital art.") | |