Creekside Get a key

pi

Checked against pi's docs on 2026-10-11

pi connects as a custom provider: one entry in ~/.pi/agent/models.json with our base URL, your key and the model. This page is for pi, the terminal coding agent from pi.dev, published on npm as @earendil-works/pi-coding-agent.

Base URL
https://api.creeksidecompute.ai/v1
API
OpenAI Chat Completions
Model id
qwen/qwen3.8-27b, or qwen/qwen3.6-35b-a3b for speed, or meta/muse-glimmer-30b, which always reasons first
Context window
131072 tokens, up to 65536 of them output
Key
Make one at creeksidecompute.ai/account

Set it up

  1. Make a key. Sign in at creeksidecompute.ai/account with your email and make a key. Each request is paid from prepaid credit: top up by card from $10, or redeem a promotional code.

  2. Put the key in an environment variable. Add this line to your shell profile (for example ~/.zshrc), then open a new terminal:

    shell
    export CREEKSIDE_API_KEY=<your key>
  3. Add the provider. Put this in ~/.pi/agent/models.json:

    ~/.pi/agent/models.json
    {
      "$schema": "https://pi.dev/schemas/models.schema.json",
      "providers": {
        "creekside": {
          "name": "Creekside",
          "baseUrl": "https://api.creeksidecompute.ai/v1",
          "api": "openai-completions",
          "apiKey": "$CREEKSIDE_API_KEY",
          "compat": { "supportsDeveloperRole": false },
          "models": [
            {
              "id": "qwen/qwen3.8-27b",
              "name": "Qwen3.8 27B",
              "reasoning": true,
              "thinkingLevelMap": { "minimal": null },
              "input": ["text"],
              "contextWindow": 131072,
              "maxTokens": 65536
            },
            {
              "id": "qwen/qwen3.6-35b-a3b",
              "name": "Qwen3.6 35B A3B",
              "reasoning": true,
              "thinkingLevelMap": { "minimal": null },
              "input": ["text"],
              "contextWindow": 131072,
              "maxTokens": 65536
            },
            {
              "id": "meta/muse-glimmer-30b",
              "name": "Muse Glimmer 30B",
              "reasoning": true,
              "input": ["text", "image"],
              "contextWindow": 131072,
              "maxTokens": 65536
            }
          ]
        }
      }
    }

    "$CREEKSIDE_API_KEY" reads the key from the environment; without the $, pi would send the text itself as the key. supportsDeveloperRole: false sends pi's instructions as an ordinary system message. pi reloads the file when you open the model selector.

  4. Pick the model. Start pi with pi --model creekside/qwen/qwen3.8-27b, or press ctrl+l to choose it and ctrl+s to keep it as the default. To run one prompt and exit: pi --model creekside/qwen/qwen3.8-27b -p "Summarise this repository". For speed, use creekside/qwen/qwen3.6-35b-a3b instead, and for Muse Glimmer 30B, creekside/meta/muse-glimmer-30b.

Thinking

pi starts at its medium thinking level, so with this entry the model thinks unless you turn it off. Press shift+tab to cycle through off, low, medium and high, or start pi with --thinking off. To start with thinking off every time, add "defaultThinkingLevel": "off" to ~/.pi/agent/settings.json.

pi sends the level as reasoning_effort; at off it sends nothing, and the model answers directly. "minimal": null hides pi's minimal level, which the Qwen models treat as off. Thinking tokens are billed as output.

Muse Glimmer 30B always reasons before it answers, so pi's levels set how long, not whether: at off, minimal or low it reasons briefly, and medium, where pi starts, and high make it reason longer.

What does not work

  • Images, on the Qwen models. They are listed for text only, which is what their entries' "input": ["text"] tells pi. Muse Glimmer 30B reads images, so its entry lists "image" too.
  • Model discovery. pi does not read /v1/models; it lists only the models in models.json.
  • Cost display. Without a cost block pi shows the cost as zero. Your bill uses the prices in GET /v1/models.
  • A :thinking model id. pi reads a colon in --model as a thinking level, so use the thinking levels above instead.

Troubleshooting

401 invalid API key
The key is wrong, or pi did not get it. Set CREEKSIDE_API_KEY in the shell that starts pi, and restart pi after you change it. To test the key alone, curl -s https://api.creeksidecompute.ai/v1/models -H "Authorization: Bearer $CREEKSIDE_API_KEY" returns the model list when the key is good.
404 model … is not served
The model id is wrong. Use qwen/qwen3.8-27b exactly, in lower case, with the qwen/ prefix. GET /v1/models lists every id we serve. With --model, write creekside/qwen/qwen3.8-27b: the provider, then the id.
400 maximum context length is 131072 tokens
The conversation is longer than the model's window. Keep contextWindow at 131072 so pi compacts in time, then run /compact or start a new session.
402 or 429
A 402 means your prepaid credit does not cover the request: add credit at creeksidecompute.ai/account. A 429 means the key's rate, or the number of requests your account may run at once, is used up; agents that work in parallel reach that sooner. Wait and retry. The API reference lists the limits.

Other tools

Sources, read on 2026-10-11: models and providers, settings, keybindings.