explaingit

rosekhlifa/image-studio

50TypeScript

TLDR

Image Studio is a desktop image generation and editing client written in Go and React, packaged with Wails.

Mindmap

A visual breakdown will appear here once this repo is fully enriched.

In plain English

Image Studio is a desktop image generation and editing client written in Go and React, packaged with Wails. It exists to solve one real-world annoyance for people using OpenAI-compatible relay services that sit behind Cloudflare. Models like image-2 and gpt-image often need 30 to 120 seconds to produce a result, but Cloudflare's default 100-second gateway timeout cuts the connection, and the client receives a 524 or 504 error instead of an image. The author's fix is to call the upstream /v1/responses endpoint and consume it as a Server-Sent Events stream. The model emits progress events like response.in_progress and partial_image while it works, which keeps the TCP connection visibly active so Cloudflare stops treating it as idle. The app also retries up to three times with a 15-second backoff and falls back to the last partial_image_b64 if the final result never arrives. For relays that do not support the Responses API, a second mode uses the standard /v1/images/generations and /v1/images/edits endpoints with normal one-shot JSON. The app itself is a full image editor. There is a Konva canvas with zoom, pan, and a fit toggle, plus brush-and-eraser masking, four annotation tools (rectangle, arrow, freehand, text), and Go-side image processing for rotate, flip, and crop that edits in place without spawning extra history entries. A history sidebar stores past generations in IndexedDB, with search, filters, and a Shift-click diff view. Multiple workspace tabs run in parallel, each with its own prompt, parameters, and current image. A first-launch wizard collects five fields: API form (Responses or Images), upstream BASE_URL, API key, optional text model ID, and image model ID. The README is clear that the app ships with no default upstream and no telemetry. API keys, history, and generated images all stay on the user's machine. There is a Test Connection button, a toggle to disable the model's default prompt rewriting, and an output format setting for PNG, JPEG, or WebP. Installation is by prebuilt binary from the Releases page (Windows x64, macOS universal, Linux x64), or by building from source with Go 1.25+, Node 20+, and the Wails v2 CLI. Wails v2 does not cross-compile, so each platform builds on its own. The project is MIT licensed.

Open on GitHub → Explain another repo

Generated 2026-05-21 · Model: sonnet-4-6 · Verify against the repo before relying on details.