POST /responses acepta solicitudes en el formato Responses API de OpenAI y devuelve elementos de salida tipados como reasoning, message y function_call. Funciona con todos los modelos de texto de Venice y acepta una API key o autenticación con billetera x402.
Cuándo usarlo
Usa/responses cuando tu cliente ya hable el formato Responses, por ejemplo agentes de programación y SDK construidos sobre responses.create de OpenAI. Es la mejor forma de ejecutar agentes al estilo Codex en modelos de OpenAI a través de Venice.
Para modelos que no son de OpenAI, /chat/completions sigue siendo la opción más completa: admite salidas estructuradas, entradas de archivos, modelos E2EE y todas las opciones de venice_parameters en todos los modelos.
Inicio rápido
output de elementos tipados y un objeto usage:
Procesamiento de las solicitudes
Venice sirve cada solicitud en uno de dos modos.- Nativo. Las solicitudes para modelos de OpenAI se reenvían a la Responses API de OpenAI sin traducción. Esto abarca todos los modelos
openai-*exceptoopenai-gpt-oss-120b. Los elementos de respuesta, los ID, el razonamiento y los eventos de streaming se devuelven exactamente como los devuelve OpenAI. - Traducido. Todos los demás modelos, además de
openai-gpt-oss-120b, pasan por una capa de traducción: Venice convierte la solicitud en una solicitud de Chat Completions, la ejecuta y vuelve a convertir el resultado. Todo lo que el formato Chat Completions no puede expresar se ignora o se rechaza. Consulta Limitaciones.
web_search, web_search: true o venice_parameters.enable_web_search), x_search, venice_parameters.character_slug y venice_parameters.enable_web_scraping. Las solicitudes con campos que el modo nativo no puede servir, enumerados en Modo nativo, recurren al modo traducido de la misma manera.
Puedes controlar e inspeccionar el modo con encabezados:
Las conversaciones no tienen estado
Venice no almacena respuestas en ninguno de los dos modos. Envía la conversación completa eninput en cada solicitud, añadiendo los elementos output anteriores y cualquier resultado de herramientas.
store siempre se trata como false. previous_response_id y conversation no pueden resolverse porque no se almacena nada. Con el modo auto predeterminado, estas solicitudes se sirven en modo traducido, donde esos campos se ignoran. Con x-venice-responses-mode: native devuelven 400.
Modo nativo
El modo nativo admite las funciones de Responses que admite el propio endpoint de OpenAI, entre ellas:instructions, aplicadas tal como están escritas.- Salidas estructuradas con
text.format. OpenAI valida los esquemas de forma estricta, por lo que un esquema no válido devuelve 400. Por ejemplo,strict: truerequiereadditionalProperties: false, yjson_objectrequiere que la palabra “json” aparezca en algún lugar del input. - Herramientas de función y
tool_choiceen la forma de Responses de OpenAI{"type": "function", "name": "..."}, además de llamadas a herramientas en paralelo. - Herramientas ejecutadas por el cliente:
custom(entrada de formato libre),namespace,tool_search,apply_patch,shellylocal_shellcon un entorno local, y computer use. - Resúmenes de razonamiento, activados por defecto. Los modelos de razonamiento siempre devuelven
encrypted_contenten los elementos de razonamiento. Devuelve esos elementos eninputen el siguiente turno para conservar el contexto de razonamiento del modelo. - Caché de prompts con
prompt_cache_key. Venice limita la clave a tu cuenta, de modo que nunca comparte una caché con otros usuarios, y devuelve tu clave original en la respuesta. - Entradas de imagen, incluido
detail: "original", einput_fileconfile_dataen línea. - Modelos Pro (
*-pro), que ejecutan automáticamente el modo de razonamiento Pro de OpenAI.
instructions se aplican sin cambios. Establece venice_parameters.include_venice_system_prompt: true para añadirlo.
Estas funciones requieren almacenamiento en el servidor o recursos alojados por el proveedor, por lo que no están disponibles de forma nativa:
Estas restricciones también se aplican a las herramientas cargadas más adelante en la conversación mediante elementos
additional_tools o tool_search_output. Una herramienta de búsqueda de Venice declarada allí también envía la solicitud al modo traducido.
Los campos de solicitud no reconocidos se tratan de la misma manera: con auto la solicitud se sirve en modo traducido, y con native devuelve 400.
Streaming
Establecestream: true para recibir server-sent events. Ambos modos terminan el stream con data: [DONE].
En modo nativo, los eventos son exactamente los de OpenAI, incluidos response.reasoning_summary_text.delta para los resúmenes de razonamiento y response.function_call_arguments.delta para los argumentos de las herramientas.
En modo traducido, los eventos son response.created, response.output_item.added, response.content_part.added, response.output_text.delta, response.function_call_arguments.delta, response.content_part.done, response.output_item.done y, por último, response.completed, response.incomplete o response.failed. Dos eventos difieren de los de OpenAI:
- El texto de razonamiento se transmite como
response.reasoning.delta, no como los eventos de resumen de razonamiento de OpenAI. - Cuando se ejecuta la búsqueda web, un evento
response.web_search.donelleva los resultados de búsqueda antes de que se transmita la respuesta.
Parámetros del modo traducido
La búsqueda web se factura como aumento de búsqueda, igual que en
/chat/completions.
Algunos comportamientos del modo traducido que conviene tener en cuenta:
- Las
instructionsse aplican como un mensaje de sistema. - Las herramientas personalizadas devuelven elementos
custom_tool_callcon elinputsin procesar. Si un modelo devuelve argumentos mal formados para una herramienta personalizada, o llama a una herramienta que no está declarada en la solicitud, la llamada se devuelve como unfunction_callnormal con los argumentos originales, para que tu cliente pueda informar de un error de herramienta y continuar. - Mientras se transmite el input de una herramienta personalizada, su elemento de llamada y los elementos posteriores pueden llegar solo después de que el input esté completo. El stream envía comentarios SSE de keep-alive mientras espera.
detail: "original"de las imágenes se envía comohigha los proveedores que no lo admiten.
Limitaciones
Estas carencias se aplican al modo traducido: todos los modelos que no son de OpenAI,openai-gpt-oss-120b y las solicitudes a modelos de OpenAI que usan funciones exclusivas de Venice. Salvo que se indique lo contrario, la solicitud se completa igualmente y el campo se ignora.