From 48e29b9872094665c2b3d159cf616b1c4824b350 Mon Sep 17 00:00:00 2001 From: Katie Nguyen <21978337+katiemn@users.noreply.github.com> Date: Wed, 5 Nov 2025 13:05:20 -0800 Subject: [PATCH 1/3] feat: add upscale sample for Imagen 4 --- .../imggen_upscale_with_img.py | 45 +++++++++++++++++++ .../image_generation/test_image_generation.py | 7 +++ 2 files changed, 52 insertions(+) create mode 100644 genai/image_generation/imggen_upscale_with_img.py diff --git a/genai/image_generation/imggen_upscale_with_img.py b/genai/image_generation/imggen_upscale_with_img.py new file mode 100644 index 00000000000..f1c679300ae --- /dev/null +++ b/genai/image_generation/imggen_upscale_with_img.py @@ -0,0 +1,45 @@ +# Copyright 2025 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from google.genai.types import Image + + +def upscale_images(output_file: str) -> Image: + # [START googlegenaisdk_imggen_upscale_with_img] + from google import genai + from google.genai.types import Image + + client = genai.Client() + + # TODO(developer): Update and un-comment below line + # output_file = "output-image.png" + + image = client.models.upscale_images( + model="imagen-4.0-upscale-preview", + image=Image.from_file("test_resources/dog_newspaper.png"), + upscale_factor="x2", + ) + + image.generated_images[0].image.save(output_file) + + print(f"Created output image using {len(image.generated_images[0].image.image_bytes)} bytes") + # Example response: + # Created output image using 1234567 bytes + + # [END googlegenaisdk_imggen_upscale_with_img] + return image.generated_images[0].image + + +if __name__ == "__main__": + upscale_images(output_file="output_folder/dog_newspaper.png") diff --git a/genai/image_generation/test_image_generation.py b/genai/image_generation/test_image_generation.py index dd037ba6dbf..f30b295f85e 100644 --- a/genai/image_generation/test_image_generation.py +++ b/genai/image_generation/test_image_generation.py @@ -37,6 +37,7 @@ import imggen_scribble_ctrl_type_with_txt_img import imggen_style_reference_with_txt_img import imggen_subj_refer_ctrl_refer_with_txt_imgs +import imggen_upscale_with_img import imggen_virtual_try_on_with_txt_img import imggen_with_txt @@ -147,3 +148,9 @@ def test_img_virtual_try_on() -> None: OUTPUT_FILE = os.path.join(RESOURCES, "man_in_sweater.png") response = imggen_virtual_try_on_with_txt_img.virtual_try_on(OUTPUT_FILE) assert response + + +def test_img_upscale() -> None: + OUTPUT_FILE = os.path.join(RESOURCES, "dog_newspaper.png") + response = imggen_upscale_with_img.upscale_images(OUTPUT_FILE) + assert response From 5bc342457ee65fb4c1ac4c34252fe130c0d20e8b Mon Sep 17 00:00:00 2001 From: Katie Nguyen <21978337+katiemn@users.noreply.github.com> Date: Wed, 5 Nov 2025 13:18:42 -0800 Subject: [PATCH 2/3] fix: function name --- genai/image_generation/imggen_upscale_with_img.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/genai/image_generation/imggen_upscale_with_img.py b/genai/image_generation/imggen_upscale_with_img.py index f1c679300ae..d9793799afc 100644 --- a/genai/image_generation/imggen_upscale_with_img.py +++ b/genai/image_generation/imggen_upscale_with_img.py @@ -25,7 +25,7 @@ def upscale_images(output_file: str) -> Image: # TODO(developer): Update and un-comment below line # output_file = "output-image.png" - image = client.models.upscale_images( + image = client.models.upscale_image( model="imagen-4.0-upscale-preview", image=Image.from_file("test_resources/dog_newspaper.png"), upscale_factor="x2", From 39375cb0b61153bd0b27fbc7c6e0a5af7c770884 Mon Sep 17 00:00:00 2001 From: Katie Nguyen <21978337+katiemn@users.noreply.github.com> Date: Wed, 5 Nov 2025 13:29:06 -0800 Subject: [PATCH 3/3] fix: args --- genai/image_generation/imggen_upscale_with_img.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/genai/image_generation/imggen_upscale_with_img.py b/genai/image_generation/imggen_upscale_with_img.py index d9793799afc..c3ea9ffa640 100644 --- a/genai/image_generation/imggen_upscale_with_img.py +++ b/genai/image_generation/imggen_upscale_with_img.py @@ -27,7 +27,7 @@ def upscale_images(output_file: str) -> Image: image = client.models.upscale_image( model="imagen-4.0-upscale-preview", - image=Image.from_file("test_resources/dog_newspaper.png"), + image=Image.from_file(location="test_resources/dog_newspaper.png"), upscale_factor="x2", )