Developers

Build a SchneeAI request. Copy runnable code.

Configure your model, prompts, and sampling parameters once — export curl, Python, TypeScript, and Go side by side. Inputs persist in localStorage; nothing leaves your browser.

The builder below writes the request for you. Pick a model alias, fill in the prompts, tune the sampling parameters, and switch tabs to see the same call in four languages. Copy drops a snippet into your clipboard — paste it into a terminal or your codebase and run.

Everything here is client-side. The form state is saved to your browser’s localStorage; we do not transmit it.

Design-partner phase. The snippets reference https://api.schneeai.com, which is activated at general availability. Design partners receive a partner-specific endpoint at onboarding — replace the hostname in any generated snippet with your partner endpoint before running.

What each field does

  • Model — the model alias SchneeAI resolves. The catalog seeds gpt-4o / gpt-4o-mini, claude-sonnet-4 / claude-haiku, gemini-2.5-pro / gemini-2.5-flash, deepseek-chat / deepseek-reasoner, and the schneeai-flash / schneeai-standard / schneeai-pro tier aliases. "model": "auto" — where the router picks based on routing policy — is on the roadmap; see Failover design. Pick Custom model to type a fine-tune or self-hosted alias verbatim.
  • System prompt (optional) — prepended as a system message. Use it for persona, instructions, and output format. Omit entirely if your prompt is self-contained.
  • User message — the primary instruction or question. Required; the placeholder <your instruction> is used if you leave it blank, so the snippet still parses.
  • Temperature — sampling temperature, 0 to 2. Lower is more deterministic; above ~1.2 gets creative (and often worse).
  • Max tokens — hard cap on completion length. Pair with temperature: 0 and a low cap for classification tasks.
  • Stream — toggles stream: true. curl outputs raw SSE; the Python / TypeScript / Go snippets include the non-streaming parse path as the simpler default.

Patterns the snippets follow

  • Auth via env var — every snippet reads $SCHNEEAI_API_KEY (shell), os.environ['SCHNEEAI_API_KEY'] (Python), process.env.SCHNEEAI_API_KEY (TypeScript), or os.Getenv("SCHNEEAI_API_KEY") (Go). Never inline tokens in source.
  • OpenAI-compatible shape — request body matches OpenAI’s /v1/chat/completions. Anything you’d send to OpenAI works against SchneeAI unchanged.
  • Explicit timeouts60s on Python, default http.DefaultClient in Go (override in production).
  • Error handling left to you — the snippets raise/throw on non-2xx, but production code should retry on 429/500/502/503/504 with exponential backoff and jitter. See Error Handling.

When to pin a specific alias

During the design-partner stage, pin a specific alias such as gpt-4o-mini — the router that resolves "model": "auto" is on the roadmap (see Failover design). Today, alias pinning is the only path; you can switch the alias in one config edit when the router lands. Pin deliberately when:

  • You need deterministic capability (e.g., tool calling with a specific frontier model).
  • You’re A/B testing models and need stable assignment.
  • You’re hitting a budget cap and want a known-cheap option.

Next steps

  • Tutorial — full walkthrough: streaming, named prompts, retries, cost tracking.
  • Model Directory — every model the Gateway routes to, with effective pricing.
  • Cost Calculator — estimate per-request and monthly spend before you ship.
  • LLM Pricing Benchmark — compare per-token prices across providers.
  • Prompt Templates — production-ready prompts for summarization, RAG, code review, extraction, and PII masking.

$SCHNEEAI_API_KEY is your service token. Never expose it in client-side code.