From 84b7e5105d50af131e530ee09c29bb9172cd1428 Mon Sep 17 00:00:00 2001 From: Angel Caamal Date: Thu, 20 Aug 2026 20:59:16 +0000 Subject: [PATCH 1/3] fix(genai): migrate imggen-with-txt to gemini-2.5-flash-image and generateContent --- genai/image-generation/imggen-with-txt.js | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/genai/image-generation/imggen-with-txt.js b/genai/image-generation/imggen-with-txt.js index 003c7563b9e..5fcffe720ad 100644 --- a/genai/image-generation/imggen-with-txt.js +++ b/genai/image-generation/imggen-with-txt.js @@ -32,29 +32,28 @@ async function generateImage( location: location, }); - const image = await client.models.generateImages({ - model: 'imagen-4.0-generate-001', - prompt: 'A dog reading a newspaper', - config: { - imageSize: '2K', - }, + const response = await client.models.generateContent({ + model: 'gemini-2.5-flash-image', + contents: 'A dog reading a newspaper', }); - console.log(image.generatedImages[0].image); + + const generatedImagePart = response.candidates[0].content.parts[0]; + + console.log(generatedImagePart); console.log('Created output image'); + const outputDir = 'output-folder'; if (!fs.existsSync(outputDir)) { fs.mkdirSync(outputDir, {recursive: true}); } - const imageBytes = image.generatedImages[0].image.imageBytes; + const imageBytes = generatedImagePart.inlineData.data; const buffer = Buffer.from(imageBytes, 'base64'); const fileName = `${outputDir}/dog-image.png`; fs.writeFileSync(fileName, buffer); - // Example response: - // gs://your-bucket/your-prefix - return image.generatedImages; + return response.candidates[0].content.parts; } // [END googlegenaisdk_imggen_with_txt] From 2e26290b2c4c14ad8e84cd46b069f6e1758e08a7 Mon Sep 17 00:00:00 2001 From: Angel Caamal Date: Thu, 20 Aug 2026 21:09:18 +0000 Subject: [PATCH 2/3] style(genai): address code review feedback --- genai/image-generation/imggen-with-txt.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/genai/image-generation/imggen-with-txt.js b/genai/image-generation/imggen-with-txt.js index 5fcffe720ad..7a2ed7439f2 100644 --- a/genai/image-generation/imggen-with-txt.js +++ b/genai/image-generation/imggen-with-txt.js @@ -37,7 +37,7 @@ async function generateImage( contents: 'A dog reading a newspaper', }); - const generatedImagePart = response.candidates[0].content.parts[0]; + const generatedImagePart = response.candidates?.[0]?.content?.parts?.[0]; console.log(generatedImagePart); console.log('Created output image'); @@ -47,13 +47,17 @@ async function generateImage( fs.mkdirSync(outputDir, {recursive: true}); } - const imageBytes = generatedImagePart.inlineData.data; + const imageBytes = generatedImagePart?.inlineData?.data; + if (!imageBytes) { + throw new Error('No image data returned from the model.'); + } + const buffer = Buffer.from(imageBytes, 'base64'); const fileName = `${outputDir}/dog-image.png`; fs.writeFileSync(fileName, buffer); - return response.candidates[0].content.parts; + return response.candidates?.[0]?.content?.parts; } // [END googlegenaisdk_imggen_with_txt] From e81350e9f45cb6e31afae95f8d137510436ae9c3 Mon Sep 17 00:00:00 2001 From: Angel Caamal Date: Fri, 21 Aug 2026 18:52:55 +0000 Subject: [PATCH 3/3] refactor(genai): remove unnecessary console.log statements --- genai/image-generation/imggen-with-txt.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/genai/image-generation/imggen-with-txt.js b/genai/image-generation/imggen-with-txt.js index 7a2ed7439f2..f964970b3af 100644 --- a/genai/image-generation/imggen-with-txt.js +++ b/genai/image-generation/imggen-with-txt.js @@ -39,9 +39,6 @@ async function generateImage( const generatedImagePart = response.candidates?.[0]?.content?.parts?.[0]; - console.log(generatedImagePart); - console.log('Created output image'); - const outputDir = 'output-folder'; if (!fs.existsSync(outputDir)) { fs.mkdirSync(outputDir, {recursive: true});