zshot/cliDownload

--llm-format-model

ValueCONFIG
LicensePRO

Select the LLM that powers the llm, llm_json, and llm_text output types. The value is a provider connection string.

zshot -t llm_json \
  --llm-format-model "anthropic://$ANTHROPIC_API_KEY@?model=claude-haiku-4-5" \
  --llm-format-prompt "Summarize this page." \
  https://example.com -f out.json

With the provider’s key already exported, a bare provider name picks its default model and reads the key from the environment, e.g. --llm-format-model anthropic with ANTHROPIC_API_KEY set.

See Providers for the connection-string format, the supported providers, the per-provider key env vars, and query options.

stdio: extract with an external agent

--llm-format-model stdio hands the extraction to an external agent over a file descriptor, exactly like the stdio navigator. zshot sends one frame with the page content (and an <img src="file://…"> screenshot path) plus the format request, terminated by <<END>>; the agent replies with the extracted text or JSON, terminated by <<END>> or a blank line. Endpoint forms (stdio, stdio://3, stdio://?read=…&write=…) and limits (Unix-only, forbidden in HTTP server mode, not fd 0/1 under MCP) match the navigator.

The reason to use it is session context: point both --navigator-type and --llm-format-model at the same fd and one agent drives the navigation, then shapes the extraction knowing what the task and page were.

zshot --navigate "Open the latest release notes" \
  --navigator-type stdio://3 \
  -t llm_json --llm-format-model stdio://3 \
  https://example.com -f out.json

When a stdio navigator is set and an llm_* output is requested without an explicit --llm-format-model, the stdio formatter is inferred from the navigator automatically.

This is a Pro-tier flag.