AGPL-3.0-or-later · forever.

the provider catalog

Hugging Face

The open-weights hub as an inference provider: one token routes across a network of partner clouds, and a policy suffix on the model id picks fastest or cheapest. One provider/model line moves a workflow here or away again: the same file runs on every provider the catalog names, and swapping is a one-word diff. Machines read the catalog; the binary answers nika catalog.

  • 2pinned modelsaliases pin exact upstream ids
  • cloudfamilybring your own key; it rides an env var and stays yours
  • HF_TOKENthe key rides herean env var, never a config file
  • openai-chatwire dialectthe adapter speaks it

the wire

cloud · bring your own key; it rides an env var and stays yours

A workflow names this provider in the model line (model: huggingface/Qwen/Qwen3.5-397B-A17B:fastest), and the engine speaks openai-chat on the wire. The key rides HF_TOKEN in the environment, never a config file, never the workflow. The provider id also answers to hf.

default
Qwen/Qwen3.5-397B-A17B:fastest
cheap
Qwen/Qwen3.5-9B:cheapest
dialect
openai-chat
tags
function-calling · open-source · streaming

the models

2 pins

Aliases are what the file may write; the engine pins each one to an exact upstream id, so a run stays reproducible after a vendor rotates names.

  • defaultQwen/Qwen3.5-397B-A17B:fastestctx 262k · vision$0.6/M in · $3.6/M out
  • cheapQwen/Qwen3.5-9B:cheapestctx 262k · vision

prices are the ENGINE's, not ours: the audit's pricing snapshot (models.dev · pinned 2026-07-07): the same table nika check prices your ceiling with.

in the released catalog

2 rooms

The wire models this provider serves in the released binary's catalog · each one is a room with its seats, exact prices and measured energy.

the whole register: /catalog/models · what the released binary knows, vendored at the engine pin.

in a real file

a complete workflow · shown whole
huggingface.nika.yaml
nika: v1workflow:  id: open-weights-answer  description: "an open-weight model served by the provider network — policy rides the model id"tasks:  explain:    infer:      model: huggingface/Qwen/Qwen3.5-397B-A17B:fastest      max_tokens: 120      prompt: |        In two sentences: why do open weights turn a provider        catalog into a menu instead of a cage?outputs:  answer: ${{ tasks.explain.output }}

check-green against the released engine · 1 task · 1 wave · worst-case ceiling $0.0004 · the drift gate re-proves this copy on every test run · open it in the playground →

  1. 1Create a fine-grained token with the Inference Providers permission.
  2. 2The token rides the environment, never the file export HF_TOKEN=…

Pick it for open-weight models without owning the serving stack. Then prove the seat: nika doctor names every provider this binary can reach.

swap it

10 more cloud seats

Moving off Hugging Face is editing one line. The rest of the file (tasks, permits, outputs, the trace) does not change. The register orders the catalog local first; beyond it the engine embeds 21 more OpenAI-compatible endpoints.

Try it in the playground, or install and go local first. Read the spec →