Creekside Get a key

OpenAI SDKs

Checked against the OpenAI SDKs' docs on 2026-10-11

The official OpenAI SDKs for Python and JavaScript work unchanged: give the client our base URL and your key, and name the model.

Base URL
https://api.creeksidecompute.ai/v1
API
Chat Completions, and Responses without stored state
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
In CREEKSIDE_API_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. Install the SDK: pip install openai, or npm install openai.

  4. Point the client at Creekside. In Python:

    Python
    import os
    from openai import OpenAI
    
    client = OpenAI(
        base_url="https://api.creeksidecompute.ai/v1",
        api_key=os.environ["CREEKSIDE_API_KEY"],
    )
    
    response = client.chat.completions.create(
        model="qwen/qwen3.8-27b",
        messages=[{"role": "user", "content": "Explain prefix caching."}],
    )
    print(response.choices[0].message.content)

    In JavaScript or TypeScript:

    JavaScript
    import OpenAI from "openai";
    
    const client = new OpenAI({
      baseURL: "https://api.creeksidecompute.ai/v1",
      apiKey: process.env.CREEKSIDE_API_KEY,
    });
    
    const response = await client.chat.completions.create({
      model: "qwen/qwen3.8-27b",
      messages: [{ role: "user", content: "Explain prefix caching." }],
    });
    console.log(response.choices[0].message.content);

    Streaming works as usual. With stream_options={"include_usage": True} the last chunk carries the token counts, with an empty choices list.

Thinking

Thinking is off unless you ask for it. Pass reasoning_effort: "low", "medium" and "high" turn it on, "none" and "minimal" keep it off. Both SDKs send the field for any model.

The thinking comes back in message.reasoning, or delta.reasoning when streaming, a field the SDK types do not declare. In Python, read it with getattr. In TypeScript, put // @ts-expect-error above the line that reads it. Thinking tokens are billed as output.

Python
response = client.chat.completions.create(
    model="qwen/qwen3.8-27b",
    messages=[{"role": "user", "content": "Is 391 a prime number?"}],
    reasoning_effort="medium",
)
message = response.choices[0].message
print(getattr(message, "reasoning", None))  # the thinking
print(message.content)  # the answer

Muse Glimmer 30B always reasons before it answers, so reasoning_effort sets how long, not whether. Without it, the model reasons briefly, as at "low"; "medium", "high" and "xhigh" make it reason longer, and "none" and "minimal" act as "low". The reasoning counts toward max_tokens, so leave it room.

What does not work

  • Stored Responses state. client.responses.create works, but nothing is kept between calls: previous_response_id, conversations and background responses are refused. Send the whole conversation in input.
  • Hosted tools. Web search, file search, code interpreter and image generation run at OpenAI. Your own function tools work.
  • Other endpoints. Embeddings, images, audio, files, batches and fine-tuning are not served. We serve /v1/models, /v1/chat/completions, /v1/completions and /v1/responses.
  • Images in messages, on the Qwen models. They are listed for text only. Muse Glimmer 30B reads images sent as image_url parts with base64 data URLs.

Troubleshooting

AuthenticationError: 401 invalid API key
The key is wrong, or CREEKSIDE_API_KEY is not set where the code runs. To test the key alone: curl -s https://api.creeksidecompute.ai/v1/models -H "Authorization: Bearer $CREEKSIDE_API_KEY".
NotFoundError: 404 model … is not served
The model id is wrong. Use qwen/qwen3.8-27b exactly. GET /v1/models lists every id we serve. A 404 on the path itself means an endpoint we do not serve.
BadRequestError: 400 maximum context length is 131072 tokens
The prompt is longer than the model's window. Drop or summarise the oldest turns and send it again.
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: openai-python, openai-node.