Skip to main content
POST
cURL

Overview

The Chat Completions API is fully compatible with OpenAI’s chat completions specification, supporting both text-only and multimodal (image) requests. Use it to generate responses from Isaac 0.1. Isaac 0.1 triggers grounding through <hint>...</hint> tags inside a system-role message. Reasoning and Focus are not supported on Isaac 0.1 — see Isaac 0.2 for those.

<hint> system messages

Place hint values inside a system-role message.

Example: Grounded detection

Example: Points

Example: OCR without hints

For free-form text tasks like OCR, no hint is needed — just send your prompt.

Streaming

Set "stream": true to receive Server-Sent Events (SSE). To get token usage, also set stream_options.include_usage: true — when enabled, usage is attached to the final chunk (the one with finish_reason: "stop"), immediately before data: [DONE].

Best Practices

  1. Reasoning and Focus are not supported on Isaac 0.1. Including <hint>THINK</hint> or <hint>FOCUS</hint> has no effect. For those capabilities, use Isaac 0.2 or Perceptron Mk1.
  2. Leave temperature unset. The default is 0.0 (deterministic). Only set a non-zero value if you want more varied outputs.
  3. Image format: HTTP(S) URLs and base64 data URLs are both supported. MIME types: image/png, image/jpeg, image/webp.
  4. Token limits: 8K context.

Limits

For large images, resize client-side before uploading. See the Tokenization guide for optimization tips.

Authorizations

Authorization
string
header
required

Bearer token authentication using your Perceptron API key

Body

application/json
messages
object[]
required

Conversation history listed in order. Supported roles: system, user, assistant.

Author role of the message as defined by the OpenAI Chat Completions spec.

model
string
required

The model to invoke. Available options: isaac-0.1, isaac-0.2-1b, isaac-0.2-2b-preview, perceptron-mk1.

frequency_penalty
number<float> | null

Positive values discourage the model from repeating previously used tokens.

Required range: -2 <= x <= 2
max_completion_tokens
integer<int32> | null

Maximum number of completion tokens to generate.

Model-specific limits:

  • Isaac 0.1: The combined total of input tokens and output tokens must not exceed 8192 tokens.
Required range: x >= 0
presence_penalty
number<float> | null

Positive values encourage the model to introduce new concepts.

Required range: -2 <= x <= 2
regex
string | null

Regex pattern for constrained generation.

response_format
object

An object specifying the format that the model must output. Setting to { "type": "json_schema", "json_schema": {...} } enables Structured Outputs which ensures the model will match your supplied JSON schema.

stream
boolean | null
default:false

Set to true for SSE streaming. When omitted, the API returns a single JSON response.

stream_options
null | object

Optional streaming flags. Token usage is always reported in the final chunk of a streaming response.

temperature
number<float> | null

Sampling temperature. Lower values yield deterministic replies; higher values explore more creative outputs.

Model-specific recommendations:

  • Isaac 0.1: Default and recommended value is 0.0.
Required range: 0 <= x <= 2
top_k
integer<int32> | null

Top-k sampling. The model samples from the top k most likely tokens.

Required range: x >= 0
top_p
number<float> | null

Nucleus sampling probability. The model samples from the smallest token set whose cumulative probability exceeds this threshold.

Required range: x <= 1
vision_config
null | object

Perceptron vision-model controls (thinking, spatial output format, internal-tool toggles). Only supported on Perceptron-owned models.

Response

Chat completion generated successfully.

Non-streaming response body when stream=false.

choices
object[]
required
created
integer<int64>
required
Required range: x >= 0
id
string
required
model
string
required
object
string
required
usage
null | object

Token accounting emitted with every completion.