Seiza is a library and a CLI — which is great if you’re integrating it and useless if you just want to know where your photo points. So now there’s seiza.fyi: drop in a FITS or ordinary image, and find exactly where your image meets the sky.

The flow is deliberately simple. Upload a file (hints for RA/Dec/pixel scale are optional — leave everything blank for a blind solve), and the job queues to a background worker. You immediately get a durable solution page at an unguessable URL you can bookmark or share: the uploaded image and preview expire after about a day, but the solution — full WCS, quality metrics, and catalog annotations — sticks around.

Here’s a real run: I gave it my comet Lemmon frame with no hints at all. A blind solve later:

The seiza.fyi solution page: ‘The field is solved.’ with layer toggles for deep-sky objects, field stars, transients and an RA/Dec grid, all drawn over the comet Lemmon frame

The field is solved. The interactive overlay draws 72 deep-sky objects, 65 matched field stars, three active transients, and an RA/Dec grid over the frame — with layer toggles, an expandable view, and a one-click rendered PNG download. (Fair warning from my own testing: a bare blind solve of a sub-degree field is asking a lot — that’s exactly what the optional hint fields are for. Wide fields sail through.)

Under the hood

The server — seiza-server, open source like everything else — uses the published seiza crates directly, no CLI subprocess. The job queue is durable (SQLite locally, PostgreSQL or DynamoDB for bigger deployments): a slow blind solve never ties up the HTTP handler and never disappears on a restart. Admission is token-bucket limited per client, with a weighted-LRU queue so an unseen client goes first and nobody can starve the line.

And for existing tooling, there’s an astrometry.net-compatible API subsetlogin, upload, submissions, jobs, calibration — so software that already speaks astrometry.net can point at a seiza-server instead. Between this and the CLI’s ASTAP-compatible mode, seiza now slots into an imaging workflow at whichever layer you like: library, binary, or service.

Try it: seiza.fyi/solve.