RoseKhlifa/Image-Studio
开源image2调用图像生成/编辑桌面客户端 · SSE 流式保活,兼容 Cloudflare 524/504 超时截断 · Wails (Go + React/TS) · 数据 100% 本地
Image Studio – a cross‑platform desktop client for AI image generation
What it is
- A free, open‑source GUI application that lets you talk to any OpenAI‑compatible image‑generation service (e.g. DALL‑E, Stable Diffusion APIs, custom hosted models).
- It focuses on the Responses API pattern, which streams results via Server‑Sent Events (SSE) or WebSocket, helping you avoid the common Cloudflare/Nginx timeout errors (HTTP 524/504) that happen with long‑running image generation.
- Supports the standard Images API (
/v1/images/generationsand/v1/images/edits) as a fallback when the upstream only offers the classic endpoint.
Why it matters
- Many hosted image‑generation back‑ends are behind reverse‑proxies that cut off long‑running requests. Image Studio’s streaming mode keeps the connection alive and shows partial progress, making large or high‑resolution generations more reliable.
- It bundles the UI, configuration, and a thin Android WebView wrapper, so you can run the same client on Windows, macOS, Linux, and Android without needing separate codebases.
Key features (as described in the README)
| Feature | What you get |
|---|---|
| Cross‑platform UI | Built with Wails (Go + React/TypeScript). Runs natively on desktop OSes and as an Android WebView shell. |
| Streaming responses | Choose HTTP SSE or WebSocket for the Responses API, which mitigates 524/504 disconnects during long inference. |
| Standard Images API compatibility | Works with any service exposing the /v1/images/* endpoints (generation, edit, etc.). |
| Prompt import helper | Companion project Image‑Prompts can scrape prompts from web pages and push them directly into Image Studio. |
| Batch img2img | Dedicated UI for bulk image‑to‑image processing (see docs/batch-img2img). |
| Custom aspect ratios | Save frequently used width × height ratios via a “custom ratio” dialog. |
| Extensive docs | Guides for installation, configuration, troubleshooting, performance testing, and building from source. |
| Open‑source license | AGPL‑v3 – any modifications that are redistributed or offered as a service must also be open. |
How to get started
- Download a pre‑built binary from the GitHub Releases page (or the latest CI artifact for bleeding‑edge changes).
- Run the app and open the Upstream Configuration screen.
- Enter your API details – base URL, API key, and the model ID you want to call.
- Pick the API mode you need:
- Responses API for long‑running jobs (recommended for high‑quality or large images).
- Images API if the service only implements the classic endpoint.
- Fill in a prompt, adjust size, quality, output format, and style. You can also add custom ratios.
- Press Generate (or
Ctrl/Cmd + Enter). The UI will stream progress and display the final image when ready.
Troubleshooting workflow (summarised from the README)
- Use the built‑in Test Connection button to verify that the base URL, key, and model ID are reachable.
- Check the raw HTTP response and status code in the History view; many failures are due to upstream limits, permission errors, or proxy timeouts, not the client itself.
- If the same credentials fail with
curl/Postman, contact the upstream provider before filing an issue. - The docs contain a detailed checklist for common error codes (401/403, 524/504, model‑not‑found, etc.).
Technical stack
- Backend: Go ≥ 1.25, using the Wails v2 framework to embed a web UI as a native window.
- Frontend: React 18 + TypeScript, compiled into the Wails binary.
- Transport: HTTP SSE or WebSocket for streaming; fallback to ordinary HTTP for the Images API.
- Platforms: Windows, macOS, Linux, Android (via a thin WebView wrapper).
Who might use it
- Artists and designers who want a desktop UI for any OpenAI‑compatible image model without writing code.
- Developers testing self‑hosted diffusion servers who need a reliable client that can survive proxy timeouts.
- Power users who want batch img2img workflows and prompt‑import shortcuts.
Where to find more
- Full documentation lives under the
docs/folder (installation, usage, troubleshooting, performance, build instructions, etc.). - The companion Image‑Prompts site (
https://prompts.sorry.ink/) shows how to import prompts directly. - Issues, feature requests, and community discussion are tracked in the repository’s GitHub Issues and the linked QQ group.
All information above is taken directly from the repository’s README; no additional features have been inferred.
Related
- Project
- Project
- Project
- Project
- Project