- New card-renderer FastAPI service (Python 3.11 + Pillow) - GET /health, GET /templates - POST /render (URL input) - POST /render/file (multipart upload) - POST /render/meta (dry-run layout metadata) - nova-artwork-v1 template: cover crop, gradient overlay, text, logo - SSRF-safe async image fetch with redirect validation - Smart center cover crop isolated for future YOLO focal-point support - Graceful font/logo fallback when assets are absent - docker-compose.yml: add card-renderer service + healthcheck; extend gateway with CARD_RENDERER_URL and depends_on - gateway/main.py: proxy endpoints under /cards/* - GET /cards/templates - POST /cards/render - POST /cards/render/file - POST /cards/render/meta All protected by existing APIKeyMiddleware
11 lines
389 B
Markdown
11 lines
389 B
Markdown
# Card Renderer Assets
|
||
|
||
Place the following files here before building the image:
|
||
|
||
- `fonts/Inter-Regular.ttf` — body text
|
||
- `fonts/Inter-Bold.ttf` — title text
|
||
- `logo.png` — Skinbase Nova logo (RGBA, ~320×120 px)
|
||
|
||
The renderer will fall back to PIL's built-in font if TTF files are absent,
|
||
and will skip the logo overlay silently if `logo.png` is missing.
|