Skip to main content

Common Questions

Confirm the API request and client configuration first, then move on to a specific error.

API requests

How do I confirm that the API Key was copied completely

A Key is usually shown in full only once. Copy it to a secure local place and check for leading or trailing spaces, line breaks, or smart quotes. If the full value is no longer visible, disable the old Key and create a replacement instead of guessing.

Should I test the software or curl first

Test curl first. It keeps the address, Key, model, and request body explicit, which rules out client cache, plug-ins, and environment inheritance.

Why does curl work but the software fail

Check the Provider type, Base URL level, API Key, and Model fields, then create a new conversation or restart the client.

What is the difference between a Base URL and a full Endpoint

A Base URL is the protocol root and the client appends the path. A full Endpoint already includes the specific operation path.

Why is the model list empty

Many clients do not fetch third-party model lists. If the Key and Base URL are correct, copy YOUR_MODEL from models and pricing and enter it manually.

How do I tell whether the account or quota is insufficient

If the request returns 403 or 429 after the Key, model, and path are confirmed, check the account status, quota, and current model availability in the portal. Do not rely on an old screenshot in public documentation.

Isolate the issue with a minimal request

Keep the URL, Key, model, and body fixed and send one short message. If curl succeeds, the problem is usually in the client configuration or an old session; if it fails too, use the HTTP status to open Error Fixes.

Client and local environment

Command not found

  • Symptom: The client or terminal usually shows “Command not found”, or saves the setup but still fails requests.
  • Cause: The terminal cannot find claude, codex, or gemini, usually because the install location is not on PATH or the old terminal has not refreshed.
  • Checks:
    1. Inspect the command, environment variables, Provider, Base URL, Key, and model from the same session that starts the client.
    2. Close old sessions and processes, then restart so the new setup is loaded.
    3. Compare the final URL with the Quickstart table before changing advanced options.
  • Fix: Open a new terminal and run the version command. If it still fails, reinstall from the official source and avoid unknown mirrors.
  • Verify: Restart the client and send a short message. Recovery requires normal content with the expected URL, model, and authentication.

Environment variables do not apply

  • Symptom: The client or terminal usually shows “Environment variables do not apply”, or saves the setup but still fails requests.
  • Cause: The variables were set in one terminal, but the app starts from another old window, desktop shortcut, or background process.
  • Checks:
    1. Inspect the command, environment variables, Provider, Base URL, Key, and model from the same session that starts the client.
    2. Close old sessions and processes, then restart so the new setup is loaded.
    3. Compare the final URL with the Quickstart table before changing advanced options.
  • Fix: Print the variables in the same terminal that starts the app, then close old sessions and reopen after setting them.
  • Verify: Restart the client and send a short message. Recovery requires normal content with the expected URL, model, and authentication.

Saved settings still use the default service

  • Symptom: The client or terminal usually shows “Saved settings still use the default service”, or saves the setup but still fails requests.
  • Cause: The client may cache the previous Provider, or the active conversation did not switch to the new setup.
  • Checks:
    1. Inspect the command, environment variables, Provider, Base URL, Key, and model from the same session that starts the client.
    2. Close old sessions and processes, then restart so the new setup is loaded.
    3. Compare the final URL with the Quickstart table before changing advanced options.
  • Fix: Create a new conversation or restart the client, then confirm Provider, Base URL, Key, and model all come from the PopGo setup.
  • Verify: Restart the client and send a short message. Recovery requires normal content with the expected URL, model, and authentication.

Model unavailable

  • Symptom: The client or terminal usually shows “Model unavailable”, or saves the setup but still fails requests.
  • Cause: The model ID spelling, access scope, or live availability changed.
  • Checks:
    1. Inspect the command, environment variables, Provider, Base URL, Key, and model from the same session that starts the client.
    2. Close old sessions and processes, then restart so the new setup is loaded.
    3. Compare the final URL with the Quickstart table before changing advanced options.
  • Fix: Copy the model ID again from models and pricing, then verify with a minimal request instead of typing from an old screenshot.
  • Verify: Restart the client and send a short message. Recovery requires normal content with the expected URL, model, and authentication.

npm global install permission error

  • Symptom: The client or terminal usually shows “npm global install permission error”, or saves the setup but still fails requests.
  • Cause: Windows may lack installation permission, while macOS/Linux may have a non-writable global directory because of the Node.js installation method.
  • Checks:
    1. Inspect the command, environment variables, Provider, Base URL, Key, and model from the same session that starts the client.
    2. Close old sessions and processes, then restart so the new setup is loaded.
    3. Compare the final URL with the Quickstart table before changing advanced options.
  • Fix: On Windows, reopen an elevated PowerShell when appropriate. On macOS/Linux, prefer the official method or a package manager so the global directory belongs to the current user; do not rely on sudo npm install -g long term.
  • Verify: Restart the client and send a short message. Recovery requires normal content with the expected URL, model, and authentication.

Claude Code asks for an official account login

  • Symptom: The client or terminal usually shows “Claude Code asks for an official account login”, or saves the setup but still fails requests.
  • Cause: Claude Code did not read the environment variables and fell back to its official login flow.
  • Checks:
    1. Inspect the command, environment variables, Provider, Base URL, Key, and model from the same session that starts the client.
    2. Close old sessions and processes, then restart so the new setup is loaded.
    3. Compare the final URL with the Quickstart table before changing advanced options.
  • Fix: Check ANTHROPIC_BASE_URL and ANTHROPIC_AUTH_TOKEN in the same terminal, close old windows, restart the tool, and run claude doctor.
  • Verify: Restart the client and send a short message. Recovery requires normal content with the expected URL, model, and authentication.

Codex reports an authentication error

  • Symptom: The client or terminal usually shows “Codex reports an authentication error”, or saves the setup but still fails requests.
  • Cause: The local setup cannot read POPGO_API_KEY, or the Provider name, model_provider, and env_key in config.toml do not correspond.
  • Checks:
    1. Inspect the command, environment variables, Provider, Base URL, Key, and model from the same session that starts the client.
    2. Close old sessions and processes, then restart so the new setup is loaded.
    3. Compare the final URL with the Quickstart table before changing advanced options.
  • Fix: Confirm the variable is exactly POPGO_API_KEY, then check that model_provider = popgo matches model_providers.popgo.
  • Verify: Restart the client and send a short message. Recovery requires normal content with the expected URL, model, and authentication.

Base URL returns 404

  • Symptom: The client or terminal usually shows “Base URL returns 404”, or saves the setup but still fails requests.
  • Cause: The app may append a path to the value you entered, producing /v1/v1 or a duplicated full Endpoint.
  • Checks:
    1. Inspect the command, environment variables, Provider, Base URL, Key, and model from the same session that starts the client.
    2. Close old sessions and processes, then restart so the new setup is loaded.
    3. Compare the final URL with the Quickstart table before changing advanced options.
  • Fix: Use the Base URL levels table in Quickstart: enter the protocol root in a Base URL field and a full path only in a full Endpoint field.
  • Verify: Restart the client and send a short message. Recovery requires normal content with the expected URL, model, and authentication.

Certificate or SSL error

  • Symptom: The client or terminal usually shows “Certificate or SSL error”, or saves the setup but still fails requests.
  • Cause: Common causes include a local proxy, company network interception, an incorrect system clock, or a broken certificate chain.
  • Checks:
    1. Inspect the command, environment variables, Provider, Base URL, Key, and model from the same session that starts the client.
    2. Close old sessions and processes, then restart so the new setup is loaded.
    3. Compare the final URL with the Quickstart table before changing advanced options.
  • Fix: Do not disable TLS verification. Check the system clock, test without the local proxy or on another network, and inspect HTTPS interception by security software.
  • Verify: Restart the client and send a short message. Recovery requires normal content with the expected URL, model, and authentication.

How is reference audio different from output sound?

generate_audio controls the output track; it does not establish audio-reference support. Capability drives the video/audio, video-only or audio-only label. Video-reference mode requires a video; audio-only mode requires audio.

Why does C offer audio references but no video?

C explicitly excludes video input; a zero video limit cannot be bypassed by leaving it blank. It accepts up to 3 reference audio files. Kling's audio description does not publish reference-input fields, so audio references remain closed; Grok also excludes them.

Does pasting online media always preserve a public source?

Pasting an explicit HTTP(S) media URL retains it; copying only binary data remains local. Generated media is public only when sourceUrl is retained. Click Local/Public to inspect the source. Public does not guarantee service access; models excluding Base64 need an accessible URL.

Why can a task ID exist without an effective reference?

ID proves acceptance only. Inspect mode, outgoing fields, download and final media. First-frame and ordinary references differ. An ignored incorrect field can still lead to generation and charges. See Video task workflow and the model page.

  1. Record the full error first: HTTP status, request path, client, and timestamp.
  2. Reproduce it with the minimal curl request from Quickstart to separate the Key, model, URL, and client.
  3. Change one variable at a time. Verify a short text request before restoring streaming, tools, or media parameters.