401 or 403
Check the key, Bearer prefix, account access and model group permissions.
Create a key for testing, use the shared Base URL, send one short request, then record the response, request ID and balance change. This workflow also helps you validate image, video and Chinese model integrations.
Register on the main site, add a small balance if required, and create a key that is separate from production credentials. Keep the key in an environment variable.
curl https://www.gpt345.com/v1/chat/completions -H "Authorization: Bearer $GPT345_API_KEY" -H "Content-Type: application/json" -d '{"model":"MODEL_ID","messages":[{"role":"user","content":"Reply with one short sentence."}]}'Replace MODEL_ID with the exact identifier shown in the model hub or dashboard. Do not invent punctuation or version aliases.
| Check | Evidence |
|---|---|
| Authentication | HTTP status and a non-empty response |
| Model routing | Returned model ID or request log |
| Billing | Usage fields, request ID and balance delta |
| Retry behavior | Do not resubmit a timed-out task until its status is known |
Image calls use an image-capable model and their own billing unit. Video calls are usually asynchronous: save the task ID, poll the status, and download only after a terminal success state.
Check the key, Bearer prefix, account access and model group permissions.
Copy the exact model ID from the current model page; also confirm that the path contains /v1 only once.
Check balance, key limits and concurrency. Save the request ID before changing the retry strategy.
Query the task status first. A client timeout does not prove that the upstream task was never created.