Before you install
You need Node.js 22 or newer, the .NET 9 runtime, and an approved private Images identity. Version 0.2.0 is a release preview; GitHub sign-in and repository access may be required to see the draft package. Installing the plugin does not grant API access or authorize paid generation.
1. Download and install
Open the Images Operations 0.2.0 release preview and download images-operations-0.2.0.zip and images-operations-0.2.0.zip.sha256. If you cannot access the draft, ask the release owner for the original ZIP and its trusted checksum. Do not use another person's installed folder.
Compare SHA-256 with the checksum file before extracting the ZIP:
Windows · PowerShell
Get-FileHash .\images-operations-0.2.0.zip -Algorithm SHA256
Get-Content .\images-operations-0.2.0.zip.sha256macOS or Linux · terminal
# macOS
shasum -a 256 images-operations-0.2.0.zip
# Linux
sha256sum -c images-operations-0.2.0.zip.sha256Extract the ZIP, open a terminal in its images-operations folder, and install into a permanent local directory. Examples:
Windows · PowerShell
node scripts/install.mjs --destination "$env:USERPROFILE\WingoriaPlugins"macOS or Linux · terminal
node scripts/install.mjs --destination "$HOME/WingoriaPlugins"The installer creates images-operations-0.2.0 inside that directory. Keep it in place: both clients launch the verified files from there.
2A. Add to Codex
Run these commands in your terminal. On macOS or Linux, replace the first path with "$HOME/WingoriaPlugins/images-operations-0.2.0".
codex plugin marketplace add "$env:USERPROFILE\WingoriaPlugins\images-operations-0.2.0"
codex plugin add images-operations@wingoria-images
Restart Codex and start a new task. The plugin appears as Images Operations. You can also select Wingoria Images in the plugin directory and install it there after adding the marketplace.
2B. Add to Claude Code
Run these slash commands inside Claude Code. Replace <absolute-installed-directory> with the full path created above, ending in images-operations-0.2.0; use forward slashes on Windows.
/plugin marketplace add <absolute-installed-directory>
/plugin install images-operations@wingoria-images
Start a new Claude Code session. These instructions cover Claude Code; they do not describe the Claude Desktop extension installer.
3. Connect your private Images profile
Ask the Images access owner to configure the following variables in your client's protected launcher environment. Do not paste credentials into chat or this page. Browser sign-in does not configure the plugin.
WINGORIA_IMAGES_MCP_ORIGIN:https://images-production-7208.up.railway.app/WINGORIA_IMAGES_MCP_CREDENTIALandWINGORIA_IMAGES_MCP_EXPECTED_OWNER: your approved image identity and owner.WINGORIA_IMAGES_MCP_ALLOWED_ROOTS: absolute local folders for references and downloads, separated by;on Windows or:on macOS/Linux.WINGORIA_IMAGES_MCP_VIDEO_CREDENTIAL: the separately approved video credential, if you need video. It is not a provider API key.
Railway diagnostics additionally require the native Railway CLI and WINGORIA_IMAGES_PLUGIN_CONFIG pointing to your private configuration file. Every machine uses its own Railway login and registered SSH identity. The bundled installation guide describes the exact configuration; Railway setup is separate from image and video access.
4. Check the connection
In a new task, ask: Use the Images Operations plugin to read image capabilities only. Do not generate anything.
If video is configured, ask for video capabilities too. Stop on an access error and have the access owner correct the profile. A successful capability read does not prove a paid generation will succeed.
For an upgrade, install the new version into its own directory, update your marketplace registration, and restart the client. Keep private credentials outside the installed plugin folder.
Client references: Codex plugin documentation · Claude Code plugin documentation.
Available tools
| Tool | Purpose |
|---|---|
wingoria_images_capabilities | Read admission, provider capabilities and allowed operations before doing work. |
wingoria_images_generate | Submit one asynchronous generation job after explicit paid-action consent. |
wingoria_images_edit | Submit one asynchronous edit job using bounded references. |
wingoria_images_job | Read a job's authoritative state and artifact metadata. |
wingoria_images_download | Download a completed artifact, verify its bytes and save it only inside an allowed directory. |
wingoria_videos_capabilities | Read available video models and supported parameters without generating media. |
wingoria_videos_generate | Submit one text-to-video or image-to-video job after explicit paid-action consent. |
wingoria_videos_job | Read video state and available cost metadata. |
wingoria_videos_download | Verify a completed MP4 and save a local copy inside an allowed directory without overwrite. |
How an AI must use it
- Call
wingoria_images_capabilitiesand stop if admission or the requested provider is unavailable. - Ask for explicit user consent before a paid generation or edit.
- Submit once with a stable idempotency key. Never retry an ambiguous submission automatically.
- Poll the returned job identifier with
wingoria_images_job. - Download only a succeeded artifact. The server checks size, MIME type and SHA-256 before an atomic save.
Interiors geometry rules are not part of this MCP server. A Codex plugin must package this same server instead of implementing a second Images client.
For video, follow the same sequence with the video tools. Choose model, duration, resolution, aspect ratio and audio from video capabilities. Set paidOperationApproved only after consent. An image-to-video source must be an image job readable by the video identity or an existing supported fal.media image URL; local image upload is not provided.
Authentication
Codex and Claude require distinct technical identities with minimum operation permissions. Authentication supplies each protected credential to its local client profile; it is never accepted as a tool argument, written to this site or committed to source control.
The Images receiver validates the exact identity, workload, resource, operation and credential revision. Human login is never used as a service fallback. Operators should follow the private enrollment receipt supplied by Authentication rather than copying credentials from browser sessions.
Video requires a separate private Images credential with video permissions. Its API does not accept the image workload protocol. Without that credential, video calls are rejected locally while image tools remain usable. Provider API keys stay on the Images server; the plugin never needs a fal or OpenAI key. It does not change server authentication settings.
Costs and storage
Generation is billed to the Images server's configured provider account; pricing depends on the model and output parameters. Job cost metadata may be estimated or unavailable. It is not a guaranteed quote, invoice or spending cap. Check the provider's current pricing and account billing before authorizing paid work.
Media generated through this plugin is saved by Images on the server. A common storage volume does not make a shared gallery: access remains tied to the requesting identity. Downloading creates an additional local copy at your chosen allowed path. Media generated by a different built-in chat tool is not automatically uploaded to Images.
Feedback and failures
401: the technical identity was not verified.403: identity verified, but the operation is not permitted.409: idempotency, state or admission conflict; inspect the existing job.503: admission, provider or storage is unavailable; no automatic paid retry.
Tool results return static status codes, job identifiers and sanitized error classifications. They never return tokens, authorization headers or credential values.
Optional Railway diagnostics
Three separate diagnostics are available: wingoria_railway_deployment_status, wingoria_railway_logs, and wingoria_spines_images_admission. Logs contain only sanitized event categories; free text is omitted. The admission probe invokes the existing Spines backend command once and cannot generate an image. Admission does not authorize spending.
Installation and offline checks perform no generation, application deployment or credential changes. Authentication stays in each local client profile. This static page never executes tools or stores credentials. Verify a second independently authenticated installation when available.