Skip to content
R Rushie Sign in

Commissioning an asset

Ask the catalogue for something it does not have, watch it render, and license the result.

Start a request

POST /api/bank/request
{"query": "a falconer holding a hooded hawk on a gloved hand", "shape": "landscape"}

-> {"request_id": "req_...", "candidates": 3, "estimate_seconds": 240}

shape is landscape, portrait or square.

Watch it

GET /api/bank/request/{request_id}

-> {"state": "rendering", "progress": 0.35, "candidates_done": 1, "candidates": 3,
    "draft": {"score": 70, "preview_url": "/api/bank/request/{id}/draft"},
    "asset": null, "message": null}
StateMeaning
queuedAccepted, waiting for the card.
renderingCandidates are being made.
choosingAll candidates are in; the best is being picked.
enlargingThe winner is being upscaled.
doneasset is populated and licensable.
missedNothing came out well enough to list. message says why.
failedThe render did not finish. error says why.

A draft preview appears roughly a minute before the full-size file, so the wait is spent looking at the picture rather than at a spinner.

What is refused

  • Brand names, real and recognisable people, and celebrity-shaped requests.
  • Anything the prompt linter rates an error.
  • Requests under three characters or over 160.

The filter normalises the text first, so spacing letters out or swapping in lookalike characters does not get a refused subject past it.

Rations

There is one GPU behind an open door, so requests are rationed per visitor and per hour for the catalogue as a whole. Exceeding either returns a plain sentence saying which, and asks you to come back shortly.