mAi 64120c27d7 mAi: #9 - imagen.series (batch tries 1-10 + selection)
Schema (applied via migration imagen_series_init):
- imagen.series parent table (prompt + params + count CHECK 1..10 + selected_image_id)
- imagen.jobs += series_id (FK) + series_idx
- imagen.images += series_id (FK)
- Owner-scoped RLS on series (SELECT/INSERT/UPDATE) + grants
- Partial indexes WHERE series_id IS NOT NULL on both child tables

Worker pipeline:
- worker.Job += SeriesID, populated from imagen.jobs.series_id via the
  claim query.
- cloud.SyncRequest += SeriesID; insertRow writes series_id when non-empty,
  omits the key when empty so solo runs leave the column NULL.
- maybeCloudSync threads seriesID from job.SeriesID through to the cloud
  sink. generate.go (CLI) always passes "" — solo path unchanged.

Tests:
- worker: SeriesID propagates from Job to fakePipeline.lastJob unchanged,
  solo job keeps it empty.
- cloud: SyncRequest.SeriesID lands as row.series_id in the POST body;
  empty SeriesID omits the key entirely.

Refs ImaGen#9.
2026-05-11 10:48:12 +02:00
2026-05-08 12:25:21 +00:00

ImaGen

Model-agnostic image-generation framework: pluggable backends (local FLUX on mRock, Replicate, DALL-E, …) behind a single CLI / skill / API.

imagen generate "a cat in a fishbowl" --backend flux-schnell-local --size 1024x1024

See CLAUDE.md for the design — backend contract, registry, config layout, how to add a new adapter.

Install

go install mgit.msbls.de/m/ImaGen/cmd/imagen@latest

Or from a checkout:

make build       # writes ./bin/imagen
make install     # installs into $GOBIN (defaults to ~/go/bin)

First run

mkdir -p ~/.config
imagen config init > ~/.config/imagen.yaml
imagen config validate
imagen backends
imagen generate "test prompt" --backend mock --output /tmp/x.png

The mock backend ships in this repo and produces a deterministic gradient PNG — useful for smoke-testing the pipeline without reaching any model.

Status

Component Status
Backend interface done (#1)
Mock backend done (#1)
ComfyUI / FLUX on mRock open (#2)
Replicate adapter open (#3)
/imagine skill open (#4)
HTTP server stubbed (#1)

Issues live at https://mgit.msbls.de/m/ImaGen/issues.

Description
Model-agnostic image-generation framework: pluggable backends (local FLUX on mRock, Replicate, DALL-E, …) behind a single CLI/API/skill.
Readme MIT 161 KiB
Languages
Go 99.3%
Shell 0.5%
Makefile 0.2%