建立模型回應
使用 CometAPI POST /v1/responses 建立具備內建工具與函式呼叫(Function Calling)功能的多模態(Multimodal)有狀態模型回應。
使用有狀態對話
使用previous_response_id 串連回應,而非自行管理訊息歷程:
使用內建工具
回應 API 包含無需設定的平台提供工具:tools 陣列:
呼叫自訂函式
定義模型可透過結構化引數呼叫的函式:output 陣列會包含一個 function_call 項目,其中含有函式名稱及已剖析的引數。執行該函式,並在後續請求中傳回結果。
請求結構化輸出
若要強制輸出符合特定 schema 的 JSON,請使用text.format 參數:
設定推論
對於 o-series 和 GPT-5 模型,請使用reasoning.effort 控制推論深度:
串流(Streaming)回應
若要接收增量輸出,請將stream 設為 true。API 會依下列順序傳送伺服器傳送事件(SSE):
response.created— 回應物件已初始化response.in_progress— 已開始產生內容response.output_item.added— 新增輸出項目(訊息或工具呼叫)response.content_part.added— 內容部分已開始response.output_text.delta— 文字區塊(包含delta欄位)response.output_text.done— 此內容部分的文字產生完成response.content_part.done— 內容部分已完成response.output_item.done— 輸出項目已完成response.completed— 包含usage資料的完整回應
授權
Bearer token authentication. Use your CometAPI key.
主體
Model ID to use for this request. See the Models page for current options.
"gpt-5.6-sol"
Text, image, or file inputs to the model, used to generate a response. Can be a simple string for text-only input, or an array of input items for multimodal content (images, files) and multi-turn conversations.
A system (or developer) message inserted into the model's context. When used with previous_response_id, instructions from the previous response are not carried over — this makes it easy to swap system messages between turns.
Whether to run the model response in the background. Background responses do not return output directly — you retrieve the result later via the response ID.
Context management configuration for this request. Controls how the model manages context when the conversation exceeds the context window.
The conversation this response belongs to. Items from the conversation are prepended to input for context. Input and output items are automatically added to the conversation after the response completes. Cannot be used with previous_response_id.
Additional output data to include in the response. Use this to request extra information that is not included by default.
web_search_call.action.sources, code_interpreter_call.outputs, computer_call_output.output.image_url, file_search_call.results, message.input_image.image_url, message.output_text.logprobs, reasoning.encrypted_content An upper bound for the number of tokens that can be generated for a response, including visible output tokens and reasoning tokens.
The maximum number of total calls to built-in tools that can be processed in a response. This limit applies across all built-in tool calls, not per individual tool. Any further tool call attempts by the model will be ignored.
Set of up to 16 key-value pairs that can be attached to the response. Useful for storing additional information in a structured format. Keys have a maximum length of 64 characters; values have a maximum length of 512 characters.
Whether to allow the model to run tool calls in parallel.
The unique ID of a previous response. Use this to create multi-turn conversations without manually managing conversation state. Cannot be used with conversation.
Reference to a prompt template and its variables.
A key used to cache responses for similar requests, helping optimize cache hit rates. Replaces the deprecated user field for caching purposes.
The retention policy for the prompt cache. Set to 24h to keep cached prefixes active for up to 24 hours.
in-memory, 24h Configuration options for reasoning models (o-series and gpt-5). Controls the depth of reasoning before generating a response.
A stable identifier for your end-users, used to help detect policy violations. Should be a hashed username or email — do not send identifying information directly.
64Specifies the processing tier for the request. When set, the response will include the actual service_tier used.
auto: Uses the tier configured in project settings (default behavior).default: Standard pricing and performance.flex: Flexible processing with potential cost savings.priority: Priority processing with faster response times.
auto, default, flex, priority Whether to store the generated response for later retrieval via API.
If set to true, the response data will be streamed to the client as it is generated using server-sent events (SSE). Events include response.created, response.output_text.delta, response.completed, and more.
Options for streaming responses. Only set this when stream is true.
Sampling temperature between 0 and 2. Higher values (e.g., 0.8) increase randomness; lower values (e.g., 0.2) make output more focused and deterministic. We recommend adjusting either this or top_p, but not both.
0 <= x <= 2Configuration for text output. Use this to request structured JSON output via JSON mode or JSON Schema.
Controls how the model selects which tool(s) to call.
auto(default): The model decides whether and which tools to call.none: The model will not call any tools.required: The model must call at least one tool.- An object specifying a particular tool to use.
An array of tools the model may call while generating a response. CometAPI supports three categories:
- Built-in tools: Platform-provided tools like
web_search_previewandfile_search. - Function calls: Custom functions you define, enabling the model to call your own code with structured arguments.
- MCP tools: Integrations with third-party systems via MCP servers.
Number of most likely tokens to return at each position (0–20), each with an associated log probability. Must include message.output_text.logprobs in the include parameter to receive logprobs.
0 <= x <= 20Nucleus sampling parameter. The model considers tokens with top_p cumulative probability mass. For example, 0.1 means only the top 10% probability tokens are considered. We recommend adjusting either this or temperature, but not both.
0 <= x <= 1The truncation strategy for handling inputs that exceed the model's context window.
auto: The model truncates the input by dropping items from the beginning of the conversation to fit.disabled(default): The request fails with a 400 error if the input exceeds the context window.
auto, disabled Deprecated. Use safety_identifier and prompt_cache_key instead. A stable identifier for your end-user.
回應
The generated Response object.
Unique identifier for the response.
"resp_0a153ae8201f73bc0069a7e8044cc481"
The object type, always response.
response "response"
Unix timestamp (in seconds) of when the response was created.
1772611588
The status of the response.
completed, in_progress, failed, cancelled, queued "completed"
Whether the response was run in the background.
false
Unix timestamp of when the response was completed, or null if still in progress.
1772611589
Error information if the response failed, or null on success.
Details about why the response is incomplete, if applicable.
The system instructions used for this response.
The maximum output token limit that was applied.
The model used for the response.
"gpt-4.1-nano"
An array of output items generated by the model. Each item can be a message, function call, or other output type.
A convenience field containing the concatenated text output from all output message items.
Whether parallel tool calls were enabled.
The ID of the previous response, if this is a multi-turn conversation.
The reasoning configuration that was used.
The service tier actually used to process the request.
"default"
Whether the response was stored.
The temperature value used.
1
The text configuration used.
The tool choice setting used.
The tools that were available for this response.
The top_p value used.
1
The truncation strategy used.
Token usage statistics for this response.
The user identifier, if provided.
The metadata attached to this response.
Content filter results applied to the response, if any.
The frequency penalty applied to the request.
Maximum number of tool calls allowed, if set.
The presence penalty applied to the request.
Cache key for prompt caching, if applicable.
Prompt cache retention policy, if applicable.
Safety system identifier for the response, if applicable.
Number of top log probabilities returned per token position.