Skip to main content

Beam 1.0 API

reflection/beam-1.0/chat

Beam 1.0 from Reflection supports coding and long-running tool workflows. This chat API accepts text, provides a 1,048,576-token input budget and accepts max_tokens up to 943,718. Stream Beam 1.0’s text as it arrives, or let a function-call result supply the evidence for the next step in long coding sessions with Beam 1.0.

Input $1Output $3per 1 million tokensCached input $0.10

Workbench

Send a request

Quickstart

Examples use the selected endpoint’s public parameter definitions. Replace the API key and example media, then send the request from your server.

SDKs & integrations
POSThttps://api.spicyapi.ai/v1/chat/completions

API authentication

Keep the API key in the server environment variable SPICY_API_KEY. Use Bearer authentication and Content-Type: application/json for JSON requests.

Authorization: Bearer $SPICY_API_KEY
curl --fail-with-body -sN https://api.spicyapi.ai/v1/chat/completions \
  -H "Authorization: Bearer $SPICY_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "model": "reflection/beam-1.0/chat",
  "messages": [
    {
      "role": "user",
      "content": "Summarise the following release notes into three bullet points."
    }
  ],
  "stream": true
}' \
  | jq --unbuffered -Rrj 'select(startswith("data: ")) | .[6:] | select(. != "[DONE]") | fromjson | if .error then "\n[error] \(.error.message)\n" else (.choices[0].delta.content? // empty) end'

Generated from this model’s input schema — the same one the API validates every request against.

Keep one Idempotency-Key for each logical request. After a network interruption, do not automatically resend with a new key; retain request_id to investigate the accepted request. Idempotency does not replay an earlier chat stream.

Input parameters

Place the model parameters directly in the JSON request body alongside model. This endpoint does not use an input wrapper.

messagesarray<object>Required

For long coding sessions with Beam 1.0, supply the conversation and the evidence as text in order, and connect each tool result to its original tool_call_id.

Default
Not specified
Constraints
minItems:1
maxItems:256
response_formatobjectOptional

Ask Beam 1.0 for text or structured JSON, then validate the JSON fields needed for long coding sessions with Beam 1.0 before your application uses them.

Default
Not specified
tool_choicestring | objectOptional

Choose auto, none, required or a specific function for Beam 1.0, then preserve the returned call ID when continuing long coding sessions with Beam 1.0.

Default
Not specified
parallel_tool_callsbooleanOptional

Allow Beam 1.0 to propose independent function calls together when long coding sessions with Beam 1.0 needs more than one external result.

Default
true
toolsarray<object>Optional

Give Beam 1.0 OpenAI-format function definitions for long coding sessions with Beam 1.0; the model proposes arguments and your application validates and executes the operation.

Default
Not specified
Constraints
maxItems:128
top_pnumberOptional

Use top_p as Beam 1.0’s nucleus-sampling control; when tuning long coding sessions with Beam 1.0, vary this or temperature separately so the change remains interpretable.

Default
Not specified
Constraints
minimum:0.01
maximum:1
temperaturenumberOptional

Beam 1.0 accepts temperature from 0 to 2; keep other sampling controls steady when comparing wording for long coding sessions with Beam 1.0.

Default
Not specified
Constraints
minimum:0
maximum:2
stopstring | arrayOptional

End Beam 1.0’s generated text at one supplied stop sequence or any of up to four; the matching sequence itself is left out of the answer.

Default
Not specified
Constraints
minLength:1
minItems:1
maxItems:4
reasoning_effortstringOptional

Beam 1.0 exposes low, medium, high, xhigh, max, starting at medium; compare effort settings on long coding sessions with Beam 1.0 because deeper reasoning can increase output tokens and waiting time.

Default
"medium"
Allowed values
"low""medium""high""xhigh""max"
max_tokensintegerOptional

Budget Beam 1.0’s visible answer and billable reasoning together in max_tokens; its default is 4096, its ceiling is 943718, and a larger cap does not alter the token rate.

Default
4096
Constraints
minimum:1
maximum:943718

Read the result

With stream set to false, the request returns the completed chat response directly. Read choices[].message; no task polling is needed. Set stream to true when your client supports Server-Sent Events.

Completed response example
{
  "id": "chatcmpl_example",
  "object": "chat.completion",
  "created": 1788652800,
  "model": "reflection/beam-1.0/chat",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Here is a concise summary of the release notes."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 32,
    "completion_tokens": 14,
    "total_tokens": 46
  }
}

The response example is illustrative. usage reports token counts; token counts and charges depend on your actual request.

SDKs & integrations

Use SpicyAPI in your app, terminal, AI assistant or visual workflow. Choose a setup guide below.

Use it in SillyTavern and roleplay apps

In SillyTavern, RisuAI, Agnai or any app with an OpenAI-compatible setting, paste the base URL below and your API key, then pick reflection/beam-1.0/chat as the model. Browser calls are allowed, and sliders this model does not take are ignored instead of rejected.

Base URL: https://api.spicyapi.ai/v1
Model: reflection/beam-1.0/chat

Use it in ComfyUI

Install the SpicyAPI nodes from ComfyUI Manager or with the command below, then pick reflection/beam-1.0/chat in the SpicyAPI Chat node to use this model inside a ComfyUI graph.

cd ComfyUI/custom_nodes
git clone https://github.com/spicyapi-ai/comfyui-spicyapi