모델 응답 생성
CometAPI POST /v1/responses를 사용하여 기본 제공 도구와 함수 호출을 포함한 멀티모달 모델 응답 및 대화 기록을 생성합니다.
gpt-6-astra와 함께 텍스트, 이미지, 파일 및 대화 기록을 전송합니다. 예제에서는 웹 검색, 맞춤 함수 호출, 구조화된 출력, 추론 및 스트리밍도 보여 줍니다.
대화 이어가기
텍스트 전용 대화에서는 사용자 메시지와 어시스턴트의 텍스트 응답을 유지한 다음, 다음 사용자 메시지를 추가합니다:response.output_text 는 응답의 어시스턴트 텍스트를 결합하는 SDK 편의 속성입니다. 함수 호출 대화에는 아래에 설명된 대로 도구 호출 및 결과 항목도 필요합니다.
웹 검색 사용
정보를 검색하고 출처 인용을 포함하려면web_search 도구를 추가합니다:
web_search_call 항목과 메시지의 URL 주석을 확인하세요. 다른 기본 제공 도구에는 각각의 구성이 필요하며, 자세한 내용은 다음 OpenAI 도구 가이드에서 확인할 수 있습니다..
사용자 지정 함수 호출
함수 인수를 정의하고 모델이 함수를 요청하도록 합니다:function_call 출력 항목으로 나타납니다. 해당 arguments 필드는 JSON으로 인코딩된 문자열입니다. 함수를 실행한 다음, 원래 입력과 반환된 출력 항목에서 응답 항목의 id 필드를 제외하여 다음 요청을 구성합니다. 함수의 name, arguments, call_id 값은 유지하고, 일치하는 function_call_output 및 call_id과 output에 결과를 포함한 항목을 추가합니다.
구조화된 출력 요청
스키마를 따르는 JSON을 요청하려면text.format을 사용합니다:
추론 구성
모델의 추론 수준을 선택하려면reasoning.effort 값을 설정합니다:
low를 사용하고 추론 예시에는 high를 사용합니다. max_output_tokens에는 추론 토큰(Token)과 표시되는 출력 토큰(Token)이 모두 포함됩니다.
응답 스트리밍(Streaming)
서버 전송 이벤트를 수신하려면stream 값을 true로 설정합니다:
response.created, response.in_progress, response.completed 같은 수명 주기 이벤트가 포함됩니다. 텍스트는 response.output_text.delta 이벤트로 도착합니다. 도구 및 추론 이벤트는 요청에 따라 달라지므로, 모든 응답에 같은 순서가 있다고 가정하지 말고 type에 따라 이벤트를 처리하세요.
인증
Bearer token authentication. Use your CometAPI key.
본문
Model ID to use for this request. See the Models page for current options.
"gpt-6-astra"
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.
An ID for a stored response that is accessible to the selected model and request context. Cannot be combined with conversation. The conversation-history example sends prior input and output items explicitly.
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.
Legacy prompt-cache retention setting. Refer to the selected model documentation for prompt_cache_options and supported retention settings.
in_memory, 24h Reasoning configuration for the selected model.
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 Request response storage for later retrieval, when supported by the selected model and request context.
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. Omit this field for GPT-6 Astra.
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.
Tools available to the model. This page demonstrates web_search and custom function tools. Other tool types require their own configuration; see the official tool reference.
Number of token alternatives to include for models supporting log probabilities. Requires message.output_text.logprobs in include. Omit for GPT-6 Astra.
0 <= x <= 20Nucleus sampling threshold. Omit this field for GPT-6 Astra. For sampling overrides, adjust either top_p or temperature.
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_example"
The object type, always response.
response "response"
Unix timestamp (in seconds) of when the response was created.
1788763707
The status of the response.
completed, in_progress, failed, cancelled, queued, incomplete "completed"
Whether the response was run in the background.
false
Unix timestamp of when the response was completed, or null if still in progress.
1788763711
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-6-astra"
An array of output items generated by the model. Each item can be a message, function call, or other output type.
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.
Whether the response was stored.
The temperature value used.
The text configuration used.
The tool choice setting used.
The tools that were available for this response.
The top_p value used.
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.