Server
--server runs ZShot as an HTTP server that renders captures through its API. It binds 127.0.0.1:3000 by default; set --server-bind-address and --server-bind-port to change that. To reach the server from another host or a container, bind 0.0.0.0.
zshot --server --server-bind-address 0.0.0.0 --server-bind-port 3000The server’s routes are listed under Endpoints.
Concurrency
The server renders one request at a time, or up to the CPU count with an Enterprise license, and holds up to 100 further requests in a queue. A queued request starts when a slot frees and returns 408 if its timeout expires first; a request that arrives when the queue is full gets 429. Every render response carries a Server-Timing header with queue, the milliseconds spent waiting for a slot, and total, the milliseconds from arrival to completion. A render that called a navigator or formatter model also carries X-Zshot-LLM-Usage, the tokens each model spent; see --llm-usage. --server-max-concurrency raises the cap and --server-queue-requests sets the depth; --server-queue-requests 0 turns the queue off.
To run the server in Docker, see Docker.