publik API

One key, every app, priced in dollars.

publik API is the model access built into the apps on publik. An app that needs an AI model starts on it the moment it is installed — no account, no key to paste — with a small starter balance. Everything is metered in dollars at the model's published list price and passed through at cost — chat, audio, embeddings and images alike, with no markup. The same key works from your own scripts through the OpenAI and Anthropic SDKs, pointed at one base URL.

Link a computer to your account and its usage shows up on your dashboard as a weekly bar, one line per app.

Plans

A plan releases usage every week, on a fixed 7-day cycle that starts when your account's wallet is created. Unused weekly usage does not carry over. A pack is usage that never expires, spent after the week's budget. Chat, audio, embeddings and images are all priced at the model's published list price, at cost.

Basic $8/month

$1.85 of usage each week

$8 of metered usage a month, released as $1.85 per 7-day window. Cancel any time; the current week runs out.

Pro $20/month

$4.62 of usage each week

$20 of metered usage a month, released as $4.62 per 7-day window. Cancel any time; the current week runs out.

Packs $20 · $50 · $100

One-off. Never expires. Spent last, after the weekly budget and any starter credit, at the same rate.

New installs start with $0.25, and linking a computer to your account adds $0.75 once. Starter credit expires 30 days after it is granted. Choose a plan from your dashboard. Why does it cost money?

Why it costs money

  1. 1

    The model is not free. A provider runs the AI model the app talks to and charges for every request. publik pays that bill so the app works the moment it is installed — no account, no key to paste.

  2. 2

    You pay what it costs, and publik adds nothing. Every line — chat, audio, embeddings and images — is metered at the model's published list price and passed through at cost. publik does not mark it up, and does not take a cut of what you use.

  3. 3

    Every new computer starts free. A fresh install gets free starter usage with no card and no account. Linking the computer to your account adds a little more, once.

  4. 4

    Nothing is charged behind your back. Usage only ever draws from a plan or a pack you chose to buy. When it runs out, the app tells you and keeps working with your own key.

  5. 5

    You can see every call. The dashboard lists each request, what it cost you, and what it would have cost at the provider's list price.

Models

Ask for a tier, not a vendor slug. Each tier names the model it is served by today; when the served model changes, your code does not. The vendor names below and the OpenAI and Anthropic names in the last column are accepted as aliases and served by the same tier — nothing is ever passed through raw.

TierServed byUse it forAlso answers to
publik-fastgpt-5.6-lunaQuick answers, cleanup, classification. The cheapest tier.gpt-4o-mini, claude-haiku-4-5
publik-balancedgpt-5.6-terraThe default. publik-default is a synonym.gpt-4o, claude-sonnet-4-5
publik-smartgpt-5.6-solThe strongest tier. Needs a computer linked to a publik account.claude-opus-4-1

Base URL

Point any OpenAI- or Anthropic-compatible client at https://publikhq.com/api/v1 and pass your key as Authorization: Bearer or x-api-key. Keys look like pk_live_…; an app on your computer has one already, and you can create one for your own scripts from the dashboard.

curl https://publikhq.com/api/v1/chat/completions \
  -H "Authorization: Bearer pk_live_…" \
  -H "Content-Type: application/json" \
  -d '{"model":"publik-balanced","messages":[{"role":"user","content":"Hello"}]}'

Endpoints

  • POST /chat/completionsOpenAI Chat Completions, streaming included
  • POST /responsesOpenAI Responses
  • POST /messagesAnthropic Messages, translated
  • POST /embeddingsat cost
  • POST /audio/transcriptionsat cost · files under 4 MB
  • POST /audio/speechat cost
  • POST /images/generationsat cost
  • GET /modelsthe tiers and every alias, OpenAI list shape
  • GET /walletbalance, this week's budget and usage, reset time

What every response tells you

Each metered call returns x-publik-* headers: the model that served it, your balance after it, this week's usage and budget, when the week resets, and what the call cost. When the balance is empty the answer is a 402 whose body carries exactly one link to fix it — a claim link for an unlinked computer, an add-credit link once linked.

Where your prompts go

Requests go through publik's servers to a shared model account. publik does not train on them and does not store request bodies beyond a 24-hour idempotency fingerprint; the model provider's own abuse-monitoring retention applies. Every app that uses publik API also offers a way to use your own key instead.

Request size

Keep requests under 4 MB. That includes base64-encoded images: resize a screenshot before you send it (about 1568 px on the long side as a JPEG is plenty). Audio files for transcription have the same limit; split longer recordings client-side.