xtekky/gpt4free · error · RateLimitError
No coins left. Log in with a different account or wait a whi
Error message
No coins left. Log in with a different account or wait a while
What it means
Raised as RateLimitError by Bing image creation when the first response body contains '0 coins left' text. Bing's image generator uses a 'coins' quota per account; zero remaining means the account cannot create images until the quota resets or another account is used.
Source
Thrown at g4f/Provider/needs_auth/bing/create_images.py:98
Returns:
List[str]: A list of URLs to the created images.
Raises:
RuntimeError: If image creation fails or times out.
"""
if not has_requirements:
raise MissingRequirementsError('Install "beautifulsoup4" package')
url_encoded_prompt = quote(prompt)
payload = f"q={url_encoded_prompt}&rt=4&FORM=GENCRE"
url = f"{BING_URL}/images/create?q={url_encoded_prompt}&rt=4&FORM=GENCRE"
async with session.post(
url, allow_redirects=False, data=payload, timeout=timeout
) as response:
response.raise_for_status()
text = (await response.text()).lower()
if "0 coins available" in text:
raise RateLimitError(
"No coins left. Log in with a different account or wait a while"
)
for error in ERRORS:
if error in text:
raise RuntimeError(f"Create images failed: {error}")
if response.status != 302:
url = f"{BING_URL}/images/create?q={url_encoded_prompt}&rt=3&FORM=GENCRE"
async with session.post(
url, allow_redirects=False, timeout=timeout
) as response:
if response.status != 302:
raise RuntimeError(f"Create images failed. Code: {response.status}")
redirect_url = response.headers["Location"].replace("&nfy=1", "")
redirect_url = f"{BING_URL}{redirect_url}"
request_id = redirect_url.split("id=")[-1]
async with session.get(redirect_url) as response:
response.raise_for_status()View on GitHub (pinned to 973504e177)
Solutions
- Wait for the quota window to reset before retrying
- Switch to a different logged-in Bing account (different cookies)
- Add rate-limit handling: catch RateLimitError and back off or fall back to another image provider
Example fix
# before
images = create_images(session, prompt, cookies)
# after
from g4f.errors import RateLimitError
try:
images = create_images(session, prompt, cookies)
except RateLimitError:
images = fallback_image_provider(prompt) # or wait and retry Defensive patterns
Strategy: retry
Try / catch
from g4f.errors import RateLimitError
try:
images = create_images(session, prompt, cookies)
except RateLimitError:
time.sleep(3600)
images = create_images(session, prompt, cookies) # or switch account/provider Prevention
- Budget Bing coin usage; track how many generations per window you consume
- Cache generated images by prompt hash to avoid redundant spends
- Have a second image provider configured as fallback
When it happens
Trigger: Creating images while the logged-in Bing account has exhausted its generative-image coins for the period.
Common situations: Bulk image generation loops draining the quota, shared/test account already depleted, daily quota not yet reset.
Related errors
- Create images failed: {error}
- Create images failed. Code: {response.status}
- Timeout error after {timeout} sec
- Polling images faild. Code: {response.status}
- {data['code']}:{data['details']}
AI-assisted analysis of xtekky/gpt4free@973504e177 (2026-08-14).
Data as JSON: /api/errors/d51256f3042f6e5a.
Report an issue: GitHub.