Overview
The pluginhellojint/updream-openai-compatible-plugin (GitHub) is an open-source image-generation plugin for Updream Desktop v0.2.0 that speaks the Universal OpenAI-compatible Image protocol. Once installed, the desktop client forwards image-generation requests to any third-party API upstream that conforms to the OpenAI Images interface — APIYI satisfies this requirement on the API path.
- Source:
github.com/hellojint/updream-openai-compatible-plugin(GitHub) - License: MIT
- Author: hellojint
- Plugin package name:
updream-openai-compatible-v1.updplugin - Based on: the OpenAI image-provider example from the official Updream plugin authoring guide
Core Features
Universal OpenAI-compatible protocol
/v1/images/generations and authenticates with Bearer. APIYI satisfies this.Local execution on desktop
API key stored locally
Multiple Providers side by side
openai, apiyi-compatible) and switch between them.Automatic size mapping
size parameter. Hard-coded extra.size overrides the mapping.Multiple response formats
data[].url, data[].b64_json, top-level url, etc. MIME is sniffed from Base64.APIYI model examples
The following IDs can be filled into the Endpoint ID field. They are examples only:The actual supported models are listed on the APIYI model recommendations page. This table only demonstrates the field format the plugin accepts.
Plugin configuration fields
Once the plugin is loaded into the desktop client, the Add API-Key form exposes:Installation and configuration (walkthrough)
Step 0: Desktop client overview

v0.2.0 at the bottom-right.
Step 1: Import the plugin

updream-openai-compatible-v1.updplugin and confirm the install when asked. The author recommends reviewing plugin.py before confirming.
Step 2: Verify the install

Step 3: Add a key

Step 4: Configure APIYI

Step 5: Confirm the Provider is enabled

apiyi-compatible entry. Its provider identifier is plugin:universal-openai-compatible-image and the status is Enabled. You can switch between or disable Providers at any time.
Usage: Web → Desktop → Web loop
After the five steps above, triggering an image generation from the Updream web client will use theapiyi-compatible Provider on the desktop side and forwards it to https://api.apiyi.com/v1/images/generations. The result flows back to the web canvas node.

apiyi-compatible (the arrow position) + 16:9 / 2K / ×1. This is a visible result of a task that started in the Updream web client, ran on the desktop client, and returned to the web canvas.
FAQ
After importing the plugin, 'Universal OpenAI-compatible Image' doesn't appear in the protocol dropdown?
After importing the plugin, 'Universal OpenAI-compatible Image' doesn't appear in the protocol dropdown?
- Confirm the
.updpluginarchive containsplugin.pydirectly at the root, matchingmanifest.entry - Restart the desktop client
- In the Manage Plugins page confirm the plugin status is not Disabled
Test connection succeeds but generation fails?
Test connection succeeds but generation fails?
- Check that the Endpoint ID is spelled correctly and present in APIYI’s current model list
- Verify your account balance is sufficient (see Why does my account fail even with remaining balance?)
- Check the exact error code on the desktop client’s Local execution page
Why does the desktop client work but the web client cannot use the same Provider?
Why does the desktop client work but the web client cannot use the same Provider?
How do I repackage the plugin?
How do I repackage the plugin?
manifest.json.version, then repackage:plugin.py directly at the root.Will the API key end up in the plugin code or logs?
Will the API key end up in the plugin code or logs?
cfg.get('api_key'). Don’t paste real keys into plugin.py, the README, issues, or chat.Related resources
Updream integration with APIYI (web, recommended)
hellojint/updream-openai-compatible-plugin
github.com/hellojint/updream-openai-compatible-plugin