Skip to content
Docs menu

LLM models

Claude Opus 5

On this page

Claude Opus 5 — frontier reasoning and generation through one API.

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

Operations

OperationmodelIdEndpointRequired input
Defaultclaude-opus-5POST /api/v1/generateprompt
Poll taskGET /api/v1/task/{id}?model=claude-opus-5

Input parameters

FieldTypeRequiredValues / example
promptstringYesText value (example: A subscription product had 900 signups last month; 15 of them paid, at an average of $20 each, and serving everyone cost $40 in variable cost. Work out the… — full value in the request example)
memorybooleanNoAutomatically append previous messages to maintain multi-turn context. May increase token usage. (true/false) (default: false)
thinkingbooleanNoInclude the model's thinking process in the response (true/false) (default: true)
max_tokensnumberNoOptional Claude output token limit. Leave empty to use the default of 4096. (range 1-128000)
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)
web_searchbooleanNoWeb search feeds the results back as input tokens, so a searched turn typically costs many times a normal turn (measured: 18–87×). Billed per token as usual — nothing extra per search. (true/false) (default: false)
systemstringNoSystem instruction for the model. Defaults to "You are Claude Opus 5, developed by Anthropic." when omitted.
messagesarrayNoA conversation instead of a single `prompt`: up to 20 objects of { "role", "content" }, where role is user, assistant or system. 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.

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":"claude-opus-5","input":{"prompt":"A subscription product had 900 signups last month; 15 of them paid, at an average of $20 each, and serving everyone cost $40 in variable cost. Work out the conversion rate, revenue per signup and gross margin. Then tell me which single number to move first and why, showing the arithmetic. Under 200 words, with every figure in a table.","memory":false,"thinking":true,"max_tokens":1,"stream":true,"images":["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAIAAAD91JpzAAAAFklEQVR4nGP8z4AATAxIHFQeMg8OAgB1yQIDpk8YwwAAAABJRU5ErkJggg=="],"web_search":false}}'