Qwen3.8-27B β€” Read Me

Qwen3.8-27B

A free, OpenAI-compatible endpoint for Qwen's newest 27B β€” vision input, tool calling, 262,144-token context, and reasoning you can dial up or down. No API key, no signup.

27B DENSE Β· HYBRID ATTENTION 262,144-TOKEN CONTEXT VISION INPUT 1Γ— H200 Β· vLLM APACHE-2.0

The Endpoint

A free, public Hugging Face Inference Endpoint for Qwen/Qwen3.8-27B β€” an OpenAI-compatible Chat Completions API. No Hugging Face token required: point any OpenAI SDK, curl, or agent framework at the base URL and go.

Released August 5, big agentic jumps over Qwen3.6-27B: OSWorld-Verified 84.3 (vs 63.9), SWE-bench Pro 61.7 (vs 53.5). Unquantized BF16 on a dedicated H200.

!

This is a Community Endpoint

Shared, free, and rate-limited to be fair to everyone: about 30 requests in a burst, refilling to roughly 30 requests/minute, per IP. Parallel agent tool-calls are fine β€” hammering it from a script is not. Over the limit you'll get a 429 with a friendly note and a Retry-After header. It will be retired after the launch buzz cools down.

Terminal β€” Quickstart

Getting Started

One base URL, standard OpenAI API, model id Qwen/Qwen3.8-27B. Any string works as the API key.

endpoint URL
https://g9hnto0u7lvbu837.us-east-2.aws.endpoints.huggingface.cloud/v1
Terminal β€” curl
curl https://g9hnto0u7lvbu837.us-east-2.aws.endpoints.huggingface.cloud/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "Qwen/Qwen3.8-27B",
    "messages": [{"role": "user", "content": "Explain a KV cache in one paragraph."}]
  }'
quickstart.py
from openai import OpenAI

client = OpenAI(
    base_url="https://g9hnto0u7lvbu837.us-east-2.aws.endpoints.huggingface.cloud/v1",
    api_key="none",  # no key required
)

r = client.chat.completions.create(
    model="Qwen/Qwen3.8-27B",
    messages=[{"role": "user", "content": "Three fun facts about lighthouses?"}],
    temperature=1.0,
    top_p=0.95,
)
print(r.choices[0].message.reasoning)  # the thinking trace
print(r.choices[0].message.content)    # the final answer

Streaming, tool calling (tools=[...]), and multi-turn tool round trips all work as in the OpenAI API. Recommended sampling with thinking on: temperature=1.0, top_p=0.95, top_k=20.

Chat With It

Prefer a UI?

There's a full chat-ui front end running on this same endpoint — thinking, vision, and tool calls all wired up. No account needed.

Thinking & Vision

Reasoning, Dialable

Thinking is on by default. The reasoning trace comes back separately in message.reasoning; your message.content stays clean. Dial it with the standard reasoning_effort field: xhigh, medium, low (default when unset), or none to turn thinking off entirely. OpenAI-style values like high are accepted and mapped to the nearest tier. On this shared instance an unset effort means low to keep queues short under heavy load; ask for medium or xhigh explicitly when you want deeper reasoning.

Recommended sampling per mode (from the model card).
Modetemperaturetop_ptop_kpresence_penalty
Thinking (default)1.00.95200.0
Non-thinking (reasoning_effort="none")0.70.80201.5

It Can See

Native vision: send images the standard OpenAI way, up to 4 per request (video input is disabled on this shared instance).

vision.py
r = client.chat.completions.create(
    model="Qwen/Qwen3.8-27B",
    messages=[{"role": "user", "content": [
        {"type": "image_url", "image_url": {"url": "https://example.com/photo.jpg"}},
        {"type": "text", "text": "What is in this image?"},
    ]}],
)
print(r.choices[0].message.content)

Multi-turn note: prior turns' thinking is preserved in context by default (preserve_thinking), which helps agentic flows but eats context in long conversations. Pass extra_body={"chat_template_kwargs": {"preserve_thinking": False}} for classic strip-old-thinking behavior.

Terminal β€” pi (pi-mono)

Wiring It Into pi

pi reads custom model providers from ~/.pi/agent/models.json. Add a provider entry pointing at this endpoint's OpenAI-compatible base URL, then select it from the CLI.

~/.pi/agent/models.json
{
  "providers": {
    "hf-qwen38": {
      "name": "Qwen3.8-27B (HF public)",
      "baseUrl": "https://g9hnto0u7lvbu837.us-east-2.aws.endpoints.huggingface.cloud/v1",
      "api": "openai-completions",
      "apiKey": "not-needed",
      "compat": {
        "supportsReasoningEffort": true,
        "maxTokensField": "max_tokens"
      },
      "models": [{
        "id": "Qwen/Qwen3.8-27B",
        "name": "Qwen3.8-27B",
        "reasoning": true,
        "thinkingLevelMap": {
          "off": "none",
          "minimal": "low",
          "low": "low",
          "medium": "medium",
          "high": "xhigh",
          "xhigh": "xhigh"
        },
        "input": ["text", "image"],
        "contextWindow": 262144,
        "maxTokens": 32768,
        "cost": {"input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0}
      }]
    }
  }
}

Then run it β€” no restart needed, pi picks up models.json on launch:

Terminal β€” zsh
# interactive, thinking level high (maps to xhigh on the endpoint)
pi --provider hf-qwen38 --model Qwen/Qwen3.8-27B --thinking high

# one-shot, non-interactive, thinking off
pi -p --no-session --provider hf-qwen38 \
  --model Qwen/Qwen3.8-27B --thinking off \
  "Summarize this repo's README."

# add it to your Ctrl+P model cycle alongside others
pi --models "hf-qwen38/*,sonnet,haiku"

Same shape works for any OpenAI-compatible server β€” swap baseUrl for a local vllm serve or llama.cpp instance and keep the rest.

Get Info β€” Specs

This Deployment

ItemValue
ModelQwen/Qwen3.8-27B Β· Apache-2.0 Β· BF16 (unquantized)
Architecture27B dense VLM Β· 64 layers: 48Γ— Gated-DeltaNet linear attention + 16Γ— full attention (3:1)
Context window262,144 tokens (native, full window served)
ModalitiesText + images in (max 4/request), text out Β· video disabled
Hardware1Γ— NVIDIA H200 (141 GB), autoscales to 2 under load
EnginevLLM (vllm-openai:qwen38) Β· MTP speculative decoding (2 draft tokens, in-checkpoint head)
Measured~0.7 s first token Β· ~110 tok/s per stream idle (65 before MTP) Β· 50 concurrent requests verified
Rate limit~30 requests/min per IP Β· 429 + Retry-After when exceeded

Measured numbers are from this deployment's own verification batteries, not marketing. MTP enabled 2026-08-15 (~1.7Γ— decode speedup); note min_p and logit_bias are ignored under speculative decoding.

About This Hardware

Powered by Hugging Face Inference Endpoints

This whole thing β€” H200, vLLM, autoscaling, rate limiting β€” is one deploy form on Inference Endpoints: dedicated, production-grade deployments of any model on the Hub.

Pick a model, pick your hardware (CPU to multi-GPU H200), and get an OpenAI-compatible URL with autoscaling, scale-to-zero, and per-minute billing. No shared queues, no rate limits from strangers β€” your model, your GPUs.

7 windows Β· qwen3-8-27b Β· free while it lasts β€”