landing/art/og.py
Open Graph card (1200x630): silk backdrop, the logo planet, title in Inter.
Render it yourself: atelier render og.py --preview (it imports _common.py for the palette and output folder).
# Open Graph card (1200x630): silk backdrop, the logo planet, title in Inter.
import numpy as np
from atelier import *
from _common import *
W, H = 1200, 630
c = Canvas(W, H, bg=INK)
f = domain_warp(domain_warp(fbm(1.3, 4, seed=SEED + 21), 0.45, 1.2, seed=SEED + 22), 0.1, 2.0, seed=SEED + 23)
hue = fbm(0.7, 3, seed=SEED + 25)
silk = (0.5 + 0.5 * np.sin(f * np.pi * 6)) ** 2
col = mix(hue.ramp(["#0b1e3f", "#0f5e6e", "#2fa39a", "#e8c170", "#f27059", "#fde9d0"]), "#fde9d0", silk * 0.18)
band = Field(lambda x, y: np.exp(-((y - 0.15 - 0.9 * (1 - x) ** 1.5) / 0.3) ** 2) * np.clip((x - 0.35) / 0.4, 0, 1))
c.layer().fill(shade(f, color=col, strength=0.6, light=(110, 45), ambient=0.35, spec=0.2), mask=band)
c.layer(blend="screen", opacity=0.55).fill("#fff2d8", mask=(1 - np.abs(np.sin(f * np.pi * 18))) ** 26 * band ** 2)
c.place(out("logo.png"), x=930, y=300, scale=0.62)
c.layer()
c.text("atelier", 80, 300, 150, weight="semibold", fill=PAPER, spacing=-0.03)
c.text("Let your LLM paint.", 84, 380, 38, fill=PAPER)
c.text("3D · OIL · WATERCOLOUR · POSTER · PIXEL · GENERATIVE", 84, 470, 20, font="mono", fill=GOLD, spacing=0.12)
c.text("0 image model · 0 API key · 100 % code", 84, 540, 22, font="mono", fill="#a59d8f")
c.apply(bloom(0.8, 14, 0.3), grain(0.014, seed=SEED))
c.save(out("og.jpg"), quality=90)