From 9aeae65b9b0e7322f63186c0df061de06ca642ee Mon Sep 17 00:00:00 2001 From: Heiner Lohaus Date: Sun, 11 Feb 2024 09:26:02 +0100 Subject: Improve preview in image generation of Gemini Fix issue in Bing Image Decorator --- g4f/Provider/create_images.py | 2 +- g4f/Provider/needs_auth/Gemini.py | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'g4f/Provider') diff --git a/g4f/Provider/create_images.py b/g4f/Provider/create_images.py index b8bcbde3..9a9e3f08 100644 --- a/g4f/Provider/create_images.py +++ b/g4f/Provider/create_images.py @@ -87,7 +87,7 @@ class CreateImagesProvider(BaseProvider): messages.insert(0, {"role": "system", "content": self.system_message}) buffer = "" for chunk in self.provider.create_completion(model, messages, stream, **kwargs): - if buffer or "<" in chunk: + if isinstance(chunk, str) and buffer or "<" in chunk: buffer += chunk if ">" in buffer: match = re.search(r'', buffer) diff --git a/g4f/Provider/needs_auth/Gemini.py b/g4f/Provider/needs_auth/Gemini.py index 32510505..0650942e 100644 --- a/g4f/Provider/needs_auth/Gemini.py +++ b/g4f/Provider/needs_auth/Gemini.py @@ -142,13 +142,15 @@ class Gemini(AsyncGeneratorProvider): if image_prompt: images = [image[0][3][3] for image in response_part[4][0][12][7][0]] resolved_images = [] + preview = [] for image in images: async with session.get(image, allow_redirects=False) as fetch: image = fetch.headers["location"] async with session.get(image, allow_redirects=False) as fetch: image = fetch.headers["location"] resolved_images.append(image) - yield ImageResponse(resolved_images, image_prompt, {"orginal_links": images}) + preview.append(image.replace('=s512', '=s200')) + yield ImageResponse(resolved_images, image_prompt, {"orginal_links": images, "preview": preview}) def build_request( prompt: str, -- cgit v1.2.3