You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
"imagePrompts": ["Infographic 2D architecture style, black background. [specific visual for this scene]. Highlighted elements filled with #15b27b. White lines connecting components and white text annotations."]
518
605
}
519
606
],
520
607
"cta": "string - call to action"
@@ -525,6 +612,10 @@ Return ONLY a JSON object:
525
612
Requirements:
526
613
- 3-5 scenes totaling 60-90 seconds
527
614
- Use at least 2 different scene types
615
+
- Each scene MUST include 2-5 imagePrompts following this exact template: "Infographic 2D architecture style, black background. [specific visual]. Highlighted elements filled with #15b27b. White lines connecting components and white text annotations."
616
+
- imagePrompts should describe specific 2D infographic visuals that illustrate the narration content
617
+
- Do NOT include any script text, titles, or word overlays in the video. The narration audio carries all words.
618
+
- Think of each imagePrompt as a frame that will be shown for 3-5 seconds while the narration plays
528
619
- Include REAL code snippets from the research where applicable
529
620
- The qualityScore should be your honest self-assessment (0-100)
530
621
- Return ONLY the JSON object, no markdown or extra text`;
Copy file name to clipboardExpand all lines: app/api/cron/ingest/route.ts
+25Lines changed: 25 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -20,6 +20,7 @@ interface ScriptScene {
20
20
visualDescription: string;
21
21
bRollKeywords: string[];
22
22
durationEstimate: number;
23
+
imagePrompts?: string[];
23
24
// Scene-type-specific data
24
25
code?: {
25
26
snippet: string;
@@ -330,6 +331,25 @@ Each scene MUST have a "sceneType" that determines its visual treatment. Choose
330
331
- For "list" scenes, provide 3-6 concise items
331
332
- For "comparison" scenes, provide 2-4 rows
332
333
334
+
## Infographic Image Prompts
335
+
336
+
CRITICAL: This video will be a visual infographic explainer. There will be NO text, titles, or script words shown on screen — the narration audio carries all words. The visuals are entirely infographic images.
337
+
338
+
For EACH scene, generate an "imagePrompts" array with 2-5 image generation prompts. Each prompt should follow this exact template:
339
+
340
+
"Infographic 2D architecture style, black background. [SPECIFIC VISUAL FOR THIS SCENE]. Highlighted elements filled with #15b27b. White lines connecting components and white text annotations."
341
+
342
+
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.
343
+
344
+
Guidelines for image prompts:
345
+
- Each scene needs Math.ceil(durationEstimate / 4) prompts (one image every ~4 seconds)
346
+
- A 15-second scene needs 4 prompts, a 20-second scene needs 5
347
+
- Each prompt should show a DIFFERENT aspect or angle of the scene's content
348
+
- For code scenes: show architecture diagrams, data flow, or system diagrams (NOT the code itself)
349
+
- For comparison scenes: show side-by-side comparison charts or feature matrices
350
+
- For list scenes: show each item as a distinct visual element in the infographic
351
+
- Make prompts visually varied — don't repeat the same layout
352
+
333
353
## JSON Schema
334
354
335
355
Return ONLY a JSON object matching this exact schema:
@@ -349,6 +369,7 @@ Return ONLY a JSON object matching this exact schema:
349
369
"visualDescription": "string - what to show on screen (fallback for all types)",
350
370
"bRollKeywords": ["keyword1", "keyword2"],
351
371
"durationEstimate": 15,
372
+
"imagePrompts": ["Infographic 2D architecture style, black background. [specific visual]. Highlighted elements filled with #15b27b. White lines connecting components and white text annotations."],
352
373
"code": {
353
374
"snippet": "string - actual code to display (only for sceneType: code)",
- Only include the type-specific field that matches the sceneType (e.g., only include "code" when sceneType is "code")
384
405
- For "code" scenes, provide real, syntactically correct code
385
406
- The qualityScore should be your honest self-assessment (0-100)
407
+
- Each scene MUST include an "imagePrompts" array with 2-5 image generation prompts
408
+
- Image prompts must follow the template: "Infographic 2D architecture style, black background. [specific]. Highlighted elements filled with #15b27b. White lines connecting components and white text annotations."
409
+
- Do NOT include any text overlays, titles, or script words in the video — narration audio carries all words
410
+
- Calculate prompt count per scene: Math.ceil(durationEstimate / 4)
386
411
- Return ONLY the JSON object, no markdown or extra text`;
0 commit comments