Skip to content
youbot
Docs menu

LLM models

GPT-5.6 Sol

On this page

GPT-5.6 — frontier reasoning and generation through one API.

modelIdgpt-5-6-sol
Modalitytext
PricingSee this model on the Pricing page for the current per-call price (with your markup).

Operations

OperationmodelIdEndpointRequired input
Defaultgpt-5-6-solPOST /api/v1/generateprompt
Poll task—GET /api/v1/task/{id}?model=gpt-5-6-sol—

Input parameters

FieldTypeRequiredValues / example
promptstringYesText value (example: Read this function signature: transfer(from, to, amount, opts). List every input that would make it behave in a way the caller did not intend, ordered by how… — full value in the request example)
web_searchbooleanNoWeb search feeds the results back as input tokens, so a searched turn typically costs many times a normal turn (measured: 6–87×). Billed per token as usual — nothing extra per search. (true/false) (example: false)
reasoning_effortstringNoControl reasoning depth: Low for faster responses, High for deeper analysis (options: Low | Medium | High | XHigh) (example: Medium)
streambooleanNoSend true to receive the reply as an event stream (Content-Type: text/event-stream). Omit it and you get a single JSON response — streaming is opt-in on this endpoint. (true/false) (example: true)
imagesstring[]NoUp to 4 images per message — JPEG, PNG, GIF or WebP, 5 MB each. Send each one as a data: URL or an https URL. Images are billed as input tokens. (image URL)
max_tokensnumberNoMaximum response length in tokens, reasoning included. Leave empty for the default of 4,096. (range 1-128000)
systemstringNoSystem instruction for the model. Defaults to "You are GPT-5.6 Sol, developed by OpenAI." when omitted.
messagesarrayNoA conversation instead of a single prompt: an array of { "role", "content" } objects, where role is user, assistant, system or tool (a function result, with tool_call_id); an assistant message may carry tool_calls instead of text — see tools. Send the whole conversation — we do not limit how many messages it has, and we do not drop old ones; the model's context window is the limit. Send prompt or messages, not both. Do not flatten a conversation into one prompt with "User:" / "Assistant:" labels — the model reads that as a single message, and a model using web search then searches for the whole block instead of your question.
toolsarrayNoFunctions the model may call, up to 64. Each is { "type": "function", "function": { "name", "description", "parameters" } } with parameters a JSON Schema object (the flat Responses form and Anthropic's { "name", "description", "input_schema" } are accepted too); strict: true is accepted. When the model calls one, the response carries toolCalls: run the function, then send the conversation back in messages with the assistant's tool_calls and one { "role": "tool", "tool_call_id", "content" } message per result — and the same tools again. Function calling cannot be combined with web search in the same request.
tool_choicestring | objectNoauto (the model decides; the default when tools is set), none (no call), required (at least one call), or { "type": "function", "function": { "name" } } to require that function.

Example request

bash
curl -X POST https://you.bot/api/v1/generate \
  -H "Authorization: Bearer $YOUBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"modelId":"gpt-5-6-sol","input":{"prompt":"Read this function signature: transfer(from, to, amount, opts). List every input that would make it behave in a way the caller did not intend, ordered by how likely a real caller is to hit it. For each, say what the function should do instead. No code, just the cases and the intended behaviour, under 200 words.","web_search":false,"reasoning_effort":"Medium","stream":true,"images":["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAIAAAD91JpzAAAAFklEQVR4nGP8z4AATAxIHFQeMg8OAgB1yQIDpk8YwwAAAABJRU5ErkJggg=="],"max_tokens":4096}}'