Your own provider keys
The endpoint runs a request in one of two ways.
On a model we supply. You send pirol/… as the model, we pay the provider, and you pay us.
Nothing else is needed.
On your own contract. You store an OpenAI or Anthropic key in the console, send that provider's model name, and the provider bills you directly. We charge nothing for the tokens — only for what is genuinely ours, such as transcription.
Both go through https://endpoint.pirol.ai, and the response shape is the same.
Storing a key
In the console, under Provider keys. The key is encrypted at rest and is only ever decrypted to make your request.
Once stored, that provider's models appear in /v1/models alongside ours, and you can
address them by their own names:
{ "model": "gpt-5-mini", "messages": [ … ] }
Why do it this way
What you get on top of talking to the provider directly:
- One place that logs what was spent, across providers
- One base URL in your code, whichever model you end up using
The straight-through case
You can also send a provider's key as the bearer token instead of a ep_live_… key. Then nothing
of ours is involved beyond passing it on: no usage record, no credit. It is a plain proxy, and
the provider's answer comes back untouched.