I keep getting 429 on image generation requests

^^>>> curl -s -X POST \                                                                                                                                                                             (22) 12:25:10
            "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-image:generateContent" \
            -H "x-goog-api-key: $GEMINI_API_KEY" \
            -H "Content-Type: application/json" \
            -d '{
          "contents": [{
            "parts": [
              {"text": "Create a picture of a nano banana dish in a fancy restaurant with a Gemini theme"}
            ]
          }]
        }'
curl: (22) The requested URL returned error: 429
curl: (22) The requested URL returned error: 429
curl: (22) The requested URL returned error: 429
curl: (22) The requested URL returned error: 429

i am talking about rate limits for image generation.

i have tried diffrent google accounts, diffrent api keys, diffrent gcp project, diffrent image gen models, but all return me the same error

The service is receiving too many requests from you [item 0]
You exceeded your current quota, please check your plan and billing details. For more information on this error, head to: https://ai.google.dev/gemini-api/docs/rate-limits. To monitor your current usage, head to: https://ai.dev/rate-limit. * Quota exceeded for metric: generativelanguage.googleapis.com/generate_content_free_tier_requests, limit: 0, model: gemini-2.5-flash-preview-image * Quota exceeded for metric: generativelanguage.googleapis.com/generate_content_free_tier_requests, limit: 0, model: gemini-2.5-flash-preview-image * Quota exceeded for metric: generativelanguage.googleapis.com/generate_content_free_tier_input_token_count, limit: 0, model: gemini-2.5-flash-preview-image Please retry in 11.893074872s.

i am getting this error on even my organisation’s api keys which have also set up billing for the api key. i think this might be an issue on how google has setup limits on thier image generation models specifically. becuase with the same api keys that i tried, text generation works fine

^^>>> curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:generateContent" \                                                                                            12:18:45
            -H "x-goog-api-key: $GEMINI_API_KEY" \
            -H 'Content-Type: application/json' \
            -X POST \
            -d '{
          "contents": [
            {
              "parts": [
                {
                  "text": "Explain how AI works in a few words"
                }
              ]
            }
          ]
        }'
{
  "candidates": [
    {
      "content": {
        "parts": [
          {
            "text": "AI analyzes vast amounts of data to find patterns and make predictions.",
            "thoughtSignature": "EoUHCoIHAXLI2nxl8ZrxAtUuRmoUkETPNxzu23YB/NaADVYK3/w9q/2tv2J/bToWPRUT1qTC/KZEVyHngD2/ZFbaAhkdip2iKknOK58OaMq+EGE4wM5ZG4Lznzy7XkFsEaJQJwqVzHwAKCTdyRPmyWavZBHxSsf+zAEdhje0e0figWYmYE/hyTDc4mCoXrYiakIFV046Tge4NbqQk2WE2Ae9daa3/EOdQ0nauScRrdZ3Pr5vXLhKznxndyJaBkgVc8OtdGXRyJLAblqa8DPs1dQujsn34vH8umYu8hgsxp+iYWF3IDnWUlqhHe9J31jQDekB9rfXmkEZqb28ORhghm1H2Wujs7SElcbczFXvdwDUvEquEcc6Hj2cDU9pk4Z645TQ09BQ5pTCn+2R+KZ9czdMymSghEEG5oZ7VSY7peKz73UDyX+pYH7KxSUxDlL8iR86SyV498ReDlIJ/uUNY8+DGpV/xJgHXzz2LEin7myHE4C2Ns+N9tCzlAk1a4lLHcHR18PXlKBdpsqaQVzP0KSjxTlLEFWMZQUQlgEawZMbuZEgfxzZigLMXghWPIuRB139niKS4KJJD8c7XfI4ZjKa8/D9FODwdJlwwetiLIZ5e0kGblusQS8qonwF+7tIN8ZXMCxXtrl9BmMZ7eKlvehwJJjowBGl2KavbR36qcd9z50Nqdu9ToDzZB+nmYnRmgj0m3Jh32vXIi1wJliadJWKas+Ef79ZX6sjlEOQH2GgGAaAUDZ1Q9S1GW5BLMlboWiC5byUBJjTea3xig2dpLQ+bSYqv4SiigPUSVBSFieUeL+g89QP14NqsFv3wocXYKp0lllF5YnSW2SPJEmlUHbFsU1heGRsxKcgkQ133WR+dy4SWMOsvw3NYWtYpBalMCcfevH28d49/ZqlgPQDC4S3LRFbqaiYqFwTc19JO5Od1yPVclUPNJ10u5BPtamw4LxAWNlKqmk2Bi1Hckz9ZP09a5qSO8K/lsFF5dEGQH2oYbKGRzileEOcM8/KQfDrxbNkcTYtOJSJhQ7BGvOvHpdbLb4TNruHyIWK6SE8JdBweS8KTiqJYHZ//I9SqGEeTQlS465k3QjxSv3QE1q6AXWgixWEoOV8s7fuz1H2P/axoDmxF6IrkX4Ok/BpFNh0ojMRvOVbUEbu7yoYV7R+NTujT0w7LehIwiAJua6pGZum5IeHx4+z0A=="
          }
        ],
        "role": "model"
      },
      "finishReason": "STOP",
      "index": 0
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 8,
    "candidatesTokenCount": 13,
    "totalTokenCount": 256,
    "promptTokensDetails": [
      {
        "modality": "TEXT",
        "tokenCount": 8
      }
    ],
    "thoughtsTokenCount": 235
  },
  "modelVersion": "gemini-3-flash-preview",
  "responseId": "9nZwab_TG4C64-EP6aDd2Ak"
}

As of January 2026, the Free Tier for Gemini API generally does not include a quota for native image generation models like gemini-2.5-flash-image. When you see a limit of 0, it doesn’t mean you’ve used up your quota; it means the project has no allocated capacity for that specific metric. For text, you get a free allocation; for image generation, you typically do not.

You mentioned your organization has billing set up, but Google AI platform has different tiers. Image generation is sometimes restricted to higher tiers. Go to the Google AI Studio Plan Settings. If your project is still in a “Free” or “Evaluation” tier, the image generation models will remain at limit: 0. You can also try listing the models via the API to see if gemini-2.5-flash-image is even available for your API key