Jump straight to the numbers

← All articles

$1 Debugging Budget: Fix 400 Model Not Found

01 / Set a $1 ceiling before changing anything

A request returns 400 with a message like “model not found.” Your first move should not be another paid model or a larger balance. Start with a self-imposed $1 debugging ceiling and zero automatic retries. That is a suggested spending limit, not a quoted price or required deposit.

The error usually points toward a mismatch between the model identifier, endpoint, account access, or request format. It does not, by itself, prove which one is wrong. Different services also report similar failures with different HTTP status codes, so keep the response body, not just the number.

02 / Save the failed request without exposing your key

Before editing configuration, record enough information to reproduce the failure. Otherwise, several quick changes can hide the original cause.

  • ■ The HTTP method and complete URL, excluding sensitive query parameters.
  • ■ The exact model value, including capitalization and punctuation.
  • ■ The response status, error body, and request ID if supplied.
  • ■ The client or SDK version and the environment variable names it reads.

Never paste your API key into a public issue, screenshot, or support message. Redact authorization headers and private prompt content. If a key has already been exposed, revoke it rather than merely deleting the screenshot.

03 / Check the base URL before the model name

CheapRelay uses https://api.cheapapirelay.com as its API base. OpenAI-compatible routes live under /v1; Gemini-native routes live under /v1beta. Those are different request formats, not interchangeable prefixes.

For an OpenAI-compatible SDK, the configured base URL will generally be https://api.cheapapirelay.com/v1. A direct chat-completions request goes to https://api.cheapapirelay.com/v1/chat/completions. Check what your client appends: accidentally producing /v1/v1/chat/completions is a configuration error, not evidence that the model is unavailable.

Also confirm that the key and endpoint belong to the same service. A relay key paired with an upstream provider URL will not establish access through the relay.

04 / Copy the API identifier, not the catalog label

A catalog name such as Gemini 2.5 Flash is a human-readable label. Do not assume that adding hyphens or changing capitalization produces its API identifier. Copy the exact identifier from the service’s current documentation, dashboard, or supported model-list response.

If the service exposes an OpenAI-compatible model-list route, inspect https://api.cheapapirelay.com/v1/models using your authorization header. If that route is unavailable, consult the documented catalog instead; a missing list route does not prove that inference is unavailable.

Check whether the identifier is enabled for your account and supported by the endpoint you selected. A model can exist in a catalog without supporting every operation. Avoid guessing suffixes, version numbers, or provider prefixes.

05 / Send one tiny request outside your application

Temporarily bypass agents, plugins, conversation history, and retry middleware. Use a local HTTP client to send one request directly. For a documented chat-completions-compatible model, the following JSON is a small starting point:

{"model":"PASTE_EXACT_API_ID","messages":[{"role":"user","content":"Reply OK."}],"max_tokens":8}

POST it to the /v1/chat/completions URL with Content-Type: application/json and Authorization: Bearer YOUR_KEY. Substitute the key locally, not in shared notes. Confirm that the selected model supports max_tokens; if its documentation specifies another output-limit field, use that instead.

This is a diagnostic request, not a universal template. If the model requires another endpoint or schema, follow that documentation rather than forcing this payload through.

06 / Use the result to choose the next cheapest check

  • ■ If the tiny request succeeds, compare your application’s actual outgoing URL and model value. Look for stale environment variables, defaults, or configuration overrides.
  • ■ If the same error remains, recheck the identifier, endpoint compatibility, and account access. Send support the redacted response and request ID.
  • ■ If the error changes to authentication, balance, or parameter validation, investigate that new message before changing models again.

Do not treat unsuccessful requests as automatically free. Verify billing behavior and inspect usage records where available.

07 / Keep the fix cheap after the first success

Restore application features one at a time, keeping prompts short and output capped. CheapRelay bills per real token, including cache reads and writes, with no monthly fee or subscription. That makes token discipline useful even after routing works.

If this pay-as-you-go setup fits your budget, sign up for CheapRelay. Keep the working endpoint and model identifier in one configuration location, and leave retries disabled for deterministic configuration errors.

Sign up Try the prices yourself, sign-up credit included.

More reading

DateAisleWritten inTitle
2026-10-29Cheap how-tosEN$1 Budget: Build a Beginner Code Explainer
Build a reusable code explainer with a free API client, short prompts, and a $1 spending target. No hosting or subscription required.
2026-10-29Cheap how-tosEN$15 a Month: Move Your Hobby Project Off Free Tiers
A practical 2026 migration plan: budget $15, meter real usage, control retries, and move one service at a time.
2026-10-29Cheap how-tosEN$0.20 to $0.08: Stop Buying the Same AI Answer
Build a small local answer cache, skip repeat API calls, and measure savings without paying for another service.
2026-10-29Cheap how-tosENPay for 2 Examples Before You Pay for 10
A tiny-budget walkthrough for testing zero, one, two and four prompt examples, with token math and a practical stopping rule.
2026-10-29Cheap how-tosENA $1 Budget for Python Calls to 2 Models
Use one API key and Python to try two models, limit output, inspect token usage, and track spending against a $1 test budget.
2026-10-28Cheap how-tosEN$1 Budget: One Python Script, Two AI Models
Call two AI models with one key using Python, short prompts, explicit token limits, and a cautious $1 learning budget.