start here03 / 14
Troubleshooting
Works from the symptom to the cause — and never asks for a credential to do it.
apipod-troubleshootSKILL.md on GitHub
When to use it, and when not to
when to use it
- A call failed: no tools listed, a sign-in loop, a 401, insufficient balance, a rejected parameter.
- A job has been sitting in processing and nobody is sure whether to wait or retry.
- The result came back but looks wrong in a way the user cannot name.
not for
- apipod-setup — Nothing has failed yet — that is a first run, not a repair.
- apipod-generate-image — The result is wrong, not broken — that is a prompt problem.
procedure
5 skillsWhat the skill does, in order.
- 01
Get the exact error text first
Before theorising. An error code narrows the search faster than any amount of guessing.
- 02
Separate "no tools" from "tools that fail"
Plugin installed but no tools means the server is not connected: give that host's click path. No plugin at all means the URL went to the wrong place.
- 03
Check discovery before blaming the client
GET /oauth-protected-resource/mcp should return resource: https://api.apipod.ai/mcp. A 404 means the client is holding a stale URL.
- 04
Re-read the schema when a parameter vanishes
Unknown keys are dropped silently. Fetch get_model_params again and compare the field name and enum exactly, then confirm the setting appears in the response.
- 05
Report a suspected server bug without credentials
Tool name, arguments sent, exact error text, job_id, approximate time. Request-log entries for MCP appear with path=/mcp in the console.
try it
Send it from here
example request
My video job vid_7f3a9c has been pending for ten minutes. Diagnose what's wrong.
The buttons open a new chat with this prompt prefilled. If APIPod is not connected yet, the prompt tells your assistant to stop and help you connect first. In Claude Code or a terminal, copy the prompt instead.
Not set up yet? Wiring guides for Claude, ChatGPT, Codex and more →
call trace
check_job (job_id: "vid_7f3a9c")
→ status: processing · 1–5 min is normal
get_model_params (re-check the failed call's fields)
→ names and enums copied verbatim
Illustrative: the tools this skill runs, in order, for the request on the left. Prices appear the way estimate_cost returns them live — this page itself quotes nothing.
what it will not do
The rules it holds itself to.
01
Never ask the user to paste an access token. It is a credential and the diagnosis does not need it.
02
Do not start a second generation to "unstick" a job. A job that never leaves processing eventually times out server-side and is refunded.
03
A redirect host that is not allowlisted is an operator change. Report the exact host; do not work around it.