POST /v1/responses e receber uma resposta completa.
Transmita a resposta
Cada evento interpretado (TypeScript e Python) mantém os campos originais (
type, delta, …) e adiciona text, usage e os tokens de raciocínio (reasoningTokens / reasoning_tokens). text contém apenas o texto novo: fica vazio nos eventos .done e em response.completed, que repetem texto que você já tem, e o texto completo de um evento .done fica em fullText / full_text.
Com linhas SSE brutas (C#, PHP, Ruby, Java), interprete cada linha data: como JSON e trate você mesmo os nomes de evento, os tipos de evento como response.output_text.delta e response.completed e os marcadores de conclusão. Os métodos de streaming definem stream: true para você, então não o defina na solicitação.
Leia o texto de saída
A saída é um array de itens. O texto fica nos itens deoutput com tipo message, as chamadas de função nos itens com tipo function_call e as contagens de tokens em usage. O resp.output_text do Python junta o texto para você.
Envie ferramentas de função
O corpo da solicitação é o mesmo em todos os SDKs. Em Rust:Rust
Parâmetros
Os nomes dos campos são os campos do corpo JSON em todos os SDKs. O tipophaseo.ResponsesRequest do Go usa campos de struct em PascalCase (Model, Input).
Parâmetros explica cada campo, e a referência da API Responses tem o schema completo.
Resposta
ResponsesResponse:
stream: true, o endpoint envia eventos SSE tipados. O texto chega nos eventos response.output_text.delta, e o evento final response.completed traz a resposta inteira com o uso: