start here01 / 14
The APIPod router
Reads the request, then hands it to the skill that fits — instead of improvising a call.
apipodSKILL.md on GitHub
When to use it, and when not to
when to use it
- The request mixes several things: an image, a quote, and a question about models in one message.
- The user says "make me an image" or "make a video" without naming a workflow.
- You need the routing table itself — which skill owns which request.
not for
- apipod-setup — Nothing is connected yet — that is a setup job, not a routing one.
- apipod-troubleshoot — A call already failed; work backwards from the symptom instead.
procedure
4 skillsWhat the skill does, in order.
- 01
Read the shared rules once
One read per task covers money, schemas, async jobs and delivery. Re-reading mid-task wastes context.
- 02
Classify the request
One image, one clip, an edit, a set, a sequence, or a cost question. The classification decides which skill runs; it is not a menu shown to the user.
- 03
Honor an explicit model name
If the named model is not in list_models, say so and offer the closest listed one. Silently swapping models is the fastest way to lose trust.
- 04
Stay here when the request has several parts
Run the pieces in order and reuse the schema lookups across them, rather than re-deriving get_model_params for every part.
try it
Send it from here
example request
Which image models can I use through APIPod, and what's left on my balance?
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
list_models (category: "image")
→ series grouped by price
get_balance ()
→ $—
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
One request authorizes one generation attempt. A complaint, a failed job, a refund, or your own judgement that the result is poor does not authorize another — ask.
02
Never claim completion from a job_id alone. Only check_job's status field says completed.
03
Prompts go to the model in English unless get_model_params documents otherwise; on-image text stays exactly as the user wrote it.