AI Image Studio & Shared Worker Pool
Submit text-to-image jobs with two fixed presets; server-side queue, cancellation and 7-day result retention.Server-side queued generation (requires server configuration)
Operations
Wallpaper generation
Submit a single wallpaper job through a fixed preset: server-side queue, bounded retries, cancellation and 7-day retention.
Avatar generation
Square avatar preset, one image per job, with the same queue, lease, cancellation and 7-day retention policy.
Real examples and limits
Launch scope: two fixed presets, one image per job; prompt ≤2000 chars, negativePrompt ≤1000 chars; dimensions must come from the preset whitelist; model and steps are fixed server-side and arbitrary model URLs are rejected. Job deadline 15 min, lease 120 s, heartbeat 30 s, at most 2 automatic retries; successful results are retained 7 days and private download links expire after 5 minutes. No GPU worker or database is configured in this round, so official endpoints return 503 "service temporarily unavailable".
FAQ
Why does Run say the service is unavailable?
Generation requires the backend PostgreSQL, a registered worker and private object storage. If any production configuration is missing the API returns 503 and never returns a fake image.
Can I recover a job after refreshing the page?
Only the most recent jobId and expiry time are restored within the same browser session. localStorage never stores prompts, worker credentials or download tokens.
Can a job occupy a GPU forever?
No. Heartbeats can only extend the lease up to the job deadline (plus a separate max_run_at hard cap); an expired lease is re-queued or failed.
Will a late image be published after cancellation?
No. Cancellation and completion use a first-terminal-write-wins CAS policy; terminal states never roll back and late objects are marked orphan and swept.
Can someone guess a jobId and download my image?
No. Query, cancel and download all check the owner hash of a host-only anonymous session; non-owners get 404 and there is no enumeration endpoint.