llm-connect/workplans/LLM-WP-0010-text-to-image-rendering.md
tegwick e3ab268d6e
Some checks failed
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Has been cancelled
Add square text-to-image rendering with a spend gate
Hall of Helix needs a credential-safe render that returns a provenance
receipt and refuses a batch before the quote exceeds its cap. OpenRouter
is the only client; the model and the live budget stay with the founder.

Assistant: grok
Assistant-Session: 01a11ab6-1534-7d63-8606-662b92a80ed6
2026-10-08 11:01:49 +02:00

2.2 KiB

id type title domain repo status flavor owner topic_slug created updated related
LLM-WP-0010 workplan Text-to-image rendering for square portraits agents llm-connect active implementation grok text-to-image-rendering 2026-10-08 2026-10-08
message:ae2b441f-7c38-4cb5-8572-47791cb52456

LLM-WP-0010 — Text-to-image rendering for square portraits

Founder-approved request from fluid-telegram (2026-10-08) for the Hall of Helix portrait backfill. This workplan adds the facility. It does not choose the production model or the live budget, and it does not render the hall.

Library, OpenRouter client, and spend gate

id: LLM-WP-0010-T01
status: done
priority: high

llm_connect.images renders one square image of at least 1024 pixels and returns bytes plus a receipt: provider, model, SHA-256 prompt digest, and cost. A per-call or batch cap requires a quote and refuses before the provider call. OpenRouter POST /api/v1/images is the only client. The model is required. The API key is resolved the same way as the chat adapter and is not copied onto the receipt. Contract: contracts/functional/images.md.

CLI

id: LLM-WP-0010-T02
status: done
priority: high

llm-connect image render writes --output or a JSONL --batch of prompt / output_path lines. Receipts go to stdout. Exit 2 stops a batch on a cap. Existing files are not replaced unless --force.

HTTP

id: LLM-WP-0010-T03
status: done
priority: high

POST /images is registered only when python -m llm_connect.server is started with --image-model, --image-max-cost-usd, and --image-quote-usd. The response is the receipt plus base64 bytes. /execute is unchanged. The process-lifetime batch cap is shared by concurrent requests.

Live backfill

id: LLM-WP-0010-T04
status: wait
priority: medium
blocking_reason: "The facility is in place and covered by fake-provider tests. A paid Hall of Helix backfill still needs the founder to name the image model, the per-call quote, and the batch cap. fluid-telegram asked not to have that chosen for them."

Do not run a paid render, deploy a new image, or write hall portraits until that choice is recorded. Reply to fluid-telegram used this workplan id.