https://inference.hetzner.com/api/v1. GoModel routes chat, model listing, and
passthrough requests through the shared OpenAI adapter. The /v1/responses endpoint is
translated through chat completions. Files, batches, and embeddings are not supported —
Hetzner exposes no /v1/embeddings endpoint. Embedding requests fail fast with a typed
“not supported” error; no upstream call is made.
Passthrough is a generic forwarder: it sends any path you give it to Hetzner
unchanged. Hetzner’s tolerance for arbitrary upstream paths is unverified while the
API is experimental — expect HTTP 404 or 405 for paths outside
/v1/models,
/v1/completions, and /v1/chat/completions. hetzner is in the default
ENABLED_PASSTHROUGH_PROVIDERS allowlist, so /p/hetzner/... routes work
without operator opt-in.Configure
Create an API token in the Hetzner Experiments console and set:config.yaml:
The model ID above is the example from the
official Hetzner inference docs
(checked 2026-08-17). The catalogue is experimental and changes; confirm the current
IDs with
GET /v1/models before you copy the example.Models
The model catalogue changes while the experiment runs. Query the live list instead of relying on documentation snapshots:/v1/models endpoint once the provider
is configured. Vision-capable models accept OpenAI-standard image_url content parts
unchanged.
Rate limits
Hetzner enforces per-key rate limits on input tokens and output tokens. Exceeding either limit returns HTTP 429. The documented windows are 3M input tokens / 60k output tokens per 60s and 500M input / 5M output per 24h. The exact values change while the experiment runs, so check the official inference docs for the current numbers. Prefer conservative retry settings:Pricing
The API is free of charge while it remains in experimental status. Hetzner states it will notify users by email before billing begins. GoModel’s usage-cost tracking reportscost
as zero for Hetzner requests until upstream pricing exists, so cost load-balancing cannot
rank this provider by price.