Every invitation relies on a set of image assets (hero backgrounds, portrait photos, gallery shots, venue photos, and a homepage preview thumbnail) stored underDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/gus-16710/invitations/llms.txt
Use this file to discover all available pages before exploring further.
public/. Because the platform is a Next.js static export, all files in public/ are copied verbatim to the build output and served at the root URL. Planning your asset structure before you start building keeps the invitation directory clean and makes future updates easy to locate.
Image Assets
Directory convention
Store all images for an invitation underpublic/img/[category]/[name]/:
Common file names
| File | Purpose |
|---|---|
background-main.jpg | Repeating or full-bleed background of the Main wrapper. |
header.jpg / fifteen-girl.jpg | Portrait photo used in the Header section. |
header-01.png, header-02.png, header-03.png | Decorative PNG overlays / frames positioned on top of the portrait. |
church.jpg | Venue thumbnail shown inside the Ceremony Avatar. |
salon.jpg | Venue thumbnail shown inside the Reception Avatar. |
gallery-01.jpg … gallery-N.jpg | Photo gallery images shown in the Gallery section. |
preview.jpg | Portrait-oriented thumbnail used on the homepage showcase card. |
logo.png | School or organisation logo (used in escolar invitations). |
mask.png | Custom SVG/PNG shape mask applied over the portrait photo. |
Usage in components
Reference images by their public path. Fornext/image, use the fill prop for full-coverage backgrounds and always let the globally configured unoptimized flag handle the rest:
background-image, use the Tailwind arbitrary-value syntax directly in className — no <Image> component needed:
Video Assets
Some invitations use short.mp4 clips as atmospheric video backgrounds. Store video files alongside the image assets in the same public/img/[category]/[name]/ directory (or in a dedicated public/media/ directory for audio/video).
Use a plain HTML <video> element for autoplay muted loop — no third-party player required:
autoPlay— starts playback immediately (requiresmutedto work on iOS).muted— required for autoplay in all modern browsers.playsInline— prevents fullscreen takeover on iOS Safari.loop— keeps the video looping seamlessly.
Font Assets
Shared decorative fonts live inpublic/fonts/. They are available to every invitation and loaded on-demand using next/font/local. See the Fonts & Styling guide for the full loading pattern and a complete list of available typefaces.
public/fonts/ and register it in the invitation’s Fonts.ts using next/font/local.
Asset Sizing Recommendations
Following these guidelines keeps the invitation fast on mobile data connections without sacrificing visual quality.| Asset type | Recommended dimensions | Format | Quality |
|---|---|---|---|
| Background / hero image (landscape) | 1920 × 1080 px | JPEG | 80% |
| Background / hero image (portrait) | 1080 × 1920 px | JPEG | 80% |
| Gallery images | 800 × 800 to 1200 × 900 px | JPEG | 80% |
| Portrait / avatar photo | 600 × 600 px | JPEG | 85% |
| Decorative PNG overlays / frames | 600 × 600 px | PNG (transparent) | Lossless |
| Homepage preview thumbnail | 400 × 700 px | JPEG | 85% |
| Video background | Max 5 MB, H.264/AVC, 720p | MP4 | — |
| Background audio | Max 4 MB, 128 kbps | MP3 | — |
All files placed in
public/ are served at the root URL without any path prefix. For example, public/img/quinces/daniela/gallery-01.jpg is accessible at /img/quinces/daniela/gallery-01.jpg in both development and the static export. Never reference public/ in your src paths — omit the public/ prefix entirely.