Display
A full Linux desktop streamed to any browser. Launch any X11 app — Firefox, VS Code, GIMP, LibreOffice — and access it from a URL. Powered by Xpra with H264 hardware acceleration. No VNC client, no RDP client, no desktop app. Just a browser tab.
1 import requests
2
3 r = requests.get(
4 '.../screenshot'
5 )
6 with open('f.png', 'wb') as f:
7 f.write(r.content)
8 # 1920x1080 PNG
Five ways to use Display
Display adapts to how you work. Run a full Linux desktop in a tab, share it with your team, capture it programmatically, embed it in your own UI, or tune it for low-bandwidth links — all from the same URL.
Full Linux Desktop
Run any X11 application — browsers, IDEs, image editors — in a sandboxed container and stream it to a browser tab. No VNC, no RDP, no native client.
# before / after
- vncviewer user@server:5901 (install client, open port)
+ Open https://display-1.hoody.com — works on any device
# Check the display is up
$ curl /api/v1/health
> ["status": "ok"]
# Inspect the session
$ curl /api/v1/display/info
> [
> "display": 1,
> "resolution": "1920x1080",
> "encoding": "h264",
> "clients": 1
> ]
One URL, 50+ parameters
Everything about a display session is controlled by the URL. Flip a chip below and the URL updates — then open it, iframe it, or send it to a teammate.
Session
Who can connect, who can control, whether to reconnect on drops.
Media & Features
Sound, clipboard sync, file transfer, printing — lock down or open up.
Encoding
H264 for motion, WebP for balance, PNG for lossless, JPEG for metered links.
Bandwidth cap
Hard cap on bytes-per-second. 0 means unlimited.
Keyboard layout
Layout code. Use swap_keys=true on macOS for Cmd→Ctrl mapping.
Every pixel is an HTTP response
Capture screenshots, stream thumbnails, and configure the session with query parameters. The display is addressable, observable, and programmable end to end.
View All Endpoints# Capture the live desktop as a PNG
curl -X GET \
https://proj-dev-display-1.hoody.com/api/v1/display/screenshot \
-H "Authorization: Bearer $TOKEN" \
-o frame.png
# Or get base64 + metadata in JSON
curl "https://proj-dev-display-1.hoody.com/api/v1/display/screenshot?base64=true" \
-H "Authorization: Bearer $TOKEN"
# Response:
# {
# "image": { "data": "iVBORw0KG..." },
# "info": {
# "full": { "width": 1920, "height": 1080 },
# "timestamp": "1730659200000"
# }
# }
Desktops, on demand
A URL-addressable desktop opens up workflows that were never practical before. No installs, no clients, no OS lock-in.
AI Computer Use
Agents that click, type, and read pixels. Screenshot API feeds vision models; keyboard and mouse are HTTP. Give Claude or GPT a full Linux desktop with a URL.
Remote Work Desktops
One desktop per employee, centrally managed, accessible from any device. Data never leaves the container. Onboard in seconds — share a URL.
Development Environments
Cursor, VS Code, JetBrains, full browsers — all running in the container, not on the laptop. Open a URL on a Chromebook and have a senior workstation.
SaaS Desktop Apps
Ship Linux-only software to any browser. Legacy CAD tools, scientific apps, trading terminals — wrap them in a container and charge per URL.
Monitoring Dashboards
Thumbnails at 320px let you tile dozens of live desktops in a single view. Refresh every 5s, flag anomalies, drill into the full display with one click.
Shared Presentations
?sharing=true&readonly=true turns any desktop into a broadcast. Presenter drives, audience watches — no screen-share software required.
13 endpoints, full observability
Screenshots, thumbnails, session metadata, and health checks. Every endpoint returns structured JSON or raw image data with bearer token auth.
Screenshots
5 endpointscurl .../screenshot -o frame.png → 1920x1080 PNG
Thumbnails
5 endpointscurl .../thumbnail/last → 320px preview JPEG
Info & Metadata
2 endpointscurl .../display/info → {display: 1, screenshots: [...]}
Health
1 endpointcurl .../health → {status: "ok"}
Everything built in
Every feature ships ready to use. No plugins, no drivers, no client installs.
Hardware Acceleration
H264 video encoding at 2–5 Mbps for smooth motion. JPEG at 100–500 Kbps for metered links. WebP, PNG, and raw RGB all available.
Clipboard Sync
Copy on your laptop, paste in the remote desktop — and back again. Plain text, rich text, and UTF-8 formats supported.
Touch Devices
Tap, pinch-zoom, and two-finger scroll work out of the box. Add ?keyboard=true for an on-screen virtual keyboard on phones and tablets.
Auto-Reconnect
?reconnect=true restores the session when Wi-Fi flips or your laptop wakes. The desktop keeps running server-side while you're away.
Read-Only Mode
?readonly=true locks input for view-only access. Perfect for dashboards, presentations, and handing out demo links.
Feature Flags
Toggle sound, printing, clipboard, and file transfer independently. Lock down an environment for security or strip features for performance.
Put a desktop in a URL
Display is one of 14 Kit services that ship with every Hoody container. No installers, no clients, no VPN — just a browser tab.