Function
pipe
v1.5.9
OpenAI Responses API Pipeline
Function ID
openai_responses_api_pipeline
Creator
@jkropp
Downloads
83+
Brings OpenAI Response API support to Open WebUI. Streams <think> reasoning (if enabled) and assistant text using the OpenAI Responses SDK, with early support for images, reasoning, and status indicators.
README

📌 OVERVIEW

This pipeline brings OpenAI Responses API support to Open WebUI. Just drop it in to leverage models and features exclusive to the Responses API. Clone the pipeline for each model you want to add.

IMPORTANT NOTE: I have NOT run this in production yet. I will further improve & refine over the next few weeks so check back for new versions.


✨ FEATURES

• 💬 Reasoning (chain-of-thought) control via REASON_SUMMARY and REASON_EFFORT. • 🔨 Native OpenAI tool calling support (integrates cleanly with OpenWebUI tools). • 🖼️ Image input support via "input_image" (base64 format). • 🐞 Optional debug mode (DEBUG=True) for inspecting requests and streamed events. • 🌐 Integrated OpenAI web search tool (if ENABLE_WEB_SEARCH=True). • 💬 Minimal overhead for bridging OpenWebUI messages to OpenAI's Responses API.


🛠️ CHANGELOG

• 1.5.9

  • Fixed bug where web_search tool could cause OpenAI responses to loop indefinitely.
  • Introduced MAX_TOOL_CALLS valve (default 10) to limit the number of tool calls in a single request as extra safety precaution.
  • Set PARALLEL_TOOL_CALLS valve default to False (prev. True) to mirror OpenAI's default behavior.

• 1.5.8

  • Polished docstrings and streamlined debug logging output.
  • Refactored code for improved readability.

• 1.5.7

  • Introduced native tool support for OpenAI! Integrate with OpenWebUI tools.

• 1.5.6

  • Fixed minor bugs in function calling and improved performance for large messages.
  • Introduced partial support for multi-modal input.

🧭 ROADMAP

⭢ Usage Stats Integration
Display token usage, cost estimates, and related metrics directly in the Open WebUI UI.

⭢ Tool Call Citations
Automatically generate citations when built-in or custom tools are invoked, improving traceability and output explainability.

⭢ Message Transform Refactor
Rewrite transform_messages_for_responses() for improved readability, structure, and maintainability.