@@ -148,47 +148,55 @@ Returns images generated by Gemini.
148148``` python
149149from gemini import Gemini, GeminiImage
150150
151- prompt = " Create illustrations of Seoul, South Korea."
152- response = GeminiClient.generate_content(prompt)
153-
151+ response = GeminiClient.generate_content(" Create illustrations of Seoul, South Korea." )
154152generated_images = response.generated_images # Check generated images [Dict]
155153
156- GeminiImage.save_sync(generated_images, save_path = " cached_folder " )
154+ GeminiImage.save_sync(generated_images, save_path = " cached " )
157155
158156# You can use byte type image dict as follow:
159157# bytes_images_dict = GeminiImage.fetch_images_dict_sync(generated_images, cookies) # Get bytes images dict
160- # GeminiImage.save_images_sync(bytes_images_dict, path="cached_folder ") # Save to path
158+ # GeminiImage.save_images_sync(bytes_images_dict, path="cached ") # Save to path
161159```
162160* Async*
161+
163162``` python
163+ response = GeminiClient.generate_content(" Create illustrations of Seoul, South Korea." )
164+
165+ generated_images = response.generated_images # Check generated images [Dict]
166+
167+ await GeminiImage.save(generated_images, " cached" )
168+ # image_data_dict = await GeminiImage.fetch_images_dict(generated_images)
169+ # await GeminiImage.save_images(image_data_dict, "cached")
170+ ```
171+
172+ <details ><summary >Async wrapper</summary >
173+
174+ ```
164175import asyncio
165176from gemini import Gemini, GeminiImage
166177
167- async def fetch_and_save_images_async (prompt : str ):
178+ async def fetch_and_save_images_async(prompt: str, save_path: str="cached" ):
168179 response = await GeminiClient.generate_content_async(prompt)
169180
170181 generated_images = response.generated_images # Check response images [Dict]
171- for image in generated_images:
172- gemini_image = GeminiImage(url = image.url)
173- await gemini_image.save(path = " cached_folder" ) # Save to path asynchronously
182+ await GeminiImage.save(generated_images, save_path=save_path)
174183
175184# Run the async function
176185if __name__ == "__main__":
177186 user_prompt = input("Enter your prompt: ")
178187 asyncio.run(fetch_and_save_images_async(user_prompt))
179188```
180- <details ><summary >GeminiImage.save logics</summary >
181-
182- ``` python
189+ ` GeminiImage.save ` method logic
190+ ```
183191import asyncio
184192from gemini import Gemini, GeminiImage
185193
186- async def fetch_and_save_images_async (prompt : str ):
194+ async def fetch_and_save_images_async(prompt: str, save_path: str="cached" ):
187195 response = await GeminiClient.generate_content_async(prompt)
188196
189197 generated_images = response.generated_images # Check response images [Dict]
190- bytes_images_dict = await GeminiImage.fetch_images_dict(generated_images, cookies ) # Get bytes images dict asynchronously
191- await GeminiImage.save_images(bytes_images_dict, path = " cached_folder " ) # Save to path asynchronously
198+ image_data_dict = await GeminiImage.fetch_images_dict(generated_images) # Get bytes images dict asynchronously
199+ await GeminiImage.save_images(image_data_dict, save_path=save_path ) # Save to path asynchronously
192200
193201# Run the async function
194202if __name__ == "__main__":
@@ -213,52 +221,58 @@ response = GeminiClient.generate_content(prompt)
213221
214222response_images = response.web_images # Check response images [Dict]
215223
216- GeminiImage.save_sync(response_images, save_path = " cached_folder " )
224+ GeminiImage.save_sync(response_images, save_path = " cached " )
217225
218226# You can use byte type image dict as follow:
219227# bytes_images_dict = GeminiImage.fetch_bytes_sync(response_images, cookies) # Get bytes images dict
220- # GeminiImage.save_images_sync(bytes_images_dict, path="cached_folder ") # Save to path
228+ # GeminiImage.save_images_sync(bytes_images_dict, path="cached ") # Save to path
221229```
222230* Async*
223231``` python
232+ response = GeminiClient.generate_content(" Create illustrations of Seoul, South Korea." )
233+
234+ response_images = response.web_images # Check generated images [Dict]
235+
236+ await GeminiImage.save(response_images, " cached" )
237+ # image_data_dict = await GeminiImage.fetch_images_dict(response_images)
238+ # await GeminiImage.save_images(image_data_dict, "cached")
239+ ```
240+
241+ <details ><summary >Async wrapper</summary >
242+
243+ ```
224244import asyncio
225245from gemini import Gemini, GeminiImage
226246
227- async def fetch_and_save_images_async (prompt : str ):
247+ async def fetch_and_save_images_async(prompt: str, save_path: str="cached" ):
228248 response = await GeminiClient.generate_content_async(prompt)
229249
230250 response_images = response.web_images # Check response images [Dict]
231- for image in response_images:
232- gemini_image = GeminiImage(url = image.url)
233- await gemini_image.save(path = " cached_folder" ) # Save to path asynchronously
251+ await GeminiImage.save(response_images, save_path=save_path)
234252
235253# Run the async function
236254if __name__ == "__main__":
237255 user_prompt = input("Enter your prompt: ")
238256 asyncio.run(fetch_and_save_images_async(user_prompt))
239257```
240- <details ><summary >GeminiImage.save logics</summary >
241-
242- ``` python
258+ ` GeminiImage.save ` method logic
259+ ```
243260import asyncio
244261from gemini import Gemini, GeminiImage
245262
246- async def fetch_and_save_images_async (prompt : str ):
263+ async def fetch_and_save_images_async(prompt: str, save_path: str="cached" ):
247264 response = await GeminiClient.generate_content_async(prompt)
248265
249266 response_images = response.web_images # Check response images [Dict]
250- bytes_images_dict = await GeminiImage.fetch_images_dict(response_images, cookies ) # Get bytes images dict asynchronously
251- await GeminiImage.save_images(bytes_images_dict, path = " cached_folder " ) # Save to path asynchronously
267+ image_data_dict = await GeminiImage.fetch_images_dict(response_images) # Get bytes images dict asynchronously
268+ await GeminiImage.save_images(image_data_dict, save_path=save_path ) # Save to path asynchronously
252269
253270# Run the async function
254271if __name__ == "__main__":
255272 user_prompt = input("Enter your prompt: ")
256273 asyncio.run(fetch_and_save_images_async(user_prompt))
257274```
258275
259- </details >
260-
261-
262276<br >
263277
264278## Further
0 commit comments