2.3 KiB
X feed card: public/x-banner.jpg (50:11)
Games also ship a second, much wider card that X uses in the feed (the
link-preview og.jpg is still required — this does not replace it). Write
public/x-banner.jpg at exactly 50:11 (1200×264 — 1200 is the standard
max card width on the web, same as og.jpg). The injector emits
x:game:image (1200×264) from that file when the request has a public host.
Do not invent x:game:og or overload og:image. Do not add
x:game:image to __root.tsx.
Same JPEG / size discipline as og.jpg (keep it well under 600 KB).
Custom public/x-banner.jpg — games only. Use imagine_text_to_image
(or imagine_image_to_image) to generate a custom banner only when the
app is a game. Non-games omit the file — the injector then emits no
x:game:image. Do not paste og.grok.me/v1/banner.png (or any
x:game:image) into __root.tsx; the injector strips those tags.
Generate the art at 50:11 (aspect_ratio: "50:11" on
imagine_text_to_image — that ratio is on the Imagine schema; do not
substitute 16:9 and crop). Then normalize:
ffmpeg -y -i banner-raw.jpg \
-vf "scale=1200:264:force_original_aspect_ratio=increase,crop=1200:264" \
-q:v 4 /workspace/.grok/x-banner.jpg.tmp
node scripts/write-atomic.mjs /workspace/.grok/x-banner.jpg.tmp public/x-banner.jpg
Safe lockup. Unlike the centered og.jpg card, keep title, tagline, and
other critical content inside the left-most 50% × top-most 80% of the
finished 1200×264. Feed chrome overlays the right ~25% and bottom
~20%, so lettering there clashes. Raise the lockup above the midline (do
not vertically center it); comfortable left and top margins; never
edge-hug: a 50:11 frame decapitates edge-hugging lettering even faster than
the 1200×630 card. Scenery and characters may extend into those overlay
strips. Prompt Imagine in visual language — "title lockup in the left half,
sitting above the midline, empty strip along the bottom edge" — not
percentages. Reuse the link-cover art when you can (reframe the same scene
wider rather than inventing a second identity). Verify the 1200×264 JPEG
the same way as og.jpg (dimensions + under 600 KB + no clipped title).
Reject if any title or tagline glyph sits in the right half or the bottom
fifth of the frame.