Short answer: generate once, enlarge deliberately
For a customer-support hiring app that scores candidates against a job rubric, keep assessment data and image delivery on separate paths. Generate a small base image from text, cache that artifact, then call /v1/ai/image/upscale at 2x or 4x only when a report, print export, or high-DPI screen needs it. The generation step is /v1/images/generations .
The operating rule is straightforward: use the built-in upscaler when clean enlargement is enough; send the source to a specialist when the requirement is AI super-resolution. The current built-in method is Lanczos interpolation only. That distinction matters more than a cheerful demo at 512 pixels.
I would choose a portability-first API for the report-image portion of this system, with a provider-neutral job record and an escape hatch for enhancement. Keep the candidate score authoritative in your own database.…