- POST /api/admin/generate-thumbnails → triggers async backfill, 202 - GET /api/admin/thumbnail-status → returns current BackfillStatus Both gated by the class-level @RequirePermission(Permission.ADMIN). Shape and polling semantics mirror the mass-import endpoints. Refs #307 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>