Docs / Platform / Images

Images

Image generation is withheld on the public API. The endpoints answer, but no new image job can be created.

Policy

Image generation is intentionally unavailable while MaxiMind enforces the rule that a model prompt must never read, change or delete files on the owner's Mac. No installed image path has passed that host-file boundary:

  • The former agy-image helper was removed because its prompt-driven process could see the real HOME, bypassed permissions and retried without a sandbox.
  • Codex image generation was tested inside the same private runtime, but the installed CLI requires Code Mode to invoke its image tool, and read-only Code Mode can still read host paths. MaxiMind withholds Codex image generation rather than weakening the host boundary.
  • Local image models are excluded by product policy.

Image MCP cards are removed from MaxiMind discovery so clients do not advertise a tool the API will refuse. Do not connect a site to a separate direct image helper as a workaround; it is outside this safety contract.

What the endpoints return

GET /api/ai/image/models

curl -s https://maximind.dev/api/ai/image/models -H "x-api-key: $MAXIMIND_API_KEY"
{"ok": true, "models": []}

The server normalizes every persisted image allow-list to empty, so stale policy files cannot re-enable an old model.

POST /api/ai/image

A non-empty prompt returns HTTP 503 before model selection, queue admission, usage charging, output-file creation or job registration:

curl -s -X POST https://maximind.dev/api/ai/image \
  -H "x-api-key: $MAXIMIND_API_KEY" -H "Content-Type: application/json" \
  -d '{"prompt":"a red bicycle"}'
{"detail": "Image generation is temporarily unavailable: no host-confined subscription image runtime has passed the safety boundary."}

An empty prompt still returns HTTP 400.

GET /api/ai/image/status/{id} and GET /api/ai/image/file/{name}

Kept only for compatibility with identifiers and files issued before the withholding. The file route has no auth (the random name is the capability). No new job can reach them.

Credits

The legacy image action was 5 credits. Because the 503 is returned before charging, nothing is recorded today.

Worker profiles

generate_image is unavailable in every sandboxed worker profile (research, read_docs). See Workspace.

Canvas

Approved Canvas sessions have their own image routes (/api/canvas/image/*), but they use the same empty image catalogue, so no image can be produced there either while generation is withheld.

What would re-enable it

A runtime whose image tool works with a disposable HOME, a private work directory, no host-readable Code Mode, a zero-tool receipt for the text/model stage, and live canary proof that host files are unreachable. Until then, the catalogue stays empty.

Reading images is separate

Sending images to a model works today. See Vision.

Errors

Status Meaning
400 Empty prompt.
401 / 403 Missing key, or pending account.
503 Image generation withheld (every non-empty prompt).