Create Chat Image Recognition (Streaming) Base64
- Vision chat endpoint compatible with the OpenAI Chat Completions API (multimodal messages)
- Pass a Base64 data URI via
image_url.urlinmessages(data:image/...;base64,...) - Set
stream: truein the request body to enable SSE streaming - Official docs: Chat Completions
Authorizations
Request Body
ID of the model to use. Vision scenarios commonly use gpt-4o and other vision-capable models.
List of conversation messages. For vision, user message content is a multimodal array (text + image_url).
image_url.url may be a Base64 data URI; a public image URL is not required.
Sampling temperature between 0 and 2. Higher values (e.g. 0.8) make output more random; lower values (e.g. 0.2) make it more focused. We generally recommend changing this or top_p, but not both.
Nucleus sampling alternative to temperature. The model considers tokens with top_p probability mass (e.g. 0.1 = top 10%). We generally recommend changing this or temperature, but not both.
Default 1. How many chat completion choices to generate per input message.
Set to true for vision streaming. Tokens are sent as server-sent events and the stream ends with data: [DONE].
Default null. Up to 4 sequences where the API stops generating further tokens.
Default inf. Maximum tokens to generate in the completion.
Total length of input + output tokens is limited by the model context length.
Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the chance of new topics.
Default 0. Number between -2.0 and 2.0. Positive values penalize new tokens based on their frequency in the text so far, reducing repetition.
Modify the likelihood of specified tokens appearing in the completion. Accepts a JSON object mapping token IDs to bias values from -100 to 100.
Unique identifier for your end user. Helps OpenAI monitor and detect abuse. Learn more.
Object specifying the output format. Set { "type": "json_object" } to enable JSON mode.
Beta feature. If set, the system will try to sample deterministically; use system_fingerprint in the response to monitor backend changes.
List of tools the model may call. Currently only functions as tools are supported.
Controls which function the model calls, if any. none / auto / specify function name.