{"openapi":"3.1.0","info":{"title":"OpenAI Compatible API","description":"OpenAI client & server implementation","license":{"name":"License","url":"/doc/Qwen3.5-9B/license"},"version":"0.3.12"},"paths":{"/v1/chat/completions":{"post":{"tags":["OpenAI"],"summary":"Chat Completions","description":"Creates a model response for the given chat conversation.","operationId":"chat_completions","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatCompletionParameters"},"examples":{"1. User message only":{"value":{"max_tokens":100,"messages":[{"content":"Hello, how are you today?","role":"user"}],"model":"Qwen3.5-9B","seed":null,"stream":false,"temperature":1,"top_p":1}},"2. System and user messages":{"value":{"max_tokens":100,"messages":[{"content":"You are a helpful assistant, talking like a pirate.","role":"system"},{"content":"Hello, how are you today?","name":"John","role":"user"}],"model":"Qwen3.5-9B","seed":null,"stream":false,"temperature":1,"top_p":1}},"3. Alternate user and assistant messages":{"value":{"max_tokens":100,"messages":[{"content":"Hello, I'm Alice. Name:","role":"user"},{"content":"Alice","role":"assistant"},{"content":"Hello, I'm Bob. Name:","role":"user"}],"model":"Qwen3.5-9B","seed":null,"stream":false,"temperature":1,"top_p":1}},"4. Content array":{"value":{"max_tokens":100,"messages":[{"content":[{"text":"This is another way to put content","type":"text"}],"role":"user"}],"model":"Qwen3.5-9B","seed":null,"stream":false,"temperature":1,"top_p":1}},"5. Streaming mode":{"value":{"max_tokens":100,"messages":[{"content":"Explain the advantages of streaming output when using a large language model.","role":"user"}],"model":"Qwen3.5-9B","seed":null,"stream":true,"stream_options":{"include_usage":true},"temperature":1,"top_p":1}},"6. Logprobs":{"value":{"logprobs":true,"max_tokens":100,"messages":[{"content":"Complete the sequence: 1, 2, 3, ","role":"user"}],"model":"Qwen3.5-9B","seed":null,"stream":false,"temperature":1,"top_logprobs":1,"top_p":1}},"7. Structured outputs":{"value":{"max_tokens":100,"messages":[{"content":"You are a helpful math tutor. Help the user solve equations and provide the answer in JSON format.","role":"system"},{"content":"Solve x for 8x + 7 = -23","role":"user"}],"model":"Qwen3.5-9B","response_format":{"json_schema":{"name":"MathReasoning","schema":{"$defs":{},"properties":{"final_answer":{"title":"Final Answer","type":"string"}},"required":["final_answer"],"title":"MathReasoning","type":"object"}},"type":"json_schema"},"seed":null,"stream":false,"temperature":1,"top_p":1}},"8. Function calling":{"value":{"max_tokens":100,"messages":[{"content":"What is the current weather in Paris?","role":"user"}],"model":"Qwen3.5-9B","seed":null,"stream":false,"temperature":0.1,"tool_choice":"required","tools":[{"function":{"description":"Get the current weather in a given location","name":"get_current_weather","parameters":{"properties":{"country":{"description":"The two‑letters country code","type":"string"},"location":{"description":"The city","type":"string"},"unit":{"enum":["celsius","fahrenheit"],"type":"string"}},"required":["location","country"],"type":"object"}},"type":"function"}],"top_p":1}}}}},"required":true},"responses":{"200":{"description":"The chat completion response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatCompletionResponse"}}}}}}},"/v1/completions":{"post":{"tags":["OpenAI"],"summary":"Completions","description":"Creates a completion for the provided prompt and parameters.","operationId":"completions","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompletionParameters"},"examples":{"1. Completion example":{"value":{"max_tokens":100,"model":"Qwen3.5-9B","prompt":"The Openai legacy /completion endpoint is","stream":false,"temperature":1,"top_p":1}}}}},"required":true},"responses":{"200":{"description":"The completion response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompletionResponse"}}}}}}},"/v1/models":{"get":{"tags":["OpenAI"],"summary":"Lists models","description":"Provides basic information about each one such as the owner and availability.","operationId":"models","responses":{"200":{"description":"The models list response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListModelResponse"}}}}}}},"/v1/responses":{"post":{"tags":["OpenAI"],"summary":"Responses","description":"Creates a model response for the given input.","operationId":"responses","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseParameters"},"examples":{"1. User message only":{"value":{"input":"Hello, how are you today?","max_output_tokens":100,"model":"Qwen3.5-9B","store":false,"stream":false,"temperature":1,"top_p":1}},"2. System and user messages":{"value":{"input":[{"content":"You are a helpful assistant, talking like a pirate.","role":"system","type":"message"},{"content":"Hello, how are you today?","role":"user","type":"message"}],"max_output_tokens":100,"model":"Qwen3.5-9B","store":false,"stream":false,"temperature":1,"top_p":1}},"3. Alternate user and assistant messages":{"value":{"input":[{"content":"Hello, I'm Alice. Name:","role":"system","type":"message"},{"content":"Alice","role":"assistant","type":"message"},{"content":"Hello, I'm Bob. Name:?","role":"user","type":"message"}],"max_output_tokens":100,"model":"Qwen3.5-9B","store":false,"stream":false,"temperature":1,"top_p":1}},"4. Content array":{"value":{"input":[{"content":[{"text":"This is another way to put content","type":"input_text"}],"role":"user","type":"message"}],"max_output_tokens":100,"model":"Qwen3.5-9B","store":false,"stream":false,"temperature":1,"top_p":1}},"5. Streaming mode":{"value":{"input":"Explain the advantages of streaming output when using a large language model.","max_output_tokens":100,"model":"Qwen3.5-9B","store":false,"stream":true,"temperature":1,"top_p":1}},"6. Logprobs":{"value":{"include":["message.output_text.logprobs"],"input":"Hello, how are you today?","max_output_tokens":100,"model":"Qwen3.5-9B","store":false,"stream":false,"temperature":1,"top_logprobs":1,"top_p":1}},"7. Structured outputs":{"value":{"input":[{"content":"You are a helpful math tutor. Help the user solve equations and provide the answer in JSON format.","role":"system","type":"message"},{"content":"Solve x for 8x + 7 = -23","role":"user","type":"message"}],"max_output_tokens":100,"model":"Qwen3.5-9B","store":false,"stream":false,"temperature":1,"text":{"format":{"description":"Math reasoning format","name":"MathReasoning","schema":{"$defs":{},"properties":{"final_answer":{"title":"Final Answer","type":"string"}},"required":["final_answer"],"title":"MathReasoning","type":"object"},"strict":false,"type":"json_schema"}},"top_p":1}},"8. Function calling":{"value":{"input":[{"content":"What is the current weather in Paris?","role":"user","type":"message"}],"max_output_tokens":100,"model":"Qwen3.5-9B","store":false,"stream":false,"temperature":0.1,"tool_choice":"required","tools":[{"description":"Get the current weather in a given location","name":"get_current_weather","parameters":{"properties":{"country":{"description":"The two‑letters country code","type":"string"},"location":{"description":"The city","type":"string"},"unit":{"enum":["celsius","fahrenheit"],"type":"string"}},"required":["location","country"],"type":"object"},"strict":false,"type":"function"}],"top_p":1}}}}},"required":true},"responses":{"200":{"description":"The model response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseObject"}}}}}}}},"components":{"schemas":{"AcknowledgedSafetyCheck":{"type":"object","required":["id"],"properties":{"code":{"type":["string","null"]},"id":{"type":"string"},"message":{"type":["string","null"]}}},"Annotation":{"oneOf":[{"type":"object","required":["file_id","index","type"],"properties":{"file_id":{"type":"string"},"index":{"type":"integer","format":"int64","minimum":0},"type":{"type":"string","enum":["file_citation"]}}},{"type":"object","required":["title","url","start_index","end_index","type"],"properties":{"end_index":{"type":"integer","format":"int64","minimum":0},"start_index":{"type":"integer","format":"int64","minimum":0},"title":{"type":"string"},"type":{"type":"string","enum":["url_citation"]},"url":{"type":"string"}}},{"type":"object","required":["file_id","index","type"],"properties":{"file_id":{"type":"string"},"index":{"type":"integer","format":"int64","minimum":0},"type":{"type":"string","enum":["file_path"]}}}]},"ApproximateUserLocation":{"type":"object","required":["type","approximate"],"properties":{"approximate":{"$ref":"#/components/schemas/WebSearchUserLocation","description":"Approximate location parameters for the search."},"type":{"$ref":"#/components/schemas/UserLocationType"}}},"AudioDataIdParameter":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"Unique identifier for a previous audio response from the model."}}},"AudioFormat":{"type":"string","enum":["wav","mp3","flac","opus","pcm16"]},"AudioOutputFormat":{"type":"string","enum":["json","text","srt","verbose_json","vtt"]},"AudioParameters":{"type":"object","required":["voice","format"],"properties":{"format":{"$ref":"#/components/schemas/AudioFormat","description":"Specifies the output audio format."},"voice":{"$ref":"#/components/schemas/Voice","description":"The voice the model uses to respond."}}},"AudioTask":{"type":"string","enum":["transcribe"]},"AudioTranscriptionParameters":{"type":"object","required":["file"],"properties":{"chunking_strategy":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TranscriptionChunkingStrategy","description":"Controls how the audio is cut into chunks. When set to \"auto\", the server first normalizes loudness and then uses voice activity detection (VAD) to choose boundaries. server_vad object can be provided to tweak VAD detection parameters manually. If unset, the audio is transcribed as a single block."}],"default":null},"diarize":{"type":["boolean","null"],"description":"If set to true, a speaker diarization will be done for this transcription.","default":false},"file":{"type":"string","format":"binary","description":"The audio file object (not file name) to transcribe, in one of these formats: mp3, mp4, aac, m4a, wav, flac, ogg, opus, webm, mpeg or mpga."},"language":{"type":["string","null"],"description":"The language of the input audio. Supplying the input language in ISO-639-1 format will improve accuracy and latency."},"model":{"type":["string","null"],"description":"ID of the model to use."},"prompt":{"type":["string","null"],"description":"An optional text to guide the model's style or continue a previous audio segment. The prompt should match the audio language."},"response_format":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AudioOutputFormat","description":"The format of the transcript output, in one of these options: json, text, srt, verbose_json, or vtt."}]},"stream":{"type":["boolean","null"],"description":"If set to true, the model response data will be streamed to the client as it is generated using server-sent events. Note: Streaming is not supported for the whisper models and will be ignored.","default":false},"temperature":{"type":["number","null"],"format":"float","description":"The sampling temperature, between 0 and 1. Higher values like 0.8 will make the output more random,\nwhile lower values like 0.2 will make it more focused and deterministic.\nIf set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.","default":0.0,"maximum":1,"minimum":0},"timestamp_granularities":{"type":["array","null"],"items":{"$ref":"#/components/schemas/TimestampGranularity"},"description":"The timestamp granularities to populate for this transcription. response_format must be set verbose_json to use timestamp granularities.\nEither or both of these options are supported: word, or segment.","default":["segment"]}}},"BackgroundStyle":{"type":"string","enum":["transparent","opaque","auto"]},"Batch":{"type":"object","required":["id","created_at","endpoint","input_file_id","object","request_counts","status"],"properties":{"cancelled_at":{"type":["integer","null"],"format":"int32","description":"The Unix timestamp (in seconds) for when the batch was cancelled.","minimum":0},"cancelling_at":{"type":["integer","null"],"format":"int32","description":"The Unix timestamp (in seconds) for when the batch started cancelling.","minimum":0},"completed_at":{"type":["integer","null"],"format":"int32","description":"The Unix timestamp (in seconds) for when the batch was completed.","minimum":0},"completion_window":{"$ref":"#/components/schemas/BatchCompletionWindow","description":"The time frame within which the batch should be processed.\nAllowed values: \"24h\", \"48h\", \"72h\". Defaults to \"48h\"."},"created_at":{"type":"integer","format":"int32","description":"The Unix timestamp (in seconds) for when the batch was created.","minimum":0},"endpoint":{"type":"string","description":"The OpenAI API endpoint used by the batch."},"error_file_id":{"type":["string","null"],"description":"The ID of the file containing the outputs of requests with errors."},"errors":{"description":"Object containing error details."},"expired_at":{"type":["integer","null"],"format":"int32","description":"The Unix timestamp (in seconds) for when the batch expired.","minimum":0},"expires_at":{"type":["integer","null"],"format":"int32","description":"The Unix timestamp (in seconds) for when the batch will expire.","minimum":0},"failed_at":{"type":["integer","null"],"format":"int32","description":"The Unix timestamp (in seconds) for when the batch failed.","minimum":0},"finalizing_at":{"type":["integer","null"],"format":"int32","description":"The Unix timestamp (in seconds) for when the batch started finalizing.","minimum":0},"id":{"type":"string","description":"The batch identifier."},"in_progress_at":{"type":["integer","null"],"format":"int32","description":"The Unix timestamp (in seconds) for when the batch started processing.","minimum":0},"input_file_id":{"type":"string","description":"The ID of the input file for the batch."},"metadata":{"type":["object","null"],"description":"Set of 16 key-value pairs that can be attached to an object.\nKeys are strings with a maximum length of 64 characters.\nValues are strings with a maximum length of 512 characters.","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"object":{"type":"string","description":"The object type, which is always \"batch\"."},"output_file_id":{"type":["string","null"],"description":"The ID of the file containing the outputs of successfully executed requests."},"request_counts":{"$ref":"#/components/schemas/BatchRequestCounts","description":"The request counts for different statuses within the batch."},"status":{"$ref":"#/components/schemas/BatchStatus","description":"The current status of the batch."}}},"BatchCompletionWindow":{"type":"string","enum":["24h","48h","72h"]},"BatchRequestCounts":{"type":"object","required":["total","completed","failed"],"properties":{"completed":{"type":"integer","format":"int32","description":"Number of completed requests.","minimum":0},"failed":{"type":"integer","format":"int32","description":"Number of failed requests.","minimum":0},"total":{"type":"integer","format":"int32","description":"Total number of requests in the batch.","minimum":0}}},"BatchStatus":{"type":"string","enum":["validating","failed","in_progress","finalizing","completed","expired","cancelling","cancelled"]},"ChatCompletionChoice":{"type":"object","required":["index","message"],"properties":{"finish_reason":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/FinishReason","description":"The reason the model stopped generating tokens."}]},"index":{"type":"integer","format":"int32","description":"The index of the choice in the list of choices.","minimum":0},"logprobs":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/LogProps","description":"Log probability information for the choice."}]},"message":{"$ref":"#/components/schemas/ChatMessage","description":"A chat completion message generated by the model."}}},"ChatCompletionChunkChoice":{"type":"object","required":["delta"],"properties":{"delta":{"$ref":"#/components/schemas/DeltaChatMessage","description":"A chat completion delta generated by streamed model responses."},"finish_reason":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/FinishReason","description":"The reason the model stopped generating tokens."}]},"index":{"type":["integer","null"],"format":"int32","description":"The index of the choice in the list of choices.","minimum":0},"logprobs":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/LogProps","description":"Log probability information for the choice."}]}}},"ChatCompletionChunkResponse":{"type":"object","required":["choices","created","model","object"],"properties":{"choices":{"type":"array","items":{"$ref":"#/components/schemas/ChatCompletionChunkChoice"},"description":"A list of chat completion choices. Can be more than one if n is greater than 1."},"created":{"type":"integer","format":"int32","description":"The Unix timestamp (in seconds) of when the chat completion was created. Each chunk has the same timestamp.","minimum":0},"id":{"type":["string","null"],"description":"A unique identifier for the chat completion. Each chunk has the same ID."},"model":{"type":"string","description":"The model to generate the completion."},"object":{"type":"string","description":"The object type, which is always chat.completion.chunk."},"system_fingerprint":{"type":["string","null"],"description":"This fingerprint represents the backend configuration that the model runs with.\nCan be used in conjunction with the seed request parameter to understand when backend changes have been made that might impact determinism."},"usage":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Usage","description":"An optional field that will only be present when you set stream_options: {\"include_usage\": true} in your request. When present, it contains a null value except for the last chunk which contains the token usage statistics for the entire request."}]}}},"ChatCompletionFunction":{"type":"object","required":["name","parameters"],"properties":{"description":{"type":["string","null"],"description":"Optional description of the function."},"name":{"type":"string","description":"Name of the function."},"parameters":{"description":"The parameters the function takes. The model will generate JSON inputs for these parameters."}}},"ChatCompletionParameters":{"type":"object","required":["messages"],"properties":{"frequency_penalty":{"type":["number","null"],"format":"float","description":"Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far,\ndecreasing the model's likelihood to repeat the same line verbatim."},"logit_bias":{"type":["object","null"],"description":"Modify the likelihood of specified tokens appearing in the completion.","additionalProperties":{"type":"integer","format":"int32"},"propertyNames":{"type":"string"}},"logprobs":{"type":["boolean","null"],"description":"Whether to return log probabilities of the output tokens or not.\nIf true, returns the log probabilities of each output token returned in the 'content' of 'message'."},"max_completion_tokens":{"type":["integer","null"],"format":"int32","description":"An upper bound for the number of tokens that can be generated for a completion, including visible output tokens and reasoning tokens.\nThis parameter cannot be used together with `max_tokens`.","minimum":0},"max_tokens":{"type":["integer","null"],"format":"int32","description":"The maximum number of tokens that can be generated in the completion.\nThe token count of your prompt plus `max_tokens` cannot exceed the model's context length.\nThis parameter cannot be used together with `max_completion_tokens`.","example":100,"minimum":0},"messages":{"type":"array","items":{"$ref":"#/components/schemas/ChatMessage"},"description":"A list of messages comprising the conversation so far."},"model":{"type":["string","null"],"description":"ID of the model to use."},"n":{"type":["integer","null"],"format":"int32","description":"How many chat completion choices to generate for each input message.","minimum":0},"parallel_tool_calls":{"type":["boolean","null"],"description":"Whether to enable parallel function calling during tool use."},"presence_penalty":{"type":["number","null"],"format":"float","description":"Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far,\nincreasing the model's likelihood to talk about new topics."},"reasoning_effort":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ReasoningEffort","description":"Constrains effort on reasoning for reasoning models."}]},"response_format":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ChatCompletionResponseFormat","description":"An object specifying the format that the model must output.\nSetting to { \"type\": \"json_schema\", \"json_schema\": {...} } enables Structured Outputs which ensures the model will match your supplied JSON schema. Setting to { \"type\": \"json_object\" } enables the older JSON mode, which ensures the message the model generates is valid JSON. Using json_schema is preferred for models that support it."}]},"seed":{"type":["integer","null"],"format":"int32","description":"This feature is in Beta. If specified, our system will make a best effort to sample deterministically,\nsuch that repeated requests with the same seed and parameters should return the same result.\nDeterminism is not guaranteed, and you should refer to the system_fingerprint response parameter to monitor changes in the backend.","minimum":0},"stop":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Prompt","description":"Words or tokens that must stop the generation process. You can specify a string, a token ID, a list of strings or a list of token IDs."}]},"stream":{"type":["boolean","null"],"description":"Whether to stream back partial progress. If set, tokens will be sent as data-only server-sent events as they become available, with the stream terminated by a `data: [DONE]` message."},"stream_options":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ChatCompletionStreamOptions","description":"Options for streaming response. Only set this when you set stream: true."}]},"temperature":{"type":["number","null"],"format":"float","description":"What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random,\nwhile lower values like 0.2 will make it more focused and deterministic.\nWe generally recommend altering this or `top_p` but not both.","default":1.0,"example":1.0,"maximum":2,"minimum":0},"tool_choice":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ChatCompletionToolChoice","description":"Controls which (if any) tool is called by the model. none means the model will not call any tool and instead generates a message.\nauto means the model can pick between generating a message or calling one or more tools.\nrequired means the model must call one or more tools.\nSpecifying a particular tool via {\"type\": \"function\", \"function\": {\"name\": \"my_function\"}} forces the model to call that tool."}]},"tools":{"type":["array","null"],"items":{"$ref":"#/components/schemas/ChatCompletionTool"},"description":"A list of tools the model may call. Currently, only functions are supported as a tool.\nUse this to provide a list of functions the model may generate JSON inputs for."},"top_logprobs":{"type":["integer","null"],"format":"int32","description":"An integer between 0 and 5 specifying the number of most likely tokens to return at each token position,\neach with an associated log probability. 'logprobs' must be set to 'true' if this parameter is used.","minimum":0},"top_p":{"type":["number","null"],"format":"float","description":"An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass.\nSo 0.1 means only the tokens comprising the top 10% probability mass are considered.\nWe generally recommend altering this or `temperature` but not both.","default":1.0,"example":1.0,"maximum":1,"minimum":0}}},"ChatCompletionResponse":{"type":"object","required":["choices","created","model","object"],"properties":{"choices":{"type":"array","items":{"$ref":"#/components/schemas/ChatCompletionChoice"},"description":"A list of chat completion choices. Can be more than one if n is greater than 1."},"created":{"type":"integer","format":"int32","description":"The Unix timestamp (in seconds) of when the chat completion was created.","minimum":0},"id":{"type":["string","null"],"description":"A unique identifier for the chat completion."},"model":{"type":"string","description":"The model used for the chat completion."},"object":{"type":"string","description":"The object type, which is always chat.completion."},"usage":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Usage","description":"Usage statistics for the completion request."}]}}},"ChatCompletionResponseFormat":{"oneOf":[{"type":"object","description":"Default response format. Used to generate text responses.","required":["type"],"properties":{"type":{"type":"string","enum":["text"]}}},{"type":"object","description":"JSON object response format. An older method of generating JSON responses. Using json_schema is recommended for models that support it. Note that the model will not generate JSON without a system or user message instructing it to do so.","required":["type"],"properties":{"type":{"type":"string","enum":["json_object"]}}},{"type":"object","description":"JSON Schema response format. Used to generate structured JSON responses.","required":["json_schema","type"],"properties":{"json_schema":{"$ref":"#/components/schemas/JsonSchema"},"type":{"type":"string","enum":["json_schema"]}}}]},"ChatCompletionStreamOptions":{"type":"object","properties":{"continuous_usage_stats":{"type":["boolean","null"]},"include_usage":{"type":["boolean","null"],"description":"If set, an additional chunk will be streamed before the data: [DONE] message."}}},"ChatCompletionTool":{"type":"object","required":["type","function"],"properties":{"function":{"$ref":"#/components/schemas/ChatCompletionFunction","description":"The name of the function to call."},"type":{"$ref":"#/components/schemas/ChatCompletionToolType","description":"The type of the tool. Currently, only 'function' is supported."}}},"ChatCompletionToolChoice":{"oneOf":[{"type":"string","enum":["none"]},{"type":"string","enum":["auto"]},{"type":"string","enum":["required"]},{"type":"object","required":["chatcompletiontoolchoicefunction"],"properties":{"chatcompletiontoolchoicefunction":{"$ref":"#/components/schemas/ChatCompletionToolChoiceFunction"}}}]},"ChatCompletionToolChoiceFunction":{"type":"object","required":["function"],"properties":{"function":{"$ref":"#/components/schemas/ChatCompletionToolChoiceFunctionName","description":"Name of the function."},"type":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ChatCompletionToolType","description":"The type of the tool. Currently, only 'function' is supported."}]}}},"ChatCompletionToolChoiceFunctionName":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Name of the function."}}},"ChatCompletionToolType":{"type":"string","enum":["function"]},"ChatMessage":{"oneOf":[{"type":"object","required":["content","role"],"properties":{"content":{"$ref":"#/components/schemas/ChatMessageContent","description":"The contents of the developer message."},"name":{"type":["string","null"],"description":"An optional name for the participant. Provides the model information to differentiate between participants of the same role."},"role":{"type":"string","enum":["developer"]}}},{"type":"object","required":["content","role"],"properties":{"content":{"$ref":"#/components/schemas/ChatMessageContent","description":"The contents of the system message."},"name":{"type":["string","null"],"description":"An optional name for the participant. Provides the model information to differentiate between participants of the same role."},"role":{"type":"string","enum":["system"]}}},{"type":"object","required":["content","role"],"properties":{"content":{"$ref":"#/components/schemas/ChatMessageContent","description":"The contents of the user message."},"name":{"type":["string","null"],"description":"An optional name for the participant. Provides the model information to differentiate between participants of the same role."},"role":{"type":"string","enum":["user"]}}},{"type":"object","required":["role"],"properties":{"audio":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AudioDataIdParameter","description":"Data about a previous audio response from the model."}]},"content":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ChatMessageContent","description":"The contents of the assistant message. Required unless tool_calls is specified."}]},"name":{"type":["string","null"],"description":"An optional name for the participant. Provides the model information to differentiate between participants of the same role."},"reasoning":{"type":["string","null"],"description":"The reasoning content by the assistant."},"refusal":{"type":["string","null"],"description":"The refusal message by the assistant."},"role":{"type":"string","enum":["assistant"]},"tool_calls":{"type":["array","null"],"items":{"$ref":"#/components/schemas/ToolCall"},"description":"The tool calls generated by the model, such as function calls."}}},{"type":"object","required":["content","tool_call_id","role"],"properties":{"content":{"$ref":"#/components/schemas/ChatMessageContent","description":"The contents of the tool message."},"role":{"type":"string","enum":["tool"]},"tool_call_id":{"type":"string","description":"Tool call that this message is responding to."}}}]},"ChatMessageAudioContentPart":{"type":"object","required":["type","input_audio"],"properties":{"input_audio":{"$ref":"#/components/schemas/InputAudioData","description":"The input audio data."},"type":{"type":"string","description":"The type of the content part. Always input_audio."}}},"ChatMessageContent":{"oneOf":[{"type":"string"},{"type":"array","items":{"$ref":"#/components/schemas/ChatMessageContentPart"}},{"type":"null","default":null}]},"ChatMessageContentPart":{"oneOf":[{"$ref":"#/components/schemas/ChatMessageTextContentPart"},{"$ref":"#/components/schemas/ChatMessageImageContentPart"},{"$ref":"#/components/schemas/ChatMessageAudioContentPart"}]},"ChatMessageImageContentPart":{"type":"object","required":["type","image_url"],"properties":{"image_url":{"$ref":"#/components/schemas/ImageUrlType","description":"The text content."},"type":{"type":"string","description":"The type of the content part."}}},"ChatMessageTextContentPart":{"type":"object","required":["type","text"],"properties":{"text":{"type":"string","description":"The text content."},"type":{"type":"string","description":"The type of the content part."}}},"CodeInterpreterCall":{"type":"object","required":["id","status"],"properties":{"code":{"type":["string","null"]},"container_id":{"type":["string","null"]},"id":{"type":"string"},"outputs":{"type":["array","null"],"items":{"$ref":"#/components/schemas/CodeInterpreterOutput"}},"status":{"$ref":"#/components/schemas/CodeInterpreterStatus"}}},"CodeInterpreterOutput":{"oneOf":[{"type":"object","required":["logs","type"],"properties":{"logs":{"type":"string"},"type":{"type":"string","enum":["logs"]}}},{"type":"object","required":["url","type"],"properties":{"type":{"type":"string","enum":["image"]},"url":{"type":"string"}}}]},"CodeInterpreterStatus":{"type":"string","enum":["in_progress","completed","incomplete","interpreting","failed"]},"ComparisonFilter":{"type":"object","required":["key","type","value"],"properties":{"key":{"type":"string"},"type":{"type":"string"},"value":{"$ref":"#/components/schemas/ComparisonFilterValue"}}},"ComparisonFilterValue":{"oneOf":[{"type":"string"},{"type":"number","format":"double"},{"type":"boolean"}]},"CompletionChoice":{"type":"object","required":["text","index","finish_reason"],"properties":{"finish_reason":{"$ref":"#/components/schemas/FinishReason"},"index":{"type":"integer","minimum":0},"logprobs":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/CompletionLogprobs"}]},"text":{"type":"string"}}},"CompletionLogprobs":{"type":"object","required":["tokens","token_logprobs","text_offset"],"properties":{"text_offset":{"type":"array","items":{"type":"integer","minimum":0}},"token_logprobs":{"type":"array","items":{"type":"number","format":"float"}},"tokens":{"type":"array","items":{"type":"string"}},"top_logprobs":{"type":["array","null"],"items":{"$ref":"#/components/schemas/CompletionLogprobsTopLogprobs"}}}},"CompletionLogprobsTopLogprobs":{"type":"object","required":["tokens_with_logprobs"],"properties":{"tokens_with_logprobs":{"type":"object","additionalProperties":{"type":"number","format":"float"},"propertyNames":{"type":"string"}}}},"CompletionParameters":{"type":"object","required":["prompt"],"properties":{"logprobs":{"type":["integer","null"],"format":"int32","description":"Returns the top N log probabilities of each generated token. Disabled by default.\nSupported values: 1 to 5 (logprobs for the top generated tokens), 0 or null (no logprobs)","maximum":5,"minimum":0},"max_tokens":{"type":["integer","null"],"format":"int32","description":"The maximum number of tokens to generate in the completion.\nThe token count of your prompt plus `max_tokens` cannot exceed the model's context length.","default":16,"example":50,"minimum":0},"model":{"type":["string","null"],"description":"ID of the model to use."},"prompt":{"$ref":"#/components/schemas/Prompt","description":"The prompt(s) to generate completions for, encoded as a string, array of strings, array of\ntokens, or array of token arrays."},"seed":{"type":["integer","null"],"description":"If specified, our system will make a best effort to sample deterministically, such that\nrepeated requests with the same seed and parameters should return the same result.\nDeterminism is not guaranteed, and you should refer to the `system_fingerprint` response parameter to monitor changes in the backend.","minimum":0},"stop":{"type":["array","null"],"items":{"type":"string"},"description":"Words or tokens that must stop the generation process. You can specify a string, a token ID, a list of strings or a list of token IDs."},"stream":{"type":"boolean","description":"Whether to stream back partial progress. If set, tokens will be sent as data-only server-sent events as they become available, with the stream terminated by a `data: [DONE]` message."},"stream_options":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/CompletionStreamOptions","description":"Options for streaming response. Only set this when you set stream: true."}],"default":null},"temperature":{"type":"number","format":"float","description":"What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the\noutput more random, while lower values like 0.2 will make it more focused and deterministic.\nWe generally recommend altering this or `top_p` but not both.","default":1.0,"example":1.0,"maximum":2,"minimum":0},"top_p":{"type":"number","format":"float","description":"An alternative to sampling with temperature, called nucleus sampling, where the model\nconsiders the results of the tokens with top_p probability mass. So 0.1 means only the\ntokens comprising the top 10% probability mass are considered.\nWe generally recommend altering this or `temperature` but not both.","default":1.0,"example":1.0,"maximum":1,"minimum":0}}},"CompletionResponse":{"type":"object","required":["id","object","created","model","choices","usage"],"properties":{"choices":{"type":"array","items":{"$ref":"#/components/schemas/CompletionChoice"},"description":"The list of completion choices the model generated for the input prompt."},"created":{"type":"integer","format":"int64","description":"The Unix timestamp (in seconds) of when the completion was created.","minimum":0},"id":{"type":"string","description":"A unique identifier for the completion."},"model":{"type":"string","description":"The model used for completion."},"object":{"type":"string","description":"The object type, which is always \"text_completion\""},"usage":{"$ref":"#/components/schemas/Usage","description":"Usage statistics for the completion request."}}},"CompletionStreamOptions":{"type":"object","properties":{"continuous_usage_stats":{"type":["boolean","null"]},"include_usage":{"type":["boolean","null"],"description":"If set, an additional chunk will be streamed before the data: [DONE] message."}}},"CompletionTokensDetails":{"type":"object","required":["reasoning_tokens"],"properties":{"accepted_prediction_tokens":{"type":["integer","null"],"format":"int32","description":"When using Predicted Outputs, the number of tokens in the prediction that appeared in the completion.","minimum":0},"audio_tokens":{"type":["integer","null"],"format":"int32","description":"Audio input tokens generated by the model.","minimum":0},"reasoning_tokens":{"type":"integer","format":"int32","description":"Tokens generated by the model for reasoning.","minimum":0},"rejected_prediction_tokens":{"type":["integer","null"],"format":"int32","description":"When using Predicted Outputs, the number of tokens in the prediction that did not appear in the completion.","minimum":0}}},"CompoundFilter":{"type":"object","required":["filters","type"],"properties":{"filters":{"type":"array","items":{"$ref":"#/components/schemas/FileSearchFilters"}},"type":{"$ref":"#/components/schemas/CompoundFilterType"}}},"CompoundFilterType":{"type":"string","enum":["and","or"]},"ComputerAction":{"oneOf":[{"type":"object","required":["x","y","button","type"],"properties":{"button":{"$ref":"#/components/schemas/MouseButton"},"type":{"type":"string","enum":["click"]},"x":{"type":"integer","format":"int32"},"y":{"type":"integer","format":"int32"}}},{"type":"object","required":["x","y","type"],"properties":{"type":{"type":"string","enum":["double_click"]},"x":{"type":"integer","format":"int32"},"y":{"type":"integer","format":"int32"}}},{"type":"object","required":["path","type"],"properties":{"path":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate"}},"type":{"type":"string","enum":["drag"]}}},{"type":"object","required":["keys","type"],"properties":{"keys":{"type":"array","items":{"type":"string"}},"type":{"type":"string","enum":["keypress"]}}},{"type":"object","required":["x","y","type"],"properties":{"type":{"type":"string","enum":["move"]},"x":{"type":"integer","format":"int32"},"y":{"type":"integer","format":"int32"}}},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["screenshot"]}}},{"type":"object","required":["x","y","scroll_x","scroll_y","type"],"properties":{"scroll_x":{"type":"integer","format":"int32"},"scroll_y":{"type":"integer","format":"int32"},"type":{"type":"string","enum":["scroll"]},"x":{"type":"integer","format":"int32"},"y":{"type":"integer","format":"int32"}}},{"type":"object","required":["text","type"],"properties":{"text":{"type":"string"},"type":{"type":"string","enum":["type"]}}},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["wait"]}}}]},"ComputerToolCall":{"type":"object","required":["id","status"],"properties":{"action":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ComputerAction"}]},"call_id":{"type":["string","null"]},"id":{"type":"string"},"pending_safety_checks":{"type":["array","null"],"items":{"type":"string"}},"status":{"$ref":"#/components/schemas/InputItemStatus"}}},"ComputerToolCallOutput":{"type":"object","required":["id","call_id","output","status"],"properties":{"acknowledged_safety_checks":{"type":["array","null"],"items":{"$ref":"#/components/schemas/AcknowledgedSafetyCheck"}},"call_id":{"type":"string"},"id":{"type":"string"},"output":{"$ref":"#/components/schemas/ComputerToolCallOutputOutput"},"status":{"$ref":"#/components/schemas/InputItemStatus"}}},"ComputerToolCallOutputOutput":{"type":"object","properties":{"file_id":{"type":["string","null"]},"image_url":{"type":["string","null"],"description":"The base64 encoded image data, as a `data:<mediatype>;base64,<data>` URI. Fetching images from a url is not supported."}}},"ComputerUseEnvironment":{"type":"string","enum":["browser","mac","ubuntu","windows"]},"ContentInput":{"oneOf":[{"type":"string"},{"type":"array","items":{"$ref":"#/components/schemas/ContentItem"}}]},"ContentItem":{"oneOf":[{"type":"object","required":["text","type"],"properties":{"text":{"type":"string"},"type":{"type":"string","enum":["input_text"]}}},{"type":"object","required":["type"],"properties":{"detail":{"$ref":"#/components/schemas/ImageDetailLevel"},"file_id":{"type":["string","null"]},"image_url":{"type":["string","null"],"description":"The base64 encoded image data, as a `data:<mediatype>;base64,<data>` URI. Fetching images from a url is not supported."},"type":{"type":"string","enum":["input_image"]}}},{"type":"object","required":["type"],"properties":{"file_data":{"type":["string","null"]},"file_id":{"type":["string","null"]},"filename":{"type":["string","null"]},"type":{"type":"string","enum":["input_file"]}}},{"type":"object","required":["text","annotations","type"],"properties":{"annotations":{"type":"array","items":{"$ref":"#/components/schemas/Annotation"}},"text":{"type":"string"},"type":{"type":"string","enum":["output_text"]}}},{"type":"object","required":["refusal","type"],"properties":{"refusal":{"type":"string"},"type":{"type":"string","enum":["Refusal"]}}}]},"Coordinate":{"type":"object","required":["x","y"],"properties":{"x":{"type":"integer","format":"int32"},"y":{"type":"integer","format":"int32"}}},"CreateBatchParameters":{"type":"object","required":["input_file_id","endpoint","completion_window"],"properties":{"completion_window":{"$ref":"#/components/schemas/BatchCompletionWindow","description":"The time frame within which the batch should be processed."},"endpoint":{"type":"string","description":"The endpoint to be used for all requests in the batch."},"input_file_id":{"type":"string","description":"The ID of an uploaded file containing the batch requests."},"metadata":{"type":["object","null"],"description":"Optional metadata to attach to the batch.","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}}}},"CreateImageParameters":{"type":"object","required":["prompt"],"properties":{"background":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BackgroundStyle","description":"Allows to set transparency for the background of the generated image(s). This parameter is only supported for gpt-image-1.\nMust be one of transparent, opaque or auto (default value). When auto is used, the model will automatically determine the best background for the image.\nIf transparent, the output format needs to support transparency, so it should be set to either png (default value) or webp."}]},"model":{"type":["string","null"],"description":"The model to use for image generation."},"moderation":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ModerationLevel","description":"Control the content-moderation level for images generated by gpt-image-1. Must be either low for less restrictive filtering or auto (default value)."}]},"n":{"type":["integer","null"],"format":"int32","description":"The number of images to generate. Must be between 1 and 10. For dall-e-3, only n=1 is supported.","minimum":0},"output_compression":{"type":["integer","null"],"format":"int32","description":"The compression level (0-100%) for the generated images. This parameter is only supported for gpt-image-1 with the webp or jpeg output formats, and defaults to 100.","minimum":0},"output_format":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/OutputFormat","description":"The format in which the generated images are returned. This parameter is only supported for gpt-image-1. Must be one of png, jpeg, or webp."}]},"partial_images":{"type":["integer","null"],"format":"int32","description":"The number of partial images to generate. This parameter is used for streaming responses that return partial images.\nValue must be between 0 and 3. When set to 0, the response will be a single image sent in one streaming event.","minimum":0},"prompt":{"type":"string","description":"A text description of the desired image(s). The maximum length is 1000 characters for dall-e-2 and 4000 characters for dall-e-3."},"prompt_cache_key":{"type":["string","null"],"description":"Used by OpenAI to cache responses for similar requests to optimize your cache hit rates."},"quality":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ImageQuality","description":"The quality of the image that will be generated. hd creates images with finer details and greater consistency across the image.\nhigh, medium and low are supported for gpt-image-1. hd and standard are supported for dall-e-3. standard is the only option for dall-e-2."}]},"response_format":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ResponseFormat","description":"The format in which the generated images are returned. Must be one of url or b64_json."}]},"safety_identifier":{"type":["string","null"],"description":"A stable identifier used to help detect users of your application that may be violating OpenAI's usage policies."},"size":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ImageSize","description":"The size of the generated images. Must be one of 1024x1024, 1536x1024 (landscape), 1024x1536 (portrait), or auto (default value) for gpt-image-1,\none of 256x256, 512x512, or 1024x1024 for dall-e-2, and one of 1024x1024, 1792x1024, or 1024x1792 for dall-e-3."}]},"stream":{"type":["boolean","null"],"description":"Generate the image in streaming mode."},"style":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ImageStyle","description":"The style of the generated images. This parameter is only supported for dall-e-3. Must be one of vivid or natural.\nVivid causes the model to lean towards generating hyper-real and dramatic images.\nNatural causes the model to produce more natural, less hyper-real looking images."}]},"user":{"type":["string","null"],"description":"A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse."}}},"CreateTranscriptionResponse":{"oneOf":[{"$ref":"#/components/schemas/CreateTranscriptionResponseJson"},{"$ref":"#/components/schemas/CreateTranscriptionResponseVerboseJson"},{"type":"string"}]},"CreateTranscriptionResponseJson":{"type":"object","required":["text"],"properties":{"text":{"type":"string","description":"The transcribed text."},"usage":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TranscriptTextUsageDuration","description":"Usage statistics for the request."}]}}},"CreateTranscriptionResponseVerboseJson":{"type":"object","required":["task","success","language","duration","text"],"properties":{"diarization":{"type":["array","null"],"items":{"$ref":"#/components/schemas/DiarizationSegment"},"description":"Diarized segments with speaker information, if the diarization has been enabled for the request."},"duration":{"type":"number","format":"float","description":"The duration of the input audio."},"language":{"type":"string","description":"The language of the input audio."},"segments":{"type":["array","null"],"items":{"$ref":"#/components/schemas/TranscriptionSegment"},"description":"Segments of the transcribed text and their corresponding details."},"success":{"type":"boolean"},"task":{"$ref":"#/components/schemas/AudioTask"},"text":{"type":"string","description":"The transcribed text."},"transcript_duration":{"type":["number","null"],"format":"float","description":"Transcription duration in seconds."},"usage":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TranscriptTextUsageDuration","description":"Usage statistics for the request."}]},"words":{"type":["array","null"],"items":{"$ref":"#/components/schemas/TranscriptionWord"},"description":"Extracted words and their corresponding timestamps."}}},"CustomToolCall":{"type":"object","required":["id","name","call_id","input"],"properties":{"call_id":{"type":"string"},"id":{"type":"string"},"input":{"type":"string"},"name":{"type":"string"}}},"CustomToolFormat":{"oneOf":[{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["text"]}}},{"type":"object","required":["definition","syntax","type"],"properties":{"definition":{"type":"string"},"syntax":{"type":"string"},"type":{"type":"string","enum":["grammar"]}}}]},"DeltaChatMessage":{"oneOf":[{"type":"object","required":["content","role"],"properties":{"content":{"$ref":"#/components/schemas/ChatMessageContent","description":"The contents of the developer message."},"name":{"type":["string","null"],"description":"An optional name for the participant. Provides the model information to differentiate between participants of the same role."},"role":{"type":"string","enum":["developer"]}}},{"type":"object","required":["content","role"],"properties":{"content":{"$ref":"#/components/schemas/ChatMessageContent","description":"The contents of the system message."},"name":{"type":["string","null"],"description":"An optional name for the participant. Provides the model information to differentiate between participants of the same role."},"role":{"type":"string","enum":["system"]}}},{"type":"object","required":["content","role"],"properties":{"content":{"$ref":"#/components/schemas/ChatMessageContent","description":"The contents of the user message."},"name":{"type":["string","null"],"description":"An optional name for the participant. Provides the model information to differentiate between participants of the same role."},"role":{"type":"string","enum":["user"]}}},{"type":"object","required":["role"],"properties":{"content":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ChatMessageContent","description":"The contents of the assistant message. Required unless tool_calls is specified."}]},"name":{"type":["string","null"],"description":"An optional name for the participant. Provides the model information to differentiate between participants of the same role."},"reasoning":{"type":["string","null"],"description":"The reasoning content by the assistant."},"refusal":{"type":["string","null"],"description":"The refusal message by the assistant."},"role":{"type":"string","enum":["assistant"]},"tool_calls":{"type":["array","null"],"items":{"$ref":"#/components/schemas/DeltaToolCall"},"description":"The tool calls generated by the model, such as function calls."}}},{"type":"object","required":["content","tool_call_id","role"],"properties":{"content":{"type":"string","description":"The contents of the tool message."},"role":{"type":"string","enum":["tool"]},"tool_call_id":{"type":"string","description":"Tool call that this message is responding to."}}},{"type":"object","required":["role"],"properties":{"content":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ChatMessageContent"}]},"name":{"type":["string","null"]},"reasoning":{"type":["string","null"]},"refusal":{"type":["string","null"]},"role":{"type":"string","enum":["untagged"]},"tool_call_id":{"type":["string","null"]},"tool_calls":{"type":["array","null"],"items":{"$ref":"#/components/schemas/DeltaToolCall"}}}}]},"DeltaFunction":{"type":"object","properties":{"arguments":{"type":["string","null"],"description":"The arguments to call the function with, as generated by the model in JSON format."},"name":{"type":["string","null"],"description":"The name of the function to call."}}},"DeltaToolCall":{"type":"object","required":["function"],"properties":{"function":{"$ref":"#/components/schemas/DeltaFunction","description":"The function that the model called."},"id":{"type":["string","null"],"description":"/// The ID of the tool call."},"index":{"type":["integer","null"],"format":"int32","description":"The index of the tool call in the list of tool calls.","minimum":0},"type":{"type":["string","null"],"description":"The type of the tool. Currently, only 'function' is supported."}}},"DiarizationSegment":{"type":"object","required":["speaker","text","start","end"],"properties":{"end":{"type":"number","format":"float","description":"End time of the segment in seconds."},"speaker":{"type":"integer","description":"Unique identifier of the speaker.","minimum":0},"start":{"type":"number","format":"float","description":"Start time of the segment in seconds."},"text":{"type":"string","description":"Text content of the segment."}}},"Embedding":{"type":"object","required":["index","embedding","object"],"properties":{"embedding":{"$ref":"#/components/schemas/EmbeddingOutput","description":"The embedding vector, which is a list of floats. Or String when encoding format is set to 'base64'."},"index":{"type":"integer","format":"int32","description":"The index of the embedding in the list of embeddings.","minimum":0},"object":{"type":"string","description":"The object type, which is always \"embedding\"."}}},"EmbeddingEncodingFormat":{"type":"string","enum":["float","base64"]},"EmbeddingInput":{"oneOf":[{"type":"string","description":"The string that will be turned into an embedding."},{"type":"array","items":{"type":"string"},"description":"The array of strings that will be turned into an embedding."},{"type":"array","items":{"type":"integer","format":"int32","minimum":0},"description":"The array of integers that will be turned into an embedding."},{"type":"array","items":{"type":"array","items":{"type":"integer","format":"int32","minimum":0}},"description":"The array of arrays containing integers that will be turned into an embedding."}]},"EmbeddingOutput":{"oneOf":[{"type":"array","items":{"type":"number","format":"double"}},{"type":"string"}]},"EmbeddingParameters":{"type":"object","required":["input"],"properties":{"dimensions":{"type":["integer","null"],"format":"int32","description":"The number of dimensions the resulting output embeddings should have. Only supported in 'text-embedding-3' and later models.","minimum":0},"encoding_format":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/EmbeddingEncodingFormat","description":"The format to return the embeddings in. Can be either float or base64."}]},"input":{"$ref":"#/components/schemas/EmbeddingInput","description":"Input text to embed, encoded as a string or array of tokens.\nTo embed multiple inputs in a single request, pass an array of strings or array of token arrays."},"model":{"type":["string","null"],"description":"ID of the model to use."},"user":{"type":["string","null"],"description":"A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse."}}},"EmbeddingResponse":{"type":"object","required":["object","data","model"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Embedding"},"description":"A list of embedding objects."},"model":{"type":"string","description":"The model used to generate the embeddings."},"object":{"type":"string","description":"The object type, which is always \"embedding\"."},"usage":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Usage","description":"Object containing usage information for the request."}]}}},"EmbeddingsRequest":{"oneOf":[{"$ref":"#/components/schemas/EmbeddingParameters","description":"Classic embedding parameters: the content to embed is provided through the input field."},{"$ref":"#/components/schemas/ChatCompletionParameters","description":"Chat completion style parameters: the content to embed is provided\nthrough the messages field. Required for multimodal inputs."}],"description":"Request body accepted by the /v1/embeddings route.\n\nMost OpenAI-compatible backends (including recent vLLM versions) accept\neither the classic embedding parameters (input based) or chat completion\nstyle parameters (messages based). The chat completion style is required\nfor multimodal embedding inputs (e.g. images passed through chat message\ncontent parts)."},"ExpiresAfter":{"type":"object","required":["anchor","seconds"],"properties":{"anchor":{"$ref":"#/components/schemas/ExpiresAnchor","description":"Anchor timestamp after which the expiration policy applies. Supported anchors: created_at."},"seconds":{"type":"integer","format":"int64","description":"Number of seconds after the anchor time that the file will expire. Must be between 3600 (1 hour) and 2592000 (30 days)."}}},"ExpiresAnchor":{"type":"string","enum":["created_at"]},"File":{"type":"object","required":["id","bytes","created_at","filename","object","purpose","expires_after"],"properties":{"bytes":{"type":"integer","format":"int32","description":"The size of the file, in bytes.","minimum":0},"created_at":{"type":"integer","format":"int32","description":"The Unix timestamp (in seconds) for when the file was created.","minimum":0},"expires_after":{"type":"integer","format":"int32","description":"Optional expiration policy for the file.","minimum":0},"filename":{"type":"string","description":"The name of the file."},"id":{"type":"string","description":"The file identifier, which can be referenced in the API endpoints."},"object":{"type":"string","description":"The object type, which is always \"file\"."},"purpose":{"$ref":"#/components/schemas/FilePurpose","description":"The intended purpose of the file."}}},"FilePurpose":{"type":"string","enum":["assistants","assistants_output","batch","batch_output","fine-tune","fine-tune-results","vision","user_data","evals"]},"FileSearchFilters":{"oneOf":[{"$ref":"#/components/schemas/ComparisonFilter"},{"$ref":"#/components/schemas/CompoundFilter"}]},"FileSearchRankingOption":{"type":"object","required":["ranker","score_threshold"],"properties":{"ranker":{"type":"string"},"score_threshold":{"type":"number","format":"double"}}},"FileSearchResult":{"type":"object","required":["file_id","filename","text","attributes"],"properties":{"attributes":{"type":"object","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"file_id":{"type":"string"},"filename":{"type":"string"},"score":{"type":["number","null"],"format":"float"},"text":{"type":"string"}}},"FileSearchStatus":{"type":"string","enum":["in_progress","searching","completed","incomplete","failed"]},"FileSearchToolCall":{"type":"object","required":["id","queries","status"],"properties":{"id":{"type":"string"},"name":{"type":["string","null"]},"queries":{"type":"array","items":{"type":"string"}},"results":{"type":["array","null"],"items":{"$ref":"#/components/schemas/FileSearchResult"}},"status":{"$ref":"#/components/schemas/FileSearchStatus"}}},"FileUpload":{"oneOf":[{"type":"object","required":["Bytes"],"properties":{"Bytes":{"$ref":"#/components/schemas/FileUploadBytes"}}},{"type":"object","required":["File"],"properties":{"File":{"type":"string"}}}]},"FileUploadBytes":{"type":"object","required":["filename","data"],"properties":{"data":{"type":"array","items":{"type":"integer","format":"int32","minimum":0}},"filename":{"type":"string"}}},"FinishReason":{"type":"string","enum":["stop","length","content_filter","tool_calls","end_turn","FINISH_REASON_UNSPECIFIED\t","MALFORMED_FUNCTION_CALL","OTHER"]},"Function":{"type":"object","required":["name","arguments"],"properties":{"arguments":{"type":"string","description":"The arguments to call the function with, as generated by the model in JSON format."},"name":{"type":"string","description":"The name of the function to call."}}},"FunctionToolCall":{"type":"object","required":["call_id","name","arguments"],"properties":{"arguments":{"type":"string"},"call_id":{"type":"string"},"id":{"type":["string","null"]},"name":{"type":"string"},"status":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/InputItemStatus"}]}}},"FunctionToolCallOutput":{"type":"object","required":["call_id","output","status"],"properties":{"call_id":{"type":"string"},"id":{"type":["string","null"]},"output":{"type":"string"},"status":{"$ref":"#/components/schemas/InputItemStatus"}}},"ImageData":{"oneOf":[{"type":"object","required":["url"],"properties":{"revised_prompt":{"type":["string","null"]},"url":{"type":"string"}}},{"type":"object","required":["b64_json"],"properties":{"b64_json":{"type":"string"},"revised_prompt":{"type":["string","null"]}}}]},"ImageDetailLevel":{"type":"string","enum":["high","low","auto"]},"ImageGenerationCall":{"type":"object","required":["id","status"],"properties":{"id":{"type":"string"},"result":{"type":["string","null"]},"status":{"$ref":"#/components/schemas/InputItemStatus"}}},"ImageQuality":{"type":"string","enum":["standard","hd","high","medium","low","auto"]},"ImageResponse":{"type":"object","required":["created","data"],"properties":{"background":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BackgroundStyle","description":"The background parameter used for the image generation. Either transparent or opaque."}]},"created":{"type":"integer","format":"int32","description":"The Unix timestamp (in seconds) for when the image was created.","minimum":0},"data":{"type":"array","items":{"$ref":"#/components/schemas/ImageData"},"description":"The list of generated images."},"output_format":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/OutputFormat","description":"The output format of the image generation. Either png, webp, or jpeg."}]},"quality":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ImageQuality","description":"The quality of the image generated. Either low, medium, or high."}]},"size":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ImageSizeResponse","description":"The size of the image generated. Either 1024x1024, 1024x1536, or 1536x1024."}]},"usage":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ImageUsage","description":"For gpt-image-1 only, the token usage information for the image generation."}]}}},"ImageSize":{"type":"string","enum":["256x256","512x512","1024x1024","1024x1536","1536x1024","1792x1024","1024x1792","auto"]},"ImageSizeResponse":{"type":"string","enum":["256x256","512x512","1024x1024","1024x1536","1536x1024","1792x1024","1024x1792"]},"ImageStyle":{"type":"string","enum":["vivid","natural"]},"ImageUrlDetail":{"type":"string","enum":["auto","high","low"]},"ImageUrlType":{"type":"object","required":["url"],"properties":{"detail":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ImageUrlDetail","description":"Specifies the detail level of the image."}]},"url":{"type":"string","description":"The base64 encoded image data, as a `data:<mediatype>;base64,<data>` URI. Fetching images from a url is not supported."}}},"ImageUsage":{"type":"object","required":["input_tokens","output_tokens","total_tokens"],"properties":{"input_tokens":{"type":"integer","format":"int32","description":"The number of tokens (images and text) in the input prompt.","minimum":0},"input_tokens_details":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/InputTokensDetails","description":"The input tokens detailed information for the image generation."}]},"output_tokens":{"type":"integer","format":"int32","description":"The number of output tokens generated by the model.","minimum":0},"total_tokens":{"type":"integer","format":"int32","description":"The total number of tokens (images and text) used for the image generation.","minimum":0}}},"IncompleteDetails":{"type":"object","required":["reason"],"properties":{"reason":{"type":"string","description":"The reason why the response is incomplete."}}},"InputAudioData":{"type":"object","required":["data","format"],"properties":{"data":{"type":"string","description":"Base64 encoded audio data."},"format":{"type":"string","description":"The format of the encoded audio data. Currently supports \"wav\" and \"mp3\"."}}},"InputImageMask":{"type":"object","properties":{"file_id":{"type":["string","null"]},"image_url":{"type":["string","null"],"description":"The base64 encoded image data, as a `data:<mediatype>;base64,<data>` URI. Fetching images from a url is not supported."}}},"InputItemStatus":{"type":"string","enum":["in_progress","completed","incomplete"]},"InputMessage":{"type":"object","required":["role","content"],"properties":{"content":{"$ref":"#/components/schemas/ContentInput"},"id":{"type":["string","null"]},"role":{"$ref":"#/components/schemas/Role"},"status":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/InputItemStatus"}]}},"additionalProperties":false},"InputTokensDetails":{"type":"object","required":["image_tokens","text_tokens"],"properties":{"image_tokens":{"type":"integer","format":"int32","description":"The number of image tokens in the input.","minimum":0},"text_tokens":{"type":"integer","format":"int32","description":"The number of text tokens in the input.","minimum":0}}},"JsonSchema":{"type":"object","required":["name","schema"],"properties":{"description":{"type":["string","null"],"description":"A description of what the response format is for, used by the model to determine how to respond in the format."},"name":{"type":"string","description":"The name of the response format. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64."},"schema":{"description":"The schema for the response format, described as a JSON Schema object."},"strict":{"type":["boolean","null"],"description":"Whether to enable strict schema adherence when generating the output."}}},"ListBatchesResponse":{"type":"object","required":["object","data","has_more"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Batch"},"description":"A list of batch objects."},"first_id":{"type":["string","null"],"description":"The ID of the first batch in the returned list."},"has_more":{"type":"boolean","description":"Whether there are more batches available beyond the returned list."},"last_id":{"type":["string","null"],"description":"The ID of the last batch in the returned list."},"object":{"type":"string","description":"The object type."}}},"ListModelResponse":{"type":"object","required":["object","data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Model"},"description":"A list of model objects."},"object":{"type":"string","description":"The object type, which is always \"list\"."}}},"LocalShellAction":{"oneOf":[{"type":"object","required":["command","type"],"properties":{"command":{"type":"array","items":{"type":"string"}},"env":{"type":["object","null"],"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"timeout_ms":{"type":["integer","null"],"format":"int64","minimum":0},"type":{"type":"string","enum":["exec"]},"user":{"type":["string","null"]},"working_directory":{"type":["string","null"]}}}]},"LocalShellCall":{"type":"object","required":["id","status"],"properties":{"action":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/LocalShellAction"}]},"call_id":{"type":["string","null"]},"id":{"type":"string"},"status":{"$ref":"#/components/schemas/InputItemStatus"}}},"LogProbsContentInfo":{"type":"object","required":["token","logprob"],"properties":{"bytes":{"type":["array","null"],"items":{"type":"integer","format":"int32","minimum":0},"description":"A list of integers representing the UTF-8 bytes representation of the token."},"logprob":{"type":"number","format":"float","description":"The log probability of this token, if it is within the top 20 most likely tokens.\nOtherwise, the value -9999.0 is used to signify that the token is very unlikely."},"token":{"type":"string","description":"The token."}}},"LogProps":{"type":"object","properties":{"content":{"type":["array","null"],"items":{"$ref":"#/components/schemas/LogPropsContent"},"description":"A list of message content tokens with log probability information."},"refusal":{"type":["array","null"],"items":{"$ref":"#/components/schemas/LogPropsContent"},"description":"A list of message refusal tokens with log probability information."}}},"LogPropsContent":{"allOf":[{"$ref":"#/components/schemas/LogProbsContentInfo","description":"Token information"},{"type":"object","required":["top_logprobs"],"properties":{"top_logprobs":{"type":"array","items":{"$ref":"#/components/schemas/LogProbsContentInfo"},"description":"List of the most likely tokens and their log probability, at this token position."}}}]},"McpApprovalRequest":{"type":"object","required":["id","name","server_label","arguments"],"properties":{"arguments":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"server_label":{"type":"string"}}},"McpListTools":{"type":"object","required":["id","server_label"],"properties":{"error":{"type":["string","null"]},"id":{"type":"string"},"server_label":{"type":"string"},"tools":{"type":["array","null"],"items":{"$ref":"#/components/schemas/McpTool"}}}},"McpStatus":{"type":"string","enum":["in_progress","completed","incomplete","calling","failed"]},"McpTool":{"type":"object","required":["name","input_schema"],"properties":{"annotations":{},"description":{"type":["string","null"]},"input_schema":{},"name":{"type":"string"}}},"McpToolApproval":{"type":"string","enum":["always","never"]},"McpToolCall":{"type":"object","required":["id","name","server_label","arguments","status"],"properties":{"approval_request_id":{"type":["string","null"]},"arguments":{"type":"string"},"error":{"type":["string","null"]},"id":{"type":"string"},"name":{"type":"string"},"output":{"type":["string","null"]},"server_label":{"type":"string"},"status":{"$ref":"#/components/schemas/McpStatus"}}},"MessageStatus":{"type":"string","enum":["in_progress","completed","incomplete"]},"Modality":{"type":"string","enum":["text","audio"]},"Model":{"type":"object","required":["id","object","owned_by"],"properties":{"context_length":{"type":["integer","null"],"format":"int32","description":"The model context length in tokens.","minimum":0},"created":{"type":["integer","null"],"format":"int32","description":"The Unix timestamp (in seconds) when the model was created.","minimum":0},"id":{"type":"string","description":"The model identifier, which can be referenced in the API endpoints."},"max_completion_tokens":{"type":["integer","null"],"format":"int32","description":"The max completion tokens.","minimum":0},"object":{"type":"string","description":"The object type, which is always \"model\"."},"owned_by":{"type":"string","description":"The organization that owns the model."},"pricing":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Pricing","description":"Pricing information for the model."}]}}},"ModerationLevel":{"type":"string","enum":["auto","low"]},"MouseButton":{"type":"string","enum":["left","right","wheel","back","forward"]},"OutputContent":{"oneOf":[{"type":"object","required":["text","annotations","type"],"properties":{"annotations":{"type":"array","items":{"$ref":"#/components/schemas/Annotation"}},"text":{"type":"string"},"type":{"type":"string","enum":["output_text"]}}},{"type":"object","required":["text","type"],"properties":{"text":{"type":"string"},"type":{"type":"string","enum":["reasoning_text"]}}},{"type":"object","required":["refusal","type"],"properties":{"refusal":{"type":"string"},"type":{"type":"string","enum":["refusal"]}}}]},"OutputFormat":{"type":"string","enum":["png","jpeg","webp"]},"OutputMessage":{"type":"object","required":["id","role","status","content"],"properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/OutputContent"}},"id":{"type":"string"},"role":{"$ref":"#/components/schemas/Role"},"status":{"$ref":"#/components/schemas/MessageStatus"}}},"OutputTokensDetails":{"type":"object","required":["reasoning_tokens"],"properties":{"reasoning_tokens":{"type":"integer","format":"int32","description":"The number of reasoning tokens.","minimum":0}}},"PredictedOutput":{"type":"object","required":["type","content"],"properties":{"content":{"$ref":"#/components/schemas/PredictedOutputContent","description":"The content that should be matched when generating a model response.\nIf generated tokens would match this content, the entire model response can be returned much more quickly."},"type":{"$ref":"#/components/schemas/PredictedOutputType","description":"The type of the predicted content you want to provide."}}},"PredictedOutputArrayPart":{"type":"object","required":["type","text"],"properties":{"text":{"type":"string","description":"The text content."},"type":{"type":"string","description":"The type of the content part."}}},"PredictedOutputContent":{"oneOf":[{"type":"string"},{"type":"array","items":{"$ref":"#/components/schemas/PredictedOutputArrayPart"}}]},"PredictedOutputType":{"type":"string","enum":["content"]},"Pricing":{"type":"object","properties":{"completion":{"type":"string","description":"Pricing for completion tokens."},"currency_unit":{"type":"string","description":"Currency unit."},"image":{"type":"string","description":"Pricing for image generation."},"input_cache_reads":{"type":"string","description":"Pricing for input cache reads."},"input_cache_writes":{"type":"string","description":"Pricing for input cache writes."},"prompt":{"type":"string","description":"Pricing for prompt tokens."},"request":{"type":"string","description":"Pricing per request."}}},"Prompt":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"array","items":{"type":"integer","format":"int32","minimum":0}},{"type":"array","items":{"type":"array","items":{"type":"integer","format":"int32","minimum":0}}}]},"PromptTokensDetails":{"type":"object","required":["cached_tokens"],"properties":{"audio_tokens":{"type":["integer","null"],"format":"int32","description":"Audio input tokens present in the prompt.","minimum":0},"cached_tokens":{"type":"integer","format":"int32","description":"Cached tokens present in the prompt.","minimum":0}}},"Reasoning":{"type":"object","required":["id"],"properties":{"content":{"type":["array","null"],"items":{"$ref":"#/components/schemas/ReasoningContent"}},"encrypted_content":{"type":["string","null"]},"id":{"type":"string"},"status":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/InputItemStatus"}]},"summary":{"type":["array","null"],"items":{"$ref":"#/components/schemas/ReasoningSummary"}}}},"ReasoningContent":{"oneOf":[{"type":"object","required":["text","type"],"properties":{"text":{"type":"string"},"type":{"type":"string","enum":["reasoning_text"]}}}]},"ReasoningEffort":{"type":"string","enum":["none","high","medium","low","minimal","max","xhigh"]},"ReasoningStatus":{"type":"string","enum":["completed","failed","in_progress","incomplete"]},"ReasoningSummary":{"type":"string","enum":["auto","concise","detailed"]},"ResponseError":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"The error code for the response."},"message":{"type":"string","description":"A human-readable description of the error."}}},"ResponseFormat":{"type":"string","enum":["url","b64_json"]},"ResponseInclude":{"type":"string","enum":["file_search_call.results","message.input_image.image_url","computer_call_output.output.image_url","message.output_text.logprobs"]},"ResponseInput":{"oneOf":[{"type":"string"},{"type":"array","items":{"$ref":"#/components/schemas/ResponseInputItem"}}]},"ResponseInputItem":{"oneOf":[{"allOf":[{"$ref":"#/components/schemas/InputMessage"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["message"]}}}]},{"type":"object","required":["id","type"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["item_reference"]}}},{"allOf":[{"$ref":"#/components/schemas/FileSearchToolCall"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["file_search_call"]}}}]},{"allOf":[{"$ref":"#/components/schemas/ComputerToolCall"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["computer_call"]}}}]},{"allOf":[{"$ref":"#/components/schemas/ComputerToolCallOutput"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["computer_call_output"]}}}]},{"allOf":[{"$ref":"#/components/schemas/WebSearchToolCall"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["web_search_call"]}}}]},{"allOf":[{"$ref":"#/components/schemas/FunctionToolCall"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["function_call"]}}}]},{"allOf":[{"$ref":"#/components/schemas/FunctionToolCallOutput"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["function_call_output"]}}}]},{"allOf":[{"$ref":"#/components/schemas/Reasoning"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["reasoning"]}}}]}]},"ResponseObject":{"type":"object","required":["created_at","id","model","object","output","status","tools"],"properties":{"created_at":{"type":"integer","format":"int32","description":"Unix timestamp (in seconds) of when this Response was created.","minimum":0},"error":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ResponseError","description":"An error object returned when the model fails to generate a Response."}]},"id":{"type":"string","description":"Unique identifier for this Response."},"incomplete_details":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/IncompleteDetails","description":"Details about why the response is incomplete."}]},"instruction":{"type":["string","null"],"description":"Inserts a system (or developer) message as the first item in the model's context."},"max_output_tokens":{"type":["integer","null"],"format":"int32","description":"An upper bound for the number of tokens that can be generated for a response, including visible output tokens and reasoning tokens.","minimum":0},"metadata":{"type":["object","null"],"description":"Set of 16 key-value pairs that can be attached to an object.","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"model":{"type":"string","description":"Model ID used to generate the response."},"object":{"type":"string","description":"The object type of this resource - always set to response."},"output":{"type":"array","items":{"$ref":"#/components/schemas/ResponseOutput"},"description":"An array of content items generated by the model."},"parallel_tool_calls":{"type":["boolean","null"],"description":"Whether to allow the model to run tool calls in parallel."},"previous_response_id":{"type":["string","null"],"description":"The unique ID of the previous response to the model."},"reasoning":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ResponseReasoning","description":"Configuration options for reasoning models."}]},"service_tier":{"type":["string","null"],"description":"The service tier used for processing the request."},"status":{"$ref":"#/components/schemas/ReasoningStatus","description":"The status of the response generation."},"temperature":{"type":["number","null"],"format":"float","description":"What sampling temperature to use, between 0 and 2."},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ResponseText","description":"Configuration options for a text response from the model."}]},"tool_choice":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ResponseToolChoice","description":"How the model should select which tool (or tools) to use when generating a response."}]},"tools":{"type":"array","items":{"$ref":"#/components/schemas/ResponseTool"},"description":"An array of tools the model may call while generating a response."},"top_logprobs":{"type":["integer","null"],"format":"int32","description":"An integer between 0 and 20 specifying the number of most likely tokens to return at each token position, each with an associated log probability.","minimum":0},"top_p":{"type":["number","null"],"format":"float","description":"An alternative to sampling with temperature."},"truncation":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TruncationStrategy","description":"The truncation strategy to use for the model response."}]},"usage":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ResponseUsage","description":"Represents token usage details."}]},"user":{"type":["string","null"],"description":"A unique identifier representing your end-user."}}},"ResponseOutput":{"oneOf":[{"allOf":[{"$ref":"#/components/schemas/OutputMessage"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["message"]}}}]},{"allOf":[{"$ref":"#/components/schemas/FunctionToolCall"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["function_call"]}}}]},{"allOf":[{"$ref":"#/components/schemas/FileSearchToolCall"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["file_search_call"]}}}]},{"allOf":[{"$ref":"#/components/schemas/WebSearchToolCall"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["web_search_call"]}}}]},{"allOf":[{"$ref":"#/components/schemas/ComputerToolCall"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["computer_call"]}}}]},{"allOf":[{"$ref":"#/components/schemas/Reasoning"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["reasoning"]}}}]},{"allOf":[{"$ref":"#/components/schemas/ImageGenerationCall"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["image_generation_call"]}}}]},{"allOf":[{"$ref":"#/components/schemas/CodeInterpreterCall"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["code_interpreter_call"]}}}]},{"allOf":[{"$ref":"#/components/schemas/LocalShellCall"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["local_shell_call"]}}}]},{"allOf":[{"$ref":"#/components/schemas/McpToolCall"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["mcp_call"]}}}]},{"allOf":[{"$ref":"#/components/schemas/McpListTools"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["mcp_list_tools"]}}}]},{"allOf":[{"$ref":"#/components/schemas/McpApprovalRequest"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["mcp_approval_request"]}}}]},{"allOf":[{"$ref":"#/components/schemas/CustomToolCall"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["custom_tool_call"]}}}]}]},"ResponseParameters":{"allOf":[{"description":"Allows to pass arbitrary json as an extra_body parameter, for specific features/openai-compatible endpoints."},{"type":"object","required":["input"],"properties":{"background":{"type":["boolean","null"],"description":"Whether to run the model response in the background."},"input":{"$ref":"#/components/schemas/ResponseInput","description":"Text, image, or file inputs to the model, used to generate a response."},"instructions":{"type":["string","null"],"description":"Inserts a system (or developer) message as the first item in the model's context."},"max_output_tokens":{"type":["integer","null"],"format":"int32","description":"An upper bound for the number of tokens that can be generated for a response.","example":100,"minimum":0},"metadata":{"type":["object","null"],"description":"Set of 16 key-value pairs that can be attached to an object.","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"model":{"type":["string","null"],"description":"Model ID used to generate the response."},"parallel_tool_calls":{"type":["boolean","null"],"description":"Whether to allow the model to run tool calls in parallel."},"reasoning":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ResponseReasoning","description":"Configuration options for reasoning models."}]},"stream":{"type":["boolean","null"],"description":"Whether to stream the response back to the client as it is generated.","default":false,"example":false},"temperature":{"type":["number","null"],"format":"float","description":"What sampling temperature to use, between 0 and 2.","default":1.0,"example":1.0,"maximum":2,"minimum":0},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ResponseText","description":"Configuration options for a text response from the model."}]},"tool_choice":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ResponseToolChoice","description":"How the model should select which tool (or tools) to use when generating a response."}]},"tools":{"type":["array","null"],"items":{"$ref":"#/components/schemas/ResponseTool"},"description":"An array of tools the model may call while generating a response."},"top_logprobs":{"type":["integer","null"],"format":"int32","description":"An integer between 0 and 20 specifying the number of most likely tokens to return at each token position, each with an associated log probability.","minimum":0},"top_p":{"type":["number","null"],"format":"float","description":"An alternative to sampling with temperature.","default":1.0,"example":1.0,"maximum":1,"minimum":0}}}]},"ResponseReasoning":{"type":"object","properties":{"effort":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ReasoningEffort","description":"Constrains effort on reasoning for reasoning models."}]},"summary":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ReasoningSummary"}]}}},"ResponseText":{"type":"object","required":["format"],"properties":{"format":{"$ref":"#/components/schemas/ResponseFormat","description":"An object specifying the format that the model must output."}}},"ResponseTool":{"oneOf":[{"type":"object","required":["name","parameters","type"],"properties":{"description":{"type":["string","null"]},"name":{"type":"string"},"parameters":{},"strict":{"type":["boolean","null"]},"type":{"type":"string","enum":["function"]}}},{"type":"object","required":["vector_store_ids","type"],"properties":{"filters":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/FileSearchFilters"}]},"max_num_results":{"type":["integer","null"],"format":"int32","minimum":0},"ranking_options":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/FileSearchRankingOption"}]},"type":{"type":"string","enum":["file_search"]},"vector_store_ids":{"type":"array","items":{"type":"string"}}}},{"type":"object","required":["type"],"properties":{"search_context_size":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WebSearchContextSize"}]},"type":{"type":"string","enum":["web_search_preview"]},"user_location":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WebSearchUserLocation"}]}}},{"type":"object","required":["server_label","authorization","type"],"properties":{"allowed_tools":{"type":["array","null"],"items":{"type":"string"}},"authorization":{"type":"string"},"connector_id":{"type":["string","null"]},"headers":{"type":["object","null"],"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"require_approval":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/McpToolApproval"}]},"server_description":{"type":["string","null"]},"server_label":{"type":"string"},"server_url":{"type":["string","null"]},"type":{"type":"string","enum":["mcp"]}}},{"type":"object","required":["type"],"properties":{"background":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BackgroundStyle"}]},"input_fidelity":{"type":["string","null"]},"input_image_mask":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/InputImageMask"}]},"model":{"type":["string","null"]},"moderation":{"type":["string","null"]},"output_compression":{"type":["integer","null"],"format":"int32","minimum":0},"output_format":{"type":["string","null"]},"partial_images":{"type":["integer","null"],"format":"int32","minimum":0},"quality":{"type":["string","null"]},"size":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ImageSize"}]},"type":{"type":"string","enum":["image_generation"]}}},{"type":"object","required":["type"],"properties":{"display_height":{"type":["integer","null"],"format":"int64","minimum":0},"display_width":{"type":["integer","null"],"format":"int64","minimum":0},"environment":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ComputerUseEnvironment"}]},"type":{"type":"string","enum":["computer_use_preview"]}}},{"type":"object","required":["container","type"],"properties":{"container":{"type":"string"},"type":{"type":"string","enum":["code_interpreter"]}}},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["shell"]}}},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["apply_patch"]}}},{"type":"object","required":["name","type"],"properties":{"description":{"type":["string","null"]},"format":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/CustomToolFormat"}]},"name":{"type":"string"},"type":{"type":"string","enum":["custom"]}}}]},"ResponseToolChoice":{"oneOf":[{"type":"string","enum":["None"]},{"type":"string","enum":["Auto"]},{"type":"string","enum":["Required"]},{"type":"object","required":["Function"],"properties":{"Function":{"type":"string"}}},{"type":"string","enum":["FileSearch"]},{"type":"string","enum":["WebSearchPreview"]},{"type":"string","enum":["ComputerUsePreview"]}]},"ResponseUsage":{"type":"object","required":["total_tokens"],"properties":{"input_tokens":{"type":["integer","null"],"format":"int32","description":"The number of input tokens.","minimum":0},"input_tokens_details":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/InputTokensDetails","description":"A detailed breakdown of the input tokens."}]},"output_tokens":{"type":["integer","null"],"format":"int32","description":"The number of output tokens.","minimum":0},"output_tokens_details":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/OutputTokensDetails","description":"A detailed breakdown of the output tokens."}]},"total_tokens":{"type":"integer","format":"int32","description":"Number of tokens in the entire response.","minimum":0}}},"Role":{"type":"string","enum":["user","system","assistant","developer"]},"TimestampGranularity":{"type":"string","enum":["word","segment"]},"ToolCall":{"type":"object","required":["id","function"],"properties":{"function":{"$ref":"#/components/schemas/Function","description":"The function that the model called."},"id":{"type":"string","description":"The ID of the tool call."},"type":{"type":"string","description":"The type of the tool. Currently, only function is supported.\nDefaults to \"function\" if not specified (for compatibility with Mistral LangChain provider)."}}},"TranscriptTextUsageDuration":{"type":"object","required":["type","seconds"],"properties":{"seconds":{"type":"number","format":"float","description":"Duration of the input audio in seconds."},"type":{"type":"string","description":"The type of the usage object. Always `duration` for this variant."}}},"TranscriptionChunkingStrategy":{"oneOf":[{"type":"string","enum":["auto"]},{"type":"object","required":["vad_config"],"properties":{"vad_config":{"$ref":"#/components/schemas/VadConfig"}}}]},"TranscriptionSegment":{"type":"object","required":["id","seek","start","end","text","tokens","temperature","avg_logprob","compression_ratio","no_speech_prob"],"properties":{"avg_logprob":{"type":"number","format":"float","description":"Average logprob of the segment. If the value is lower than -1, consider the logprobs failed."},"compression_ratio":{"type":"number","format":"float","description":"Compression ratio of the segment. If the value is greater than 2.4, consider the compression failed."},"end":{"type":"number","format":"float","description":"End time of the segment in seconds."},"id":{"type":"integer","description":"Unique identifier of the segment.","minimum":0},"no_speech_prob":{"type":"number","format":"float","description":"Probability of no speech in the segment. If the value is higher than 1.0 and the `avg_logprob` is below -1, consider this segment silent."},"seek":{"type":"integer","description":"Seek offset of the segment.","minimum":0},"start":{"type":"number","format":"float","description":"Start time of the segment in seconds."},"temperature":{"type":"number","format":"float","description":"Temperature parameter used for generating the segment."},"text":{"type":"string","description":"Text content of the segment."},"tokens":{"type":"array","items":{"type":"integer","minimum":0},"description":"Array of token IDs for the text content."}}},"TranscriptionWord":{"type":"object","required":["word","start","end"],"properties":{"end":{"type":"number","format":"float","description":"End time of the word in seconds."},"start":{"type":"number","format":"float","description":"Start time of the word in seconds."},"word":{"type":"string","description":"The text content of the word."}}},"TruncationStrategy":{"type":"string","enum":["auto","disabled"]},"UploadFileParameters":{"type":"object","required":["file","purpose","expires_after"],"properties":{"expires_after":{"$ref":"#/components/schemas/ExpiresAfter","description":"Optional expiration policy for the file."},"file":{"$ref":"#/components/schemas/FileUpload","description":"The File object to be uploaded."},"purpose":{"$ref":"#/components/schemas/FilePurpose","description":"The intended purpose of the uploaded file."}}},"Usage":{"type":"object","required":["total_tokens"],"properties":{"completion_tokens":{"type":["integer","null"],"format":"int32","description":"Number of tokens in the completion.","minimum":0},"completion_tokens_details":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/CompletionTokensDetails","description":"Breakdown of tokens used in a completion."}]},"prompt_tokens":{"type":["integer","null"],"format":"int32","description":"Number of tokens in the prompt.","minimum":0},"prompt_tokens_details":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/PromptTokensDetails","description":"Breakdown of tokens used in the prompt."}]},"total_tokens":{"type":"integer","format":"int32","description":"Number of tokens in the entire response.","minimum":0}}},"UserLocationType":{"type":"string","enum":["approximate"]},"VadConfig":{"type":"object","required":["type"],"properties":{"prefix_padding_ms":{"type":["integer","null"],"description":"Amount of audio to include before the VAD detected speech (in milliseconds).","default":300,"minimum":0},"silence_duration_ms":{"type":["integer","null"],"description":"Duration of silence to detect speech stop (in milliseconds). With shorter values the model will respond more quickly, but may jump in on short pauses from the user.","default":200,"minimum":0},"threshold":{"type":["number","null"],"format":"float","description":"Sensitivity threshold (0.0 to 1.0) for voice activity detection. A higher threshold will require louder audio to activate the model, and thus might perform better in noisy environments.","default":0.5,"maximum":1,"minimum":0},"type":{"$ref":"#/components/schemas/VadConfigType","description":"Must be set to \"server_vad\""}}},"VadConfigType":{"type":"string","enum":["server_vad"]},"Voice":{"type":"string","enum":["alloy","ash","ballad","coral","echo","sage","shimmer","verse"]},"WebSearchContextSize":{"type":"string","enum":["low","medium","large"]},"WebSearchOptions":{"type":"object","properties":{"search_context_size":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WebSearchContextSize"}]},"user_location":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ApproximateUserLocation","description":"Approximate location parameters for the search."}]}}},"WebSearchToolCall":{"type":"object","required":["id","status"],"properties":{"id":{"type":"string"},"status":{"$ref":"#/components/schemas/InputItemStatus"}}},"WebSearchUserLocation":{"type":"object","properties":{"city":{"type":["string","null"]},"country":{"type":["string","null"]},"region":{"type":["string","null"]},"timezone":{"type":["string","null"]}}}}},"tags":[{"name":"OpenAI","description":"OpenAI Compatibility"}]}