Skip to content

Commit 2d6d472

Browse files
authored
fix: purple palette + longer scripts + no-text hook in buildPrompt
Green (#15b27b) → purple (#7c3aed) in all prompt templates. Script length 60-90s → 2-4 min (8-15 scenes). First scene imagePrompts must be purely visual with no text.
1 parent 85b94f8 commit 2d6d472

1 file changed

Lines changed: 8 additions & 7 deletions

File tree

app/api/cron/ingest/route.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ Your style is inspired by Cleo Abram's "Huge If True" — you make complex techn
258258
- End with a clear takeaway that makes the viewer feel smarter
259259
- Target audience: developers who want to stay current but don't have time to read everything
260260
261-
Script format: 60-90 second explainer videos. Think TikTok/YouTube Shorts energy with real educational depth.
261+
Script format: 2-4 minute explainer videos for horizontal YouTube, 60-90 seconds for Shorts. Think Cleo Abram energy with real educational depth.
262262
263263
CodingCat.dev covers: React, Next.js, TypeScript, Svelte, web APIs, CSS, Node.js, cloud services, AI/ML for developers, and web platform updates.`;
264264

@@ -311,7 +311,7 @@ function buildPrompt(trends: TrendResult[], research?: ResearchPayload): string
311311
312312
${topicList}${researchContext}
313313
314-
Pick the MOST interesting and timely topic for a short explainer video (60-90 seconds). Then generate a complete video script as JSON.
314+
Pick the MOST interesting and timely topic for an explainer video (2-4 minutes for horizontal YouTube). Then generate a complete video script as JSON.
315315
316316
## Scene Types
317317
@@ -337,7 +337,7 @@ CRITICAL: This video will be a visual infographic explainer. There will be NO te
337337
338338
For EACH scene, generate an "imagePrompts" array with 2-5 image generation prompts. Each prompt should follow this exact template:
339339
340-
"Infographic 2D architecture style, pure black background. [SPECIFIC VISUAL FOR THIS SCENE]. Highlighted elements filled with bright emerald green (#15b27b). White lines connecting components and white text annotations. Color palette: ONLY black, emerald green, and white — no purple, no blue, no gradients."
340+
"Infographic 2D architecture style, pure black background. [SPECIFIC VISUAL FOR THIS SCENE]. Highlighted elements filled with vivid purple (#7c3aed). White lines connecting components and white text annotations. Color palette: ONLY black, purple (#7c3aed), and white — no blue, no green, no gradients."
341341
342342
Replace [SPECIFIC VISUAL FOR THIS SCENE] with a detailed description of what the infographic should show for that particular scene. Be specific — reference the actual technical concepts, comparisons, or workflows being discussed.
343343
@@ -349,7 +349,8 @@ Guidelines for image prompts:
349349
- For comparison scenes: show side-by-side comparison charts or feature matrices
350350
- For list scenes: show each item as a distinct visual element in the infographic
351351
- Make prompts visually varied — don't repeat the same layout
352-
- STRICT color palette: pure black background (#000000), bright emerald green (#15b27b) for highlighted elements, white for lines and text annotations. Do NOT use purple, blue, orange, red, or gradient backgrounds
352+
- STRICT color palette: pure black background (#000000), vivid purple (#7c3aed) for highlighted elements, white for lines and text annotations. Do NOT use blue, green, orange, red, or gradient backgrounds
353+
- FIRST SCENE image prompts must be purely visual and eye-catching — NO text labels, NO annotations, NO words. This is the thumbnail/hook frame that needs to stop the scroll. Show a striking visual metaphor for the topic
353354
354355
## JSON Schema
355356
@@ -370,7 +371,7 @@ Return ONLY a JSON object matching this exact schema:
370371
"visualDescription": "string - what to show on screen (fallback for all types)",
371372
"bRollKeywords": ["keyword1", "keyword2"],
372373
"durationEstimate": 15,
373-
"imagePrompts": ["Infographic 2D architecture style, pure black background. [specific visual]. Highlighted elements filled with bright emerald green (#15b27b). White lines and text annotations. ONLY black, green, white colors."],
374+
"imagePrompts": ["Infographic 2D architecture style, pure black background. [specific visual]. Highlighted elements filled with vivid purple (#7c3aed). White lines and text annotations. ONLY black, purple, white colors."],
374375
"code": {
375376
"snippet": "string - actual code to display (only for sceneType: code)",
376377
"language": "typescript | javascript | jsx | tsx | css | html | json | bash",
@@ -399,14 +400,14 @@ Return ONLY a JSON object matching this exact schema:
399400
}
400401
401402
Requirements:
402-
- The script should have 3-5 scenes totaling 60-90 seconds
403+
- The script should have 8-15 scenes totaling 2-4 minutes (120-240 seconds)
403404
- The hook should be punchy and curiosity-driven
404405
- Use at least 2 different scene types for visual variety
405406
- Only include the type-specific field that matches the sceneType (e.g., only include "code" when sceneType is "code")
406407
- For "code" scenes, provide real, syntactically correct code
407408
- The qualityScore should be your honest self-assessment (0-100)
408409
- Each scene MUST include an "imagePrompts" array with 2-5 image generation prompts
409-
- Image prompts must follow the template: "Infographic 2D architecture style, pure black background. [specific]. Highlighted elements filled with bright emerald green (#15b27b). White lines connecting components and white text annotations. Color palette: ONLY black, emerald green, and white."
410+
- Image prompts must follow the template: "Infographic 2D architecture style, pure black background. [specific]. Highlighted elements filled with vivid purple (#7c3aed). White lines connecting components and white text annotations. Color palette: ONLY black, purple (#7c3aed), and white."
410411
- Do NOT include any text overlays, titles, or script words in the video — narration audio carries all words
411412
- Calculate prompt count per scene: Math.ceil(durationEstimate / 4)
412413
- Return ONLY the JSON object, no markdown or extra text`;

0 commit comments

Comments
 (0)