1.6 KiB
Preface Tools
Preface Tools is a database-free classroom utility server. Its first tool, Comic Animator, lets a student upload a comic page, create and edit a multimodal OpenRouter prompt, obtain instructor approval, and generate a video.
Run locally
Requires Go 1.26 or later. Copy .env.example to .env, replace every secret
and model placeholder, export the variables, then run:
go run ./cmd/preface-tools
The process fails at startup when required configuration is missing. In
production, use HTTPS and set APP_ENV=production so the session cookie is
marked Secure. PUBLIC_BASE_URL must be an HTTPS address reachable by
OpenRouter because it fetches a short-lived, signed source-image URL.
Storage and restart behavior
Uploads and runtime generation records are held in process-specific registries.
Completed videos are streamed immediately and atomically into
data/comic-animator/outputs (or the configured output directory). The
instructor page scans that directory, so downloaded videos remain recoverable
after restart.
OpenRouter does not document an endpoint for listing all historical video jobs. Consequently, queued and in-progress jobs and rich metadata cannot be recovered after a restart. The downloaded-file view is a recovery aid, not an audit log. Uploads and outputs are not automatically removed; operators must monitor disk usage and introduce a retention policy appropriate to their deployment.
Verification
gofmt -w .
go test ./...
go test -race ./...
go vet ./...
go build ./...
No database, Node.js, npm, frontend build, or live OpenRouter call is required by the automated test suite.