@danhachuel/thunderbolt 0.7.46 → 0.7.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/main.py +4 -0
- package/hermes_ui/media_generation.py +0 -1
- package/hermes_ui/pipeline_worker.py +2 -5
- package/hermes_ui/thumbnail_blueprints.py +5 -9
- package/hermes_ui/thumbnail_generation.py +4 -12
- package/package.json +1 -1
- package/seed/prompt_masters/2D Stickman.md +355 -0
- package/seed/prompt_masters/3D skeleton character.md +375 -0
- package/seed/prompt_masters/ANIMAL MOUNTED CAMERA.md +484 -0
- package/seed/prompt_masters/ASMR de Boca com Doces.md +412 -0
- package/seed/prompt_masters/Animal Diving.md +414 -0
- package/seed/prompt_masters/Animal Podcast.md +462 -0
- package/seed/prompt_masters/Animal X-Ray.md +388 -0
- package/seed/prompt_masters/BEHIND THE SCENES - SET PIECE.md +527 -607
- package/seed/prompt_masters/CAR EVOLUTION.md +501 -0
- package/seed/prompt_masters/CINEMATIC BUNKER SURVIVAL.md +459 -0
- package/seed/prompt_masters/CINEMATIC DOCUMENTARY 3D IMAGE PROMPT ENGINE.md +514 -471
- package/seed/prompt_masters/CINEMATIC SLUM TRANSFORMATION ENGINE.md +437 -0
- package/seed/prompt_masters/CINEMATOGR/303/201FICOS 3D.md" +449 -0
- package/seed/prompt_masters/Cartoon Nostalgia.md +427 -0
- package/seed/prompt_masters/DANCING PET.md +757 -823
- package/seed/prompt_masters/DOODLE WORLD STUDIO.md +805 -1174
- package/seed/prompt_masters/DREAMDRIVE STUDIO.md +702 -671
- package/seed/prompt_masters/Dragon Ride POV Shorts.md +657 -905
- package/seed/prompt_masters/EPOXY FLOOR TRANSFORMATION.md +571 -0
- package/seed/prompt_masters/Edgar's House of Terrors Choose Your Story.md +483 -0
- package/seed/prompt_masters/FOOD BABY FACE CHARACTER.md +489 -0
- package/seed/prompt_masters/FRUIT CARVING STUDIO.md +733 -559
- package/seed/prompt_masters/FRUIT MOVIE MAKER PRO.md +723 -671
- package/seed/prompt_masters/Fruit Mold.md +630 -590
- package/seed/prompt_masters/Fruit Novels.md +318 -0
- package/seed/prompt_masters/Guru.md +821 -0
- package/seed/prompt_masters/HORROR HISTORY GENERATOR.md +581 -212
- package/seed/prompt_masters/HYDRAULIC PRESS.md +670 -344
- package/seed/prompt_masters/INFLATABLE GIANT.md +704 -600
- package/seed/prompt_masters/KIDS STORY CREATOR (PRO MODE).md +558 -0
- package/seed/prompt_masters/MECHANICAL TOY.md +819 -662
- package/seed/prompt_masters/MINI RESCUE.md +931 -630
- package/seed/prompt_masters/Matchstick Prompt.md +532 -0
- package/seed/prompt_masters/PERSONAGENS ABANDONADOS.md +567 -0
- package/seed/prompt_masters/PET SHOW - PET COMEDY STUDIO.md +885 -1035
- package/seed/prompt_masters/Pixar-style animated.md +540 -0
- package/seed/prompt_masters/RESTORATION TIMELAPSE.md +566 -0
- package/seed/prompt_masters/RETRO TOONS.md +629 -222
- package/seed/prompt_masters/RUST REMOVAL.md +657 -0
- package/seed/prompt_masters/Receitas Indianas.md +505 -0
- package/seed/prompt_masters/Room Glow Up.md +723 -672
- package/seed/prompt_masters/Skyscraper Monster.md +445 -0
- package/seed/prompt_masters/TIME TRAVEL VLOG.md +470 -0
- package/seed/prompt_masters/Tarot.md +453 -58
- package/seed/prompt_masters/UFOs (OVNIs).md +457 -0
- package/seed/prompt_masters/Visual Craft Sequence Generator.md +595 -0
- package/seed/prompt_masters/crafting Storytelling AI.md +457 -0
- package/seed/prompt_masters/hist/303/263rias infantis hora de dormir.md" +439 -0
- package/seed/prompt_masters/viral TikTok dance.md +505 -0
- package/seed/prompt_masters/2Dstickman.md +0 -193
- package/seed/prompt_masters/3Dskeletoncharacter.md +0 -1
- package/seed/prompt_masters/ANIMAL DIVING.md +0 -103
- package/seed/prompt_masters/ANIMAL PODCAST.md +0 -113
- package/seed/prompt_masters/ANIMALMOUNTEDCAMERA.md +0 -299
- package/seed/prompt_masters/ASMR.md +0 -74
- package/seed/prompt_masters/ASMRDEBOCACOMDOCES.md +0 -130
- package/seed/prompt_masters/AnimalX-Ray.md +0 -136
- package/seed/prompt_masters/CAREVOLUTION.md +0 -176
- package/seed/prompt_masters/CINEMATICBUNKERSURVIVAL.md +0 -180
- package/seed/prompt_masters/CINEMATICSLUMTRANSFORMATIONENGINE.md +0 -212
- package/seed/prompt_masters/CINEMATOGR/303/201FICOS3D.md +0 -207
- package/seed/prompt_masters/CartoonNostalgia.md +0 -131
- package/seed/prompt_masters/EPOXYFLOORTRANSFORMATION.md +0 -254
- package/seed/prompt_masters/Edgar'sHouseofTerrorsChooseYourStory.md +0 -134
- package/seed/prompt_masters/FOODBABYFACECHARACTER.md +0 -141
- package/seed/prompt_masters/FuitNovels.md +0 -166
- package/seed/prompt_masters/KIDSSTORYCREATOR(PROMODE).md +0 -235
- package/seed/prompt_masters/MatchstickPrompt.md +0 -86
- package/seed/prompt_masters/PERSONAGENSABANDONADOS.md +0 -208
- package/seed/prompt_masters/Pixar-styleanimated.md +0 -193
- package/seed/prompt_masters/RESTORATIONTIMELAPSE.md +0 -262
- package/seed/prompt_masters/RUSTREMOVAL.md +0 -275
- package/seed/prompt_masters/ReceitasIndianas.md +0 -60
- package/seed/prompt_masters/SkyscraperMonster.md +0 -140
- package/seed/prompt_masters/TIME-TRAVEL VLOG.md +0 -603
- package/seed/prompt_masters/TIMETRAVELVLOG.md +0 -264
- package/seed/prompt_masters/UFOs(OVNIs).md +0 -63
- package/seed/prompt_masters/VisualCraftSequenceGenerator.md +0 -284
- package/seed/prompt_masters/craftingStorytellingAI.md +0 -79
- package/seed/prompt_masters/hist/303/263riasinfantishoradedormir.md +0 -71
- package/seed/prompt_masters/viralTikTokdance.md +0 -77
package/app/main.py
CHANGED
|
@@ -5924,6 +5924,8 @@ def render_thumbnails():
|
|
|
5924
5924
|
)
|
|
5925
5925
|
st.success("Thumbnail gerada com sucesso.")
|
|
5926
5926
|
st.rerun()
|
|
5927
|
+
except MediaGenerationError as exc:
|
|
5928
|
+
st.error(format_media_generation_error(exc, operation="gerar a imagem da thumbnail"))
|
|
5927
5929
|
except ThumbnailGenerationError as exc:
|
|
5928
5930
|
st.error(str(exc))
|
|
5929
5931
|
|
|
@@ -5955,6 +5957,8 @@ def render_thumbnails():
|
|
|
5955
5957
|
)
|
|
5956
5958
|
st.success("Prompt da thumbnail e imagem actualizados.")
|
|
5957
5959
|
st.rerun()
|
|
5960
|
+
except MediaGenerationError as exc:
|
|
5961
|
+
st.error(format_media_generation_error(exc, operation="refazer o prompt e gerar a imagem da thumbnail"))
|
|
5958
5962
|
except (CreativeGenerationError, ThumbnailGenerationError) as exc:
|
|
5959
5963
|
st.error(str(exc))
|
|
5960
5964
|
|
|
@@ -98,7 +98,6 @@ def _generate_pipeline_thumbnail(
|
|
|
98
98
|
lettering_text=lettering_text,
|
|
99
99
|
lettering_prompt=lettering_prompt,
|
|
100
100
|
aspect_ratio=infer_thumbnail_aspect_ratio(prompt, thumbnail_blueprint),
|
|
101
|
-
lock_aspect_ratio=True,
|
|
102
101
|
)
|
|
103
102
|
return generate_image_from_pool(
|
|
104
103
|
settings,
|
|
@@ -1355,10 +1354,8 @@ def _run_task(task: dict[str, Any]) -> dict[str, Any]:
|
|
|
1355
1354
|
blueprint = _blueprint_for_channel(channel)
|
|
1356
1355
|
if not blueprint and (task.get("blueprint_id") or task.get("blueprint_name")):
|
|
1357
1356
|
blueprint = {"id": str(task.get("blueprint_id") or ""), "name": str(task.get("blueprint_name") or task.get("blueprint_id") or "")}
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
channel_visual_context["platform"] = task.get("platform")
|
|
1361
|
-
visual_blueprint = thumbnail_blueprint_for_channel(channel_visual_context)
|
|
1357
|
+
visual_format = task.get("format") or ("portrait" if str(task.get("platform") or "").casefold() in {"tiktok", "instagram"} else "wide")
|
|
1358
|
+
visual_blueprint = thumbnail_blueprint_for_channel(channel, visual_format)
|
|
1362
1359
|
if visual_blueprint.get("content"):
|
|
1363
1360
|
blueprint = {**blueprint, "thumbnail_blueprint_rules": visual_blueprint["content"]}
|
|
1364
1361
|
route = _normalise_video_route(task, settings)
|
|
@@ -53,13 +53,11 @@ def resolve_thumbnail_blueprint(identifier: Any) -> dict[str, Any]:
|
|
|
53
53
|
|
|
54
54
|
def _generic_thumbnail_blueprint_id(format_value: Any = "", platform: Any = "") -> str:
|
|
55
55
|
raw = str(format_value or "").strip().casefold()
|
|
56
|
-
platform_raw = str(platform or "").strip().casefold()
|
|
57
|
-
if platform_raw in {"tiktok", "instagram", "instagram reels", "instagram_reels", "reels", "shorts"}:
|
|
58
|
-
return VERTICAL_GENERIC_THUMBNAIL_BLUEPRINT_ID
|
|
59
|
-
if platform_raw in {"youtube", "youtube channel", "youtube_channels"}:
|
|
60
|
-
return HORIZONTAL_GENERIC_THUMBNAIL_BLUEPRINT_ID
|
|
61
56
|
if raw in {"portrait", "portrait 9:16", "vertical", "shorts", "9:16", "tiktok", "reels"}:
|
|
62
57
|
return VERTICAL_GENERIC_THUMBNAIL_BLUEPRINT_ID
|
|
58
|
+
platform_raw = str(platform or "").strip().casefold()
|
|
59
|
+
if platform_raw in {"tiktok", "instagram", "instagram reels", "shorts"} and not raw:
|
|
60
|
+
return VERTICAL_GENERIC_THUMBNAIL_BLUEPRINT_ID
|
|
63
61
|
return HORIZONTAL_GENERIC_THUMBNAIL_BLUEPRINT_ID
|
|
64
62
|
|
|
65
63
|
|
|
@@ -80,6 +78,7 @@ def thumbnail_blueprint_for_channel(channel: Mapping[str, Any], format_value: An
|
|
|
80
78
|
|
|
81
79
|
def thumbnail_blueprint_for_task(channel: Mapping[str, Any], task: Mapping[str, Any]) -> dict[str, Any]:
|
|
82
80
|
"""Resolve a task thumbnail, replacing stale generic orientation defaults."""
|
|
81
|
+
format_value = task.get("format") or (task.get("generation_settings") or {}).get("video_aspect_ratio")
|
|
83
82
|
direct = str(task.get("thumbnail_blueprint_id") or "").strip()
|
|
84
83
|
if direct and direct not in {
|
|
85
84
|
"Generic_Thumbnail_Blueprint",
|
|
@@ -87,10 +86,7 @@ def thumbnail_blueprint_for_task(channel: Mapping[str, Any], task: Mapping[str,
|
|
|
87
86
|
VERTICAL_GENERIC_THUMBNAIL_BLUEPRINT_ID,
|
|
88
87
|
}:
|
|
89
88
|
return resolve_thumbnail_blueprint(direct)
|
|
90
|
-
|
|
91
|
-
if not channel_context.get("platform") and task.get("platform"):
|
|
92
|
-
channel_context["platform"] = task.get("platform")
|
|
93
|
-
return thumbnail_blueprint_for_channel(channel_context)
|
|
89
|
+
return thumbnail_blueprint_for_channel({**channel, "thumbnail_blueprint_id": ""}, format_value)
|
|
94
90
|
|
|
95
91
|
|
|
96
92
|
def thumbnail_blueprint_for_blueprint(blueprint_id: Any, format_value: Any = "") -> dict[str, Any]:
|
|
@@ -39,14 +39,10 @@ def infer_thumbnail_aspect_ratio(
|
|
|
39
39
|
) -> str:
|
|
40
40
|
"""Resolve the requested thumbnail orientation without trusting provider defaults."""
|
|
41
41
|
blueprint_content = str((blueprint or {}).get("content") or "")
|
|
42
|
-
|
|
42
|
+
source = f"{blueprint_content}\n{str(prompt or '')}"
|
|
43
|
+
if re.search(r"\b9\s*:\s*16\b|\bvertical\b|\bportrait\b", source, flags=re.IGNORECASE):
|
|
43
44
|
return "9:16"
|
|
44
|
-
if re.search(r"\b16\s*:\s*9\b|\blandscape\b|\bwide\b",
|
|
45
|
-
return "16:9"
|
|
46
|
-
prompt_text = str(prompt or "")
|
|
47
|
-
if re.search(r"\b9\s*:\s*16\b|\bvertical\b|\bportrait\b", prompt_text, flags=re.IGNORECASE):
|
|
48
|
-
return "9:16"
|
|
49
|
-
if re.search(r"\b16\s*:\s*9\b|\blandscape\b|\bwide\b", prompt_text, flags=re.IGNORECASE):
|
|
45
|
+
if re.search(r"\b16\s*:\s*9\b|\blandscape\b|\bwide\b", source, flags=re.IGNORECASE):
|
|
50
46
|
return "16:9"
|
|
51
47
|
return fallback if fallback in {"16:9", "9:16"} else DEFAULT_ASPECT_RATIO
|
|
52
48
|
|
|
@@ -195,7 +191,6 @@ def generate_thumbnail_image(
|
|
|
195
191
|
lettering_text: str = "",
|
|
196
192
|
lettering_prompt: str = "",
|
|
197
193
|
aspect_ratio: str = DEFAULT_ASPECT_RATIO,
|
|
198
|
-
lock_aspect_ratio: bool = False,
|
|
199
194
|
) -> Path:
|
|
200
195
|
api_key = str(settings.get("gemini_image_api_key") or "").strip()
|
|
201
196
|
if not api_key:
|
|
@@ -209,10 +204,7 @@ def generate_thumbnail_image(
|
|
|
209
204
|
lettering_text=lettering_text,
|
|
210
205
|
lettering_prompt=lettering_prompt,
|
|
211
206
|
)
|
|
212
|
-
effective_aspect_ratio = (
|
|
213
|
-
aspect_ratio if lock_aspect_ratio and aspect_ratio in {"16:9", "9:16"}
|
|
214
|
-
else infer_thumbnail_aspect_ratio(clean_prompt, fallback=aspect_ratio)
|
|
215
|
-
)
|
|
207
|
+
effective_aspect_ratio = infer_thumbnail_aspect_ratio(clean_prompt, fallback=aspect_ratio)
|
|
216
208
|
|
|
217
209
|
model = str(settings.get("gemini_image_model") or DEFAULT_GEMINI_IMAGE_MODEL).strip()
|
|
218
210
|
image_size = DEFAULT_IMAGE_SIZE
|
package/package.json
CHANGED
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
# Blueprint: 2D Stickman – Geração de Prompts Cinematográficos para Estilo 2D Stickman Documentary
|
|
2
|
+
|
|
3
|
+
## 1. Metadados
|
|
4
|
+
|
|
5
|
+
- **task_type:** prompt_blueprint_extraction
|
|
6
|
+
- **sample_count:** 1
|
|
7
|
+
- **dominant_domain_inferred:** engenharia de prompts cinematográficos para estilo 2D stickman documentary desenhado à mão
|
|
8
|
+
- **core_promise_of_system:** Transformar UMA única entrada do usuário (ideia, roteiro curto ou descrição de imagem) em EXATAMENTE 7 prompts de geração de imagem altamente estruturados, com consistência visual, continuidade de mundo, personagens e objetos.
|
|
9
|
+
- **primary_content_engine:** Storyboard cinematográfico implícito + template estrutural rígido + continuidade visual absoluta.
|
|
10
|
+
- **output_count_requirement:** EXATAMENTE 7 prompts de imagem.
|
|
11
|
+
- **output_count_rule:** Nunca gerar mais, nunca gerar menos. Sempre 7 prompts.
|
|
12
|
+
- **strict_output_count:** [7]
|
|
13
|
+
- **length_compliance_mandatory:** true
|
|
14
|
+
- **prompt_parts_requirement:** Cada prompt deve conter 2 partes obrigatórias: A) Título descritivo sem emoji, B) Bloco de prompt dentro de código.
|
|
15
|
+
- **continuity_compliance_mandatory:** true
|
|
16
|
+
- **style_compliance_mandatory:** true
|
|
17
|
+
|
|
18
|
+
### audience_inference
|
|
19
|
+
- **knowledge_level:** criadores de conteúdo, artistas 2D, usuários de IA generativa, canais dark
|
|
20
|
+
- **psychological_state:** busca consistência, previsibilidade, continuidade visual e qualidade cinematográfica
|
|
21
|
+
- **aspirational_identity:** profissional de prompt engineering e storyboard
|
|
22
|
+
|
|
23
|
+
### channel_persona
|
|
24
|
+
- **role:** engenheiro de prompts especializado em geração de prompts de imagem cinematográficos para estilo 2D stickman documentary desenhado à mão
|
|
25
|
+
- **voice:** técnico, preciso, sem ambiguidade, orientado à preservação visual e à continuidade entre cenas
|
|
26
|
+
- **authority_basis:**
|
|
27
|
+
- regras absolutas de contagem (exatamente 7 prompts)
|
|
28
|
+
- estrutura fixa de prompts em 2 partes
|
|
29
|
+
- templates obrigatórios para personagens e sem personagens
|
|
30
|
+
- enforcement de continuidade visual
|
|
31
|
+
- uso de terminologia cinematográfica (shot types, angles, framing)
|
|
32
|
+
|
|
33
|
+
## 2. Sistema entre Prompts
|
|
34
|
+
|
|
35
|
+
### Padrão dominante
|
|
36
|
+
Cada prompt segue uma ordem fixa de 7 cenas: 1 Main Scene (com personagens), 4 B-rolls (com personagens), 1 Establishing Shot (sem personagens), 1 Detail Shot (sem personagens). Todos mantêm o mesmo personagem, roupas, ambiente, objetos e estilo visual.
|
|
37
|
+
|
|
38
|
+
### O que se repete
|
|
39
|
+
- Exatamente 7 prompts por entrada.
|
|
40
|
+
- Ordem fixa: Main, B-roll 1, B-roll 2, B-roll 3, B-roll 4, Establishing, Detail.
|
|
41
|
+
- Título descritivo em texto simples, sem emojis.
|
|
42
|
+
- Bloco de prompt dentro de código, sem emojis no texto.
|
|
43
|
+
- Uso dos templates de personagem (5 prompts) e sem personagem (2 prompts).
|
|
44
|
+
- Continuidade visual absoluta: mesmo personagem, roupas, ambiente, objetos, estilo.
|
|
45
|
+
- Variação de enquadramentos cinematográficos.
|
|
46
|
+
- Estilo 2D cartoon, flat digital, minimalista, sem realismo, sem 3D, sem textura de papel.
|
|
47
|
+
|
|
48
|
+
### O que é intencionalmente evitado
|
|
49
|
+
- Gerar mais ou menos de 7 prompts.
|
|
50
|
+
- Quebrar a ordem global dos 7 prompts.
|
|
51
|
+
- Alterar personagem, roupas, ambiente ou objetos entre prompts.
|
|
52
|
+
- Usar emojis em qualquer parte da saída.
|
|
53
|
+
- Usar estilo realista, 3D, painterly, aquarela ou textura de papel.
|
|
54
|
+
- Fazer perguntas ao usuário.
|
|
55
|
+
- Inserir links, URLs, marcas ou plataformas externas.
|
|
56
|
+
|
|
57
|
+
### Exceções usadas estrategicamente
|
|
58
|
+
- Se o usuário fornecer pouca informação, assumir: 1 personagem, roupas simples, ambiente neutro, iluminação natural suave, dia claro.
|
|
59
|
+
- Os 2 prompts sem personagens (Establishing e Detail) usam template diferente dos 5 prompts com personagens.
|
|
60
|
+
- O Detail Shot foca em um objeto importante em close-up, sem personagens.
|
|
61
|
+
|
|
62
|
+
## 3. Análise de Títulos (Prompt Titles)
|
|
63
|
+
|
|
64
|
+
### title_mechanics
|
|
65
|
+
- **structure:** [Tipo de Shot] — (Characters Included / No Characters) — [Resumo rápido da ação]
|
|
66
|
+
- **common_forms:**
|
|
67
|
+
- Main — Characters Included — stickman tentando resolver um problema
|
|
68
|
+
- B-roll 1 — Characters Included — stickman reagindo à situação
|
|
69
|
+
- B-roll 2 — Characters Included — stickman realizando ação secundária
|
|
70
|
+
- B-roll 3 — Characters Included — stickman em movimento ou transição
|
|
71
|
+
- B-roll 4 — Characters Included — stickman em preparação ou reflexão
|
|
72
|
+
- Establishing — No Characters — ambiente inteiro sem personagens
|
|
73
|
+
- Detail — No Characters — close-up de objeto importante
|
|
74
|
+
- **click_drivers:** Não aplicável (títulos são para organização do storyboard, não atração)
|
|
75
|
+
- **tone_signature:** Neutro, descritivo, técnico, cinematográfico
|
|
76
|
+
- **number_usage:** Números indicam a sequência dos 7 prompts e a quantidade de personagens
|
|
77
|
+
- **emoji_usage:** Nenhum emoji em qualquer parte da saída, títulos ou prompts
|
|
78
|
+
|
|
79
|
+
### implied_enemies_and_allies
|
|
80
|
+
- **implied_enemy:** Inconsistência visual, redesign não autorizado, ambiguidade, omissão de cenas, estilo realista/3D, emojis, links externos
|
|
81
|
+
- **implied_ally:** Templates obrigatórios, continuidade visual, storyboard implícito
|
|
82
|
+
|
|
83
|
+
## 4. Arquitetura dos Prompts
|
|
84
|
+
|
|
85
|
+
### Macrofluxo (ordem fixa e imutável)
|
|
86
|
+
1. Main Scene (Characters Included)
|
|
87
|
+
2. B-roll 1 (Characters Included)
|
|
88
|
+
3. B-roll 2 (Characters Included)
|
|
89
|
+
4. B-roll 3 (Characters Included)
|
|
90
|
+
5. B-roll 4 (Characters Included)
|
|
91
|
+
6. Establishing Shot (No Characters)
|
|
92
|
+
7. Detail Shot (No Characters)
|
|
93
|
+
|
|
94
|
+
### Padrão de abertura
|
|
95
|
+
- Título descritivo em texto simples, sem emojis.
|
|
96
|
+
- Bloco de prompt dentro de código.
|
|
97
|
+
- Texto do prompt sem emojis.
|
|
98
|
+
|
|
99
|
+
### Modelo de ritmo
|
|
100
|
+
Denso e segmentado. Cada prompt é uma cena independente, mas conectada por continuidade visual. Ritmo: título, template, ação, mood, background.
|
|
101
|
+
|
|
102
|
+
### Timing de informação
|
|
103
|
+
- **Front-loaded:** título descritivo, tipo de shot, presença de personagens, resumo da ação.
|
|
104
|
+
- **Mid-loaded:** template de prompt com cena, câmera, personagens, ação, mood, background.
|
|
105
|
+
- **Back-loaded:** verificação final de contagem e continuidade.
|
|
106
|
+
|
|
107
|
+
### Função narrativa de cada prompt
|
|
108
|
+
- **Main Scene:** cena principal, personagem resolvendo ou enfrentando o problema central.
|
|
109
|
+
- **B-roll 1:** reação do personagem.
|
|
110
|
+
- **B-roll 2:** ação secundária.
|
|
111
|
+
- **B-roll 3:** movimento ou transição.
|
|
112
|
+
- **B-roll 4:** momento de preparação ou reflexão.
|
|
113
|
+
- **Establishing Shot:** ambiente inteiro, sem personagens, contexto da história.
|
|
114
|
+
- **Detail Shot:** objeto importante, close-up, foco narrativo.
|
|
115
|
+
|
|
116
|
+
## 5. Mecânica de Escrita dos Prompts
|
|
117
|
+
|
|
118
|
+
### sentence_design
|
|
119
|
+
- **dominant_shapes:**
|
|
120
|
+
- Frases curtas, declarativas, imperativas
|
|
121
|
+
- Estrutura: sujeito + verbo + objeto + detalhes técnicos
|
|
122
|
+
- Uso de vírgulas para separar atributos
|
|
123
|
+
- Blocos de template preenchidos com informações específicas
|
|
124
|
+
- **feel:** Técnico, instrutivo, cinematográfico, sem ambiguidade
|
|
125
|
+
|
|
126
|
+
### word_choice
|
|
127
|
+
- **preferred_lexicon:**
|
|
128
|
+
- A clean 2D cartoon illustration
|
|
129
|
+
- simple, minimal cartoon style
|
|
130
|
+
- flat digital look
|
|
131
|
+
- BIG ROUND HEADS
|
|
132
|
+
- ALWAYS PURE WHITE
|
|
133
|
+
- tiny dot eyes
|
|
134
|
+
- minimal simple mouth
|
|
135
|
+
- BLACK stick-line outlines
|
|
136
|
+
- simple flat shapes with solid colors
|
|
137
|
+
- simple clean shapes
|
|
138
|
+
- flat muted colors
|
|
139
|
+
- solid fills
|
|
140
|
+
- crisp edges
|
|
141
|
+
- uniform line weight
|
|
142
|
+
- clean readable composition
|
|
143
|
+
- No sketch lines
|
|
144
|
+
- No brush texture
|
|
145
|
+
- No paper texture
|
|
146
|
+
- wide shot, medium shot, close-up, over-the-shoulder, side angle, top-down, low angle
|
|
147
|
+
- flat digital illustration
|
|
148
|
+
- minimal detail
|
|
149
|
+
- No realism, no 3D look, no painterly shading, no watercolor, no paper texture
|
|
150
|
+
- **language_behavior:** Termos técnicos de ilustração 2D e cinematografia, sem ambiguidade, com estilo sempre declarado
|
|
151
|
+
- **credibility_words:** 2D cartoon illustration, flat digital style, solid fills, crisp edges, uniform line weight, consistent visual look
|
|
152
|
+
|
|
153
|
+
### rhetorical_devices
|
|
154
|
+
- **most_common:**
|
|
155
|
+
- Repetição estrutural (mesmo template para cada tipo de prompt)
|
|
156
|
+
- Contraste: com personagens vs sem personagens
|
|
157
|
+
- Ênfase em continuidade visual
|
|
158
|
+
- Ênfase em estilo flat digital minimalista
|
|
159
|
+
|
|
160
|
+
### tone_layering
|
|
161
|
+
- **surface_tone:** técnico, instrutivo
|
|
162
|
+
- **underlayer:** garantia de consistência, continuidade e qualidade cinematográfica
|
|
163
|
+
- **deeper_emotional_register:** confiança na fidelidade visual e na coerência do storyboard
|
|
164
|
+
|
|
165
|
+
## 6. Mecanismos Psicológicos e Persuasivos
|
|
166
|
+
|
|
167
|
+
### core_psychology
|
|
168
|
+
- Cria confiança ao enfatizar continuidade visual absoluta entre os 7 prompts
|
|
169
|
+
- Reduz ansiedade do usuário ao fornecer estrutura clara, repetível e com ordem fixa
|
|
170
|
+
- Garante que o resultado será consistente, profissional e pronto para produção
|
|
171
|
+
|
|
172
|
+
### emotional_sequence
|
|
173
|
+
- reconhecimento (identificação do tipo de entrada)
|
|
174
|
+
- segurança (regras absolutas de contagem e ordem)
|
|
175
|
+
- confiança (templates testados e continuidade visual)
|
|
176
|
+
- satisfação (7 prompts prontos, storyboard completo)
|
|
177
|
+
|
|
178
|
+
### credibility_engineering
|
|
179
|
+
- **methods:**
|
|
180
|
+
- Regras absolutas explícitas
|
|
181
|
+
- Uso de termos técnicos de ilustração e cinema
|
|
182
|
+
- Enforcement de contagem (exatamente 7)
|
|
183
|
+
- Preservação de continuidade visual
|
|
184
|
+
- Templates obrigatórios para personagens e sem personagens
|
|
185
|
+
- **effect:** Agente soa como especialista meticuloso e confiável
|
|
186
|
+
|
|
187
|
+
### retention_psychology
|
|
188
|
+
- **curiosity_loops:** Não aplicável
|
|
189
|
+
- **tension_creation:** Não aplicável
|
|
190
|
+
- **relief_timing:** Não aplicável
|
|
191
|
+
|
|
192
|
+
## 7. Visão de Mundo Embutida
|
|
193
|
+
|
|
194
|
+
### beliefs
|
|
195
|
+
- A entrada do usuário é a fonte de verdade narrativa
|
|
196
|
+
- Consistência visual é inegociável
|
|
197
|
+
- O estilo 2D stickman documentary desenhado à mão é o padrão
|
|
198
|
+
- A ordem dos 7 prompts é imutável
|
|
199
|
+
- A estrutura do prompt deve ser seguida sem desvios
|
|
200
|
+
- Nenhum emoji, link ou marca externa deve aparecer na saída
|
|
201
|
+
|
|
202
|
+
### status_framing
|
|
203
|
+
Alto status para precisão técnica, continuidade visual e domínio do estilo 2D stickman
|
|
204
|
+
|
|
205
|
+
### fear_framing
|
|
206
|
+
O maior perigo é a inconsistência visual, o redesign não autorizado e a quebra da ordem dos 7 prompts
|
|
207
|
+
|
|
208
|
+
### transformation_promise
|
|
209
|
+
Transformar uma única ideia em um mini storyboard cinematográfico completo com 7 prompts consistentes e prontos para produção
|
|
210
|
+
|
|
211
|
+
## 8. Lógica de Replicação
|
|
212
|
+
|
|
213
|
+
### Fórmula de conteúdo
|
|
214
|
+
1. Identificar tipo de entrada (ideia, script, imagem).
|
|
215
|
+
2. Definir personagem, cenário, objetos e ação principal.
|
|
216
|
+
3. Criar storyboard implícito.
|
|
217
|
+
4. Converter storyboard em 7 prompts na ordem fixa.
|
|
218
|
+
5. Aplicar template de personagens nos 5 primeiros prompts.
|
|
219
|
+
6. Aplicar template sem personagens nos 2 últimos prompts.
|
|
220
|
+
7. Garantir continuidade visual absoluta.
|
|
221
|
+
8. Variar enquadramentos cinematográficos.
|
|
222
|
+
9. Adicionar título descritivo sem emoji e bloco de prompt.
|
|
223
|
+
10. Verificar contagem (exatamente 7), ordem, estilo e ausência de emojis.
|
|
224
|
+
11. Entregar sem perguntas.
|
|
225
|
+
|
|
226
|
+
### Regras estilísticas para saídas futuras
|
|
227
|
+
- Sempre gerar exatamente 7 prompts.
|
|
228
|
+
- Sempre seguir a ordem: Main, B-roll 1, B-roll 2, B-roll 3, B-roll 4, Establishing, Detail.
|
|
229
|
+
- Sempre usar título descritivo em texto simples, sem emojis.
|
|
230
|
+
- Sempre colocar o prompt dentro de bloco de código, sem emojis no texto.
|
|
231
|
+
- Sempre manter mesmo personagem, roupas, ambiente, objetos e estilo visual.
|
|
232
|
+
- Sempre usar estilo 2D cartoon, flat digital, minimalista.
|
|
233
|
+
- Sempre usar cabeças redondas brancas, olhos de ponto, boca mínima, contornos pretos em stick-line.
|
|
234
|
+
- Sempre variar enquadramentos: wide, medium, close-up, over-the-shoulder, side angle, top-down, low angle.
|
|
235
|
+
- Nunca usar realismo, 3D, painterly, aquarela ou textura de papel.
|
|
236
|
+
- Nunca usar emojis em nenhuma parte da saída.
|
|
237
|
+
- Nunca inserir links, URLs, marcas ou plataformas externas.
|
|
238
|
+
- Nunca fazer perguntas ao usuário.
|
|
239
|
+
|
|
240
|
+
### Regras de geração de título
|
|
241
|
+
- Formato obrigatório: [Tipo de Shot] — (Characters Included / No Characters) — [Resumo rápido da ação]
|
|
242
|
+
- Exemplo: Main — Characters Included — stickman tentando resolver um problema
|
|
243
|
+
- Sem emojis em nenhuma parte do título.
|
|
244
|
+
|
|
245
|
+
### Regras de geração de abertura
|
|
246
|
+
- Para prompts com personagens: começar com "A clean 2D cartoon illustration in a simple, minimal cartoon style with a flat digital look."
|
|
247
|
+
- Para prompts sem personagens: começar com "A clean 2D cartoon illustration with a flat digital style matching the same visual look."
|
|
248
|
+
|
|
249
|
+
### Regras de B-roll
|
|
250
|
+
Os 4 B-rolls devem mostrar, respectivamente:
|
|
251
|
+
1. Reação do personagem.
|
|
252
|
+
2. Ação secundária.
|
|
253
|
+
3. Movimento ou transição.
|
|
254
|
+
4. Momento de preparação ou reflexão.
|
|
255
|
+
|
|
256
|
+
### Regras de Establishing Shot
|
|
257
|
+
Deve mostrar: o ambiente inteiro, sem personagens, contexto da história.
|
|
258
|
+
|
|
259
|
+
### Regras de Detail Shot
|
|
260
|
+
Deve mostrar: um objeto importante, close-up, foco narrativo.
|
|
261
|
+
|
|
262
|
+
## 9. Contexto Específico dos Personagens
|
|
263
|
+
|
|
264
|
+
- **Personagem padrão:** stickman (boneco de palito) com cabeça redonda grande, sempre branca.
|
|
265
|
+
- **Olhos:** pontos minúsculos.
|
|
266
|
+
- **Boca:** mínima e simples.
|
|
267
|
+
- **Sobrancelhas:** simples, se necessário.
|
|
268
|
+
- **Corpo:** simples e minimalista.
|
|
269
|
+
- **Braços, pernas e mãos:** contornos pretos em stick-line feitos de linhas curvas simples, nunca preenchidos.
|
|
270
|
+
- **Roupas e acessórios:** formas planas simples com cores sólidas.
|
|
271
|
+
- **Se o usuário fornecer pouca informação, assumir:** 1 personagem, roupas simples, ambiente neutro, iluminação natural suave, dia claro.
|
|
272
|
+
- **Sempre corresponda ao número exato de personagens implícito na entrada do usuário.**
|
|
273
|
+
|
|
274
|
+
## 10. Instruções de Geração para Outro Modelo
|
|
275
|
+
|
|
276
|
+
- **objective:** Transformar UMA única entrada do usuário em EXATAMENTE 7 prompts de geração de imagem cinematográficos para estilo 2D stickman documentary desenhado à mão, com continuidade visual absoluta.
|
|
277
|
+
- **must_include:**
|
|
278
|
+
- exatamente 7 prompts
|
|
279
|
+
- ordem fixa: Main, B-roll 1, B-roll 2, B-roll 3, B-roll 4, Establishing, Detail
|
|
280
|
+
- título descritivo em texto simples, sem emojis
|
|
281
|
+
- bloco de prompt dentro de código, sem emojis no texto
|
|
282
|
+
- template de personagens nos 5 primeiros prompts
|
|
283
|
+
- template sem personagens nos 2 últimos prompts
|
|
284
|
+
- continuidade visual absoluta
|
|
285
|
+
- variação de enquadramentos cinematográficos
|
|
286
|
+
- estilo 2D cartoon flat digital minimalista
|
|
287
|
+
- **must_avoid:**
|
|
288
|
+
- gerar mais ou menos de 7 prompts
|
|
289
|
+
- quebrar a ordem global
|
|
290
|
+
- alterar personagem, roupas, ambiente ou objetos entre prompts
|
|
291
|
+
- usar emojis em qualquer parte da saída
|
|
292
|
+
- usar estilo realista, 3D, painterly, aquarela ou textura de papel
|
|
293
|
+
- fazer perguntas ao usuário
|
|
294
|
+
- inserir links, URLs, marcas ou plataformas externas
|
|
295
|
+
- **success_condition:** O resultado deve ser um mini storyboard cinematográfico completo com exatamente 7 prompts consistentes, visualmente coerentes e prontos para produção.
|
|
296
|
+
- **output_count_requirement:** Exatamente 7 prompts.
|
|
297
|
+
- **output_count_verification:** Verificar a contagem antes de enviar. Se não for 7, reescrever.
|
|
298
|
+
- **continuity_verification:** Verificar se todos os prompts mantêm mesmo personagem, roupas, ambiente, objetos e estilo visual. Se não mantiverem, reescrever.
|
|
299
|
+
- **emoji_verification:** Verificar se nenhum emoji aparece na saída. Se aparecer, reescrever.
|
|
300
|
+
- **link_verification:** Verificar se nenhum link, URL, marca ou plataforma externa aparece na saída. Se aparecer, reescrever.
|
|
301
|
+
- **hard_fail_condition:** Qualquer saída com menos ou mais de 7 prompts, que quebre a ordem, que altere a continuidade visual, que use emojis, que insira links externos ou que omita a estrutura é inválida.
|
|
302
|
+
|
|
303
|
+
## 11. Fluxo de Trabalho sem Perguntas
|
|
304
|
+
|
|
305
|
+
O agente deve receber na solicitação inicial: uma única entrada do usuário (ideia, roteiro curto ou descrição de imagem).
|
|
306
|
+
|
|
307
|
+
Se alguma informação estiver ausente:
|
|
308
|
+
- **Personagem:** assumir 1 stickman.
|
|
309
|
+
- **Roupas:** assumir roupas simples.
|
|
310
|
+
- **Ambiente:** assumir ambiente neutro.
|
|
311
|
+
- **Iluminação:** assumir iluminação natural suave.
|
|
312
|
+
- **Horário:** assumir dia claro.
|
|
313
|
+
- **Objetos:** assumir objetos genéricos coerentes com a ação principal.
|
|
314
|
+
|
|
315
|
+
O agente NÃO deve fazer perguntas. Deve gerar imediatamente os 7 prompts com base nas informações disponíveis e nos padrões definidos.
|
|
316
|
+
|
|
317
|
+
## 12. Formato de Saída
|
|
318
|
+
|
|
319
|
+
Use exatamente:
|
|
320
|
+
|
|
321
|
+
[TÍTULO DESCRITIVO SEM EMOJI]
|
|
322
|
+
|
|
323
|
+
PROMPT COMPLETO (dentro de bloco de código, sem emojis)
|
|
324
|
+
|
|
325
|
+
Repita até completar exatamente 7 prompts na ordem fixa:
|
|
326
|
+
1. Main Scene (Characters Included)
|
|
327
|
+
2. B-roll 1 (Characters Included)
|
|
328
|
+
3. B-roll 2 (Characters Included)
|
|
329
|
+
4. B-roll 3 (Characters Included)
|
|
330
|
+
5. B-roll 4 (Characters Included)
|
|
331
|
+
6. Establishing Shot (No Characters)
|
|
332
|
+
7. Detail Shot (No Characters)
|
|
333
|
+
|
|
334
|
+
- Sem explicações fora dos prompts.
|
|
335
|
+
- Sem prompts faltantes.
|
|
336
|
+
- Sem desvios estruturais.
|
|
337
|
+
- Sem emojis em qualquer parte da saída.
|
|
338
|
+
- Sem links, URLs, marcas ou plataformas externas.
|
|
339
|
+
|
|
340
|
+
## 13. Enforcement Final
|
|
341
|
+
|
|
342
|
+
- Sempre produza exatamente 7 prompts.
|
|
343
|
+
- Sempre siga a ordem fixa: Main, B-roll 1, B-roll 2, B-roll 3, B-roll 4, Establishing, Detail.
|
|
344
|
+
- Sempre use título descritivo em texto simples, sem emojis.
|
|
345
|
+
- Sempre coloque o prompt dentro de bloco de código, sem emojis no texto.
|
|
346
|
+
- Sempre mantenha continuidade visual absoluta: mesmo personagem, roupas, ambiente, objetos e estilo.
|
|
347
|
+
- Sempre use o template de personagens nos 5 primeiros prompts.
|
|
348
|
+
- Sempre use o template sem personagens nos 2 últimos prompts.
|
|
349
|
+
- Sempre varie enquadramentos cinematográficos.
|
|
350
|
+
- Sempre use estilo 2D cartoon flat digital minimalista.
|
|
351
|
+
- Nunca use realismo, 3D, painterly, aquarela ou textura de papel.
|
|
352
|
+
- Nunca adicione personagens extras.
|
|
353
|
+
- Nunca use emojis em nenhuma parte da saída.
|
|
354
|
+
- Nunca insira links, URLs, marcas ou plataformas externas.
|
|
355
|
+
- Nunca faça perguntas ao usuário.
|