https://api.reflection.ai/openai/v1, implements the OpenAI Chat Completions and Models endpoints, and no others. Code that uses only those endpoints, through the OpenAI SDKs or a framework built on them, works after you change two settings:
OPENAI_BASE_URL and OPENAI_API_KEY environment variables. A tool that uses Chat Completions can often switch without code changes; a tool that calls another endpoint, such as Responses, will not work:
Supported endpoints
Supported features
- Text messages with
system,developer,user,assistant, andtoolroles - Streaming, including
stream_options.include_usage - Tool calling, with
tool_choiceandparallel_tool_calls - Structured outputs with
json_objectandjson_schema temperature,top_p,frequency_penalty,presence_penalty,max_completion_tokens,max_tokens(deprecated), andseedreasoning_effort
Differences
Parameters with fixed values
These parameters are accepted only at the value shown. Any other value returns a400 error with code unsupported_value.
Stop sequences
stop is accepted, as a string or an array of up to four strings, but has no effect: generation doesn’t stop at these sequences. If you need to end output at a sequence, truncate the text in your code.
Reasoning effort
Each model accepts only thereasoning_effort values listed in its reasoning.supported_efforts, and any other value returns a 400 error with code unsupported_value. Beam-501B-A23B accepts low, medium, high, xhigh, and max, and applies medium when a request omits reasoning_effort. It always reasons, so there is no value such as none that turns reasoning off. See Reasoning.
Other parameters
Parameters that aren’t listed in the API reference, such astop_logprobs, audio, prediction, user, or metadata, aren’t supported and return a 400 error with code unsupported_parameter. If a framework sends one of these by default, turn it off in the framework’s settings.
Input
Message content is text only: a string, or an array oftext parts. Image, audio, and file inputs are not supported.
Additions
The API returns some fields that OpenAI’s API does not:Errors
Errors use the same{"error": {"message", "type", "param", "code"}} shape, so SDK exception handling works unchanged. Some code values are specific to Reflection; see Errors.