gpt4free
gpt4free copied to clipboard
Generate bing image from python script
Is there a way to generate image using bing from python script? Because when response includes data:image/png;base64 it can't be decoded to working png picture :I
You can patch the provider for image generation:
import g4f
from g4f.Provider.bing.create_images import patch_provider
for response in g4f.ChatCompletion.create(
model=g4f.models.default,
provider=g4f.Provider.Bing,
messages=[{"role": "user", "content": "Hello"}],
stream=True,
patch_provider=patch_provider
):
print(response, end="", flush=True)
Also you have to pass cookies with a user session.
yeeea, almost works but
Read cookies from firefox for .bing.com
Open browser with config dir: /home/luke/.config/g4f
Exception ignored in: <async_generator object stream_generate at 0x7f048f86bec0>
Traceback (most recent call last):
File "/home/luke/.conda/envs/py310/lib/python3.10/site-packages/g4f/Provider/create_images.py", line 103, in create_completion
yield from self.create_images(prompt)
RuntimeError: async generator ignored GeneratorExit
Traceback (most recent call last):
File "/home/luke/Pobrane/test.py", line 12, in <module>
response=g4f.ChatCompletion.create(
File "/home/luke/.conda/envs/py310/lib/python3.10/site-packages/g4f/__init__.py", line 134, in create
return result if stream else ''.join(result)
File "/home/luke/.conda/envs/py310/lib/python3.10/site-packages/g4f/Provider/create_images.py", line 103, in create_completion
yield from self.create_images(prompt)
File "/home/luke/.conda/envs/py310/lib/python3.10/site-packages/g4f/Provider/bing/create_images.py", line 219, in create_completion
cls._cookies = cookies = get_cookies_from_browser(proxy)
File "/home/luke/.conda/envs/py310/lib/python3.10/site-packages/g4f/Provider/bing/create_images.py", line 190, in get_cookies_from_browser
with get_browser(proxy=proxy) as driver:
File "/home/luke/.conda/envs/py310/lib/python3.10/site-packages/g4f/webdriver.py", line 46, in get_browser
return Chrome(
File "/home/luke/.conda/envs/py310/lib/python3.10/site-packages/undetected_chromedriver/__init__.py", line 372, in __init__
options.binary_location = (
File "/home/luke/.conda/envs/py310/lib/python3.10/site-packages/selenium/webdriver/chromium/options.py", line 52, in binary_location
raise TypeError(self.BINARY_LOCATION_ERROR)
TypeError: Binary Location Must be a String
For python code
import g4f, sys, json
from g4f.Provider.bing.create_images import patch_provider
with open('cookies.json', 'r') as file:
data = json.load(file)
cookies={}
for cookie in data:
cookies[cookie["name"]] = cookie["value"]
g4f.debug.logging=True
response=g4f.ChatCompletion.create(
model=g4f.models.default,
provider=g4f.Provider.Bing,
messages=[{"role": "user", "content": "GENERATE IMAGE: Capybara", "cookies": data}],
cookies=cookies,
patch_provider=patch_provider
)
print(response)
with cookies.json in the same directory for .bing.com valid
Bumping this issue because it has been open for 7 days with no activity. Closing automatically in 7 days unless it becomes active again.
Closing due to inactivity.