fix: use abstract art style for thread images, no text

Replace infographic/typography prompts with atmospheric abstract art
prompts. Images now use flowing gradients, organic shapes, and moody
lighting to evoke the tweet's theme without any text or typography.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Jeff Emmett 2026-03-05 20:48:43 -08:00
parent f8557b1940
commit ffbc1ce127
1 changed files with 2 additions and 2 deletions

View File

@ -188,7 +188,7 @@ routes.post("/api/threads/:id/image", async (c) => {
if (!process.env.FAL_KEY) return c.json({ error: "FAL_KEY not configured" }, 503);
const summary = thread.tweets.slice(0, 3).join(" ").substring(0, 300);
const prompt = `Create a bold, visually striking infographic-style image that captures the core message of this social media thread: "${summary}". Style: dark background (#0f172a to #1e293b gradient), bold typography with key phrases as large text overlays, iconic symbols and geometric shapes that represent the concepts, data visualization elements where relevant, modern flat illustration style with vibrant accent colors (electric blue, purple, teal). The image should work as a standalone visual summary — memetic, shareable, and instantly communicating the thread's main insight. No lorem ipsum or placeholder text.`;
const prompt = `Abstract artistic illustration evoking the mood and themes of: "${summary}". Style: cinematic dark atmosphere with deep navy and charcoal tones, luminous flowing gradients of electric blue, violet, and teal, organic abstract shapes and flowing forms, subtle geometric patterns, ethereal light rays and bokeh, no text, no words, no letters, no typography, no UI elements. Pure visual art — evocative, atmospheric, and beautiful. Landscape 4:3.`;
let cdnUrl: string | null;
try {
@ -315,7 +315,7 @@ routes.post("/api/threads/:id/tweet/:index/image", async (c) => {
if (!process.env.FAL_KEY) return c.json({ error: "FAL_KEY not configured" }, 503);
const tweetText = thread.tweets[tweetIndex].substring(0, 300);
const prompt = `Create a high-impact memetic infographic for this social media post: "${tweetText}". Style: dark background (#0f172a), bold statement typography with the key insight as large readable text, iconic flat-design symbols representing the core concept, subtle data-viz or diagram elements if the content references numbers/processes/systems, vibrant accent colors (electric blue #38bdf8, violet #a78bfa, teal #2dd4bf) on dark. The image should be instantly understandable, shareable, and visually distill the tweet's message into a single powerful graphic. No lorem ipsum or placeholder text. Landscape 4:3 ratio.`;
const prompt = `Abstract artistic illustration inspired by the theme: "${tweetText}". Style: moody cinematic lighting on dark background, luminous abstract forms with flowing gradients of electric blue, violet, and warm amber, organic shapes suggesting the concept without being literal, subtle particle effects and light diffusion, no text, no words, no letters, no numbers, no typography whatsoever. Pure atmospheric visual art — stylistic, evocative, gallery-quality. Landscape 4:3.`;
let cdnUrl: string | null;
try {