Skip to content
This repository was archived by the owner on Jun 12, 2024. It is now read-only.

Commit 044a2a9

Browse files
committed
2 parents 549832f + ec95dcd commit 044a2a9

File tree

1 file changed

+44
-30
lines changed

1 file changed

+44
-30
lines changed

README.md

Lines changed: 44 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -148,47 +148,55 @@ Returns images generated by Gemini.
148148
```python
149149
from 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.")
154152
generated_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+
```
164175
import asyncio
165176
from 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
176185
if __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+
```
183191
import asyncio
184192
from 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
194202
if __name__ == "__main__":
@@ -213,52 +221,58 @@ response = GeminiClient.generate_content(prompt)
213221

214222
response_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+
```
224244
import asyncio
225245
from 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
236254
if __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+
```
243260
import asyncio
244261
from 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
254271
if __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

Comments
 (0)