lobe-chat
lobe-chat copied to clipboard
[Request] 增加 gemini 和 vertex 中 Imagen(文生图)模型
🥰 Feature Description
imagen-3 的介绍:https://deepmind.google/technologies/imagen-3/
🧐 Proposed Solution
官方实现:
- https://github.com/google-gemini/cookbook/blob/main/quickstarts/Get_started_imagen.ipynb
- https://ai.google.dev/gemini-api/docs/imagen#generate-images
代码参考:
from google import genai
from google.genai import types
from PIL import Image
from io import BytesIO
import base64
from datetime import datetime
from IPython.display import display, Image as IPImage
client = genai.Client(api_key=api_key)
MODEL_ID = "imagen-3.0-generate-002"
prompt = "A cat lounging lazily on a sunny windowstill playing with a kid toy." # @param {type:"string"}
number_of_images = 4 # @param {type:"slider", min:1, max:4, step:1}
person_generation = "ALLOW_ADULT" # @param ['DONT_ALLOW', 'ALLOW_ADULT']
aspect_ratio = "1:1" # @param ["1:1", "3:4", "4:3", "16:9", "9:16"]
response = client.models.generate_images(
model=MODEL_ID,
prompt=prompt,
config=dict(
number_of_images=number_of_images,
output_mime_type="image/jpeg",
person_generation=person_generation,
aspect_ratio=aspect_ratio
)
)
# Save and display each generated image
for i, generated_image in enumerate(response.generated_images):
# Decode the Base64-encoded image data
image_data = base64.b64decode(generated_image.image.image_bytes)
# Generate a timestamp
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") # Format: YYYYMMDD_HHMMSS
# Create a filename with timestamp
filename = f"generated_image_{timestamp}_{i + 1}.jpg"
# Save the image to a file
with open(filename, "wb") as f:
f.write(image_data)
print(f"Saved: {filename}")
# Display the image in Jupyter Notebook
display(IPImage(image_data))
📝 Additional Information
No response