Google Gemini API error
Gemini API 400 INVALID_ARGUMENT: what it means and how to fix it
400 INVALID_ARGUMENTRetry? NoLast verified 2 documented fixes2 sources
What it means
generateContent API: the request body is malformed. The same status is returned with reason API_KEY_INVALID when the API key is not valid.
Causes
- A typo or a missing required field in the request
- Using features from a newer API version with an older endpoint
- An invalid API key (message: API key not valid. Please pass a valid API key.)
How to fix it
- Fix 1.
Check the API reference for request format, examples, and supported versions.
- Fix 2.
Do not retry client errors such as 400.
More Gemini API errors
All 30 Gemini API errorsHTTP 400 at other providers
Compare 400 across providers400 ValidationExceptionRetry? NoAmazon Bedrock400 ServiceQuotaExceededExceptionRetry? YesAmazon Bedrock400 IncompleteSignatureRetry? Not statedAmazon Bedrock400 InvalidActionRetry? Not statedAmazon Bedrock400 NotAuthorizedRetry? Not statedAmazon Bedrock400 RequestExpiredRetry? Not statedAmazon Bedrock400 invalid_request_errorRetry? Not statedAnthropic API400 invalid_request_error (spend limit reached)Retry? Not statedAnthropic API400 Bad RequestRetry? Not statedAzure OpenAI400 content_filterRetry? Not statedAzure OpenAI400 Bad RequestRetry? Not statedCohere API400 Bad Request (too many tokens)Retry? Not statedCohere API
FAQ
What does the Gemini API error "400 INVALID_ARGUMENT" mean?
generateContent API: the request body is malformed. The same status is returned with reason API_KEY_INVALID when the API key is not valid.
How do I fix Gemini API "400 INVALID_ARGUMENT"?
There are 2 documented fixes. Start with the first: Check the API reference for request format, examples, and supported versions.
Should I retry Gemini API "400 INVALID_ARGUMENT"?
No. The official docs treat this error as not retryable: fix the cause before sending the request again.
Which other AI APIs return HTTP 400?
Per their official error docs: Amazon Bedrock (400 ValidationException; 400 ServiceQuotaExceededException; 400 IncompleteSignature; 400 InvalidAction; 400 NotAuthorized; 400 RequestExpired), Anthropic API (400 invalid_request_error; 400 invalid_request_error (spend limit reached)), Azure OpenAI (400 Bad Request; 400 content_filter), Cohere API (400 Bad Request; 400 Bad Request (too many tokens)), DeepSeek API (400 - Invalid Format), Groq API (400 Bad Request), Mistral API (400 Bad request), OpenAI API (400 invalid_request_error (Invalid service_tier argument); 400 BadRequestError), OpenRouter (400 invalid_request; 400 invalid_prompt; 400 context_length_exceeded; 400 max_tokens_exceeded; 400 token_limit_exceeded; 400 string_too_long; 400 invalid_image; 400 image_too_large; 400 image_too_small; 400 unsupported_image_format; 400 image_download_failed), Vertex AI (400 INVALID_ARGUMENT / FAILED_PRECONDITION), xAI API (400 Bad Request).
Sources
Last verified against 2 sources: Gemini API's official docs and official SDK repositories.
Newsletter
Know when the APIs change
One email per week. New model releases, API changes, what broke, and how developers are working around it.