Get instant answers with claude haiku 4.5 text to text. The perfect balance of speed and intelligence for daily tasks, chatting, and concise drafting.
Documentation Index
Fetch the complete documentation index at: https://docs.gptproto.com/llms.txt
Use this file to discover all available pages before exploring further.
Response Example
| Parameter | Type | Required | Default | Range | Description |
|---|---|---|---|---|---|
model | string | ✅ Yes | claude-opus-4-6 | - | The model identifier. Use claude-opus-4-6 for this model |
messages | array | ✅ Yes | - | - | Input messages for the conversation. Each message must have a role (user/assistant) and content (string or array of content blocks) |
max_tokens | integer | ✅ Yes | - | 1-64000 | Maximum number of tokens to generate. The model may stop before reaching this limit |
tools | array | ✅ Yes | - | - | Array of tool objects. For web search, must include the web_search tool configuration with type web_search_20250305 |
temperature | number | ❌ No | 1.0 | 0.0-1.0 | Controls randomness in output. Use lower values (closer to 0.0) for analytical tasks, higher values (closer to 1.0) for creative tasks. Note: Even at 0.0, results are not fully deterministic |
top_p | number | ❌ No | - | 0.0-1.0 | Nucleus sampling threshold. Controls diversity by considering only tokens with cumulative probability up to top_p. Recommended for advanced use only. Do not use with temperature |
top_k | integer | ❌ No | - | >0 | Only sample from the top K options for each token. Removes low probability responses. Recommended for advanced use only |
stream | boolean | ❌ No | false | - | Whether to stream the response incrementally using server-sent events |
stop_sequences | array | ❌ No | - | Max 8191 sequences | Custom text sequences that will cause the model to stop generating. Each sequence must contain non-whitespace characters |
messages array should have the following structure:
| Field | Type | Required | Range | Description |
|---|---|---|---|---|
role | string | ✅ Yes | - | The role of the message. Can be: user or assistant |
content | string/array | ✅ Yes | - | The content of the message. Can be a simple string for text-only messages, or an array of content blocks for multimodal content |
| Field | Type | Required | Range | Description |
|---|---|---|---|---|
type | string | ✅ Yes | - | Must be text |
text | string | ✅ Yes | - | The text content |
tools array should contain a web search tool object:
| Field | Type | Required | Range | Description |
|---|---|---|---|---|
type | string | ✅ Yes | - | The type of tool. Must be web_search_20250305 for web search |
name | string | ✅ Yes | - | The name of the tool. Use web_search |
max_uses | integer | ❌ No | 1-10 | Maximum number of times the web search tool can be used in a single request |
allowed_domains | array | ❌ No | - | Only include search results from these domains. Cannot be used with blocked_domains |
blocked_domains | array | ❌ No | - | Never include search results from these domains. Cannot be used with allowed_domains |
user_location | object | ❌ No | - | Localize search results based on user’s location |
max_uses parameter limits the number of searches performed. If Claude attempts more searches than allowed, the web_search_tool_result will be an error with the max_uses_exceeded error code.
example.com instead of https://example.com)example.com covers docs.example.com)docs.example.com returns only results from that subdomain, not from example.com or api.example.com)example.com/blog)allowed_domains or blocked_domains, but not both in the same requestuser_location object allows you to localize search results based on a user’s location:
| Field | Type | Required | Range | Description |
|---|---|---|---|---|
type | string | ✅ Yes | - | The type of location. Must be approximate |
city | string | ✅ Yes | - | The city name (e.g., San Francisco) |
region | string | ✅ Yes | - | The region or state (e.g., California) |
country | string | ✅ Yes | - | The country code (e.g., US) |
timezone | string | ✅ Yes | - | The IANA timezone ID (e.g., America/Los_Angeles) |
| Error Code | Error Name | Description |
|---|---|---|
| 401 | Unauthorized | API key is missing or invalid |
| 403 | Forbidden | Your API key doesn’t have permission to access this resource, or insufficient balance for the requested operation |
| 429 | Too Many Requests | You’ve exceeded your rate limit |
| 500 | Internal server error | An internal server error occurred |
| 503 | Content policy violation | Content blocked due to safety concerns (actual status code is 400) |