Skip to main content
Adds a conversation item to the session. Use it to provide user messages, function calls, or function call outputs that should become part of the conversation context. The server confirms with conversation.item.created. conversation.item.create → response.create: wait for the matching conversation.item.created before requesting a reply that uses the new message. Use the same sequence when returning a tool result.

Event fields

string
Client-generated id for this event.
string
required
Event type. Must be conversation.item.create.
string
Item after which the new item should be inserted. If omitted, the item is appended. Use root to insert at the beginning of the conversation.
object
required
A single item within the realtime conversation. Provide one of the variants below.
string
Server-assigned or client-provided conversation item id.
string
required
One of message, function_call, or function_call_output.
string
One of completed, incomplete, or in_progress. Usually returned by the server.
Message variant Message item with item.type: "message". Message variant.role: string enum One of system, user, or assistant. System messages provide additional conversation context or instructions. For assistant messages, generated audio and video are delivered over RTC media tracks, and the text for spoken output streams through response.output_text.* events. Message variant.content: array Message content parts. System messages typically use input_text; user messages typically use input_text, input_audio, and input_image; assistant messages typically use text parts. Message variant.content[].type: string enum One of input_text, input_audio, input_image, or text. Message variant.content[].text: optional string Text content. Used with input_text and text. Message variant.content[].audio: optional string Base64-encoded audio. Used with input_audio. Message variant.content[].transcript: optional string Optional transcript. Used with input_audio. Message variant.content[].image_url: optional string Image URL. Used with input_image. Message variant.content[].detail: optional string enum Image detail level of auto, low, or high. Used with input_image. Function call variant Function call item with item.type: "function_call". Function call variant.call_id: optional string Function call id. Function call variant.name: string Function name. Function call variant.arguments: string JSON-encoded function arguments. Function call output variant Function call output item with item.type: "function_call_output". Function call output variant.call_id: string Function call id this output belongs to. Function call output variant.output: string Function output as a string.