@danhachuel/thunderbolt 0.7.68 → 0.7.70
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 +44 -1
- package/hermes_ui/storage.py +2 -1
- package/package.json +1 -1
- package/scripts/install.mjs +16 -0
- package/seed/blueprints/thumbnails/ORACAO_Thumbnail_Blueprint.md +181 -231
package/app/main.py
CHANGED
|
@@ -8879,7 +8879,7 @@ def render_settings():
|
|
|
8879
8879
|
key=f"settings_{key}",
|
|
8880
8880
|
)
|
|
8881
8881
|
|
|
8882
|
-
api_keys_tab, upload_api_keys_tab, subtitles_tab, ai_influencers_tab, voice_test_tab = render_localized_tabs(["API Keys", "API Keys Upload", "Legendas", "AI Influencers", "Teste de Voz"])
|
|
8882
|
+
api_keys_tab, upload_api_keys_tab, subtitles_tab, ffmpeg_tab, ai_influencers_tab, voice_test_tab = render_localized_tabs(["API Keys", "API Keys Upload", "Legendas", "FFmpeg", "AI Influencers", "Teste de Voz"])
|
|
8883
8883
|
|
|
8884
8884
|
with api_keys_tab:
|
|
8885
8885
|
with st.container(border=True):
|
|
@@ -9321,6 +9321,49 @@ def render_settings():
|
|
|
9321
9321
|
else:
|
|
9322
9322
|
st.success("Configuração de legendas guardada localmente.")
|
|
9323
9323
|
|
|
9324
|
+
with ffmpeg_tab:
|
|
9325
|
+
st.subheader("FFmpeg")
|
|
9326
|
+
st.caption("Seleccione a versão do FFmpeg usada pelo pipeline. O perfil FFmpeg 7.1 Péter é o recomendado para aceleração NVENC em GPUs modernas.")
|
|
9327
|
+
ffmpeg_options = [
|
|
9328
|
+
("7.1-20240930", "FFmpeg 7.1 Péter — compatível com API NVENC 13.0 / driver 572.00+", "ffmpeg"),
|
|
9329
|
+
("system", "FFmpeg actual do sistema — pode usar builds 7.1.5+ e exigir API NVENC 13.1", str(settings.get("ffmpeg_system_path") or "ffmpeg").strip() or "ffmpeg"),
|
|
9330
|
+
]
|
|
9331
|
+
saved_ffmpeg_version = str(settings.get("ffmpeg_version") or "7.1-20240930").strip()
|
|
9332
|
+
ffmpeg_values = [item[0] for item in ffmpeg_options]
|
|
9333
|
+
if saved_ffmpeg_version not in ffmpeg_values:
|
|
9334
|
+
saved_ffmpeg_version = "7.1-20240930"
|
|
9335
|
+
ffmpeg_version = st.radio(
|
|
9336
|
+
"Versão a utilizar",
|
|
9337
|
+
ffmpeg_values,
|
|
9338
|
+
index=ffmpeg_values.index(saved_ffmpeg_version),
|
|
9339
|
+
format_func=lambda value: next(item[1] for item in ffmpeg_options if item[0] == value),
|
|
9340
|
+
key="ffmpeg_version_ui",
|
|
9341
|
+
)
|
|
9342
|
+
selected_ffmpeg_path = next(item[2] for item in ffmpeg_options if item[0] == ffmpeg_version)
|
|
9343
|
+
ffmpeg_path_status = shutil.which(selected_ffmpeg_path) or (selected_ffmpeg_path if Path(selected_ffmpeg_path).is_file() else "")
|
|
9344
|
+
if ffmpeg_path_status:
|
|
9345
|
+
st.success(f"FFmpeg seleccionado disponível: `{ffmpeg_path_status}`")
|
|
9346
|
+
else:
|
|
9347
|
+
st.warning("O executável seleccionado ainda não foi encontrado no PATH. A instalação Windows abaixo pode corrigir isso.")
|
|
9348
|
+
with st.expander("Instalação nativa recomendada — Windows", expanded=False):
|
|
9349
|
+
st.code("winget install --id BtbN.FFmpeg.GPL.7.1 --version 7.1-20240930 -e", language="powershell")
|
|
9350
|
+
st.caption("O instalador do Thunderbolt executa este comando automaticamente em instalações Windows quando o winget está disponível. Depois de instalar, reabra o terminal para actualizar o PATH.")
|
|
9351
|
+
if st.button("Guardar configuração de FFmpeg", type="primary", width="stretch", key="save_ffmpeg_settings"):
|
|
9352
|
+
settings.update({
|
|
9353
|
+
"ffmpeg_version": ffmpeg_version,
|
|
9354
|
+
"ffmpeg_path": selected_ffmpeg_path,
|
|
9355
|
+
})
|
|
9356
|
+
write_json("settings.json", settings)
|
|
9357
|
+
ffmpeg_moneyprinter_path = str(settings.get("moneyprinter_path") or "").strip()
|
|
9358
|
+
if ffmpeg_moneyprinter_path:
|
|
9359
|
+
try:
|
|
9360
|
+
synced = sync_moneyprinter_config(settings, ffmpeg_moneyprinter_path)
|
|
9361
|
+
st.success(f"Configuração de FFmpeg guardada{f' e sincronizada com {synced}' if synced else ''}.")
|
|
9362
|
+
except Exception as exc:
|
|
9363
|
+
st.warning(f"Configuração guardada localmente, mas não foi possível sincronizar config.toml: {exc}")
|
|
9364
|
+
else:
|
|
9365
|
+
st.success("Configuração de FFmpeg guardada localmente.")
|
|
9366
|
+
|
|
9324
9367
|
with ai_influencers_tab:
|
|
9325
9368
|
st.subheader("AI Influencers")
|
|
9326
9369
|
st.caption("Estado do backend usado por Personagens e Geração de Conteúdo IA. O selector e as credenciais são editados nesta aba, em Banco de Dados Influencers.")
|
package/hermes_ui/storage.py
CHANGED
|
@@ -268,7 +268,8 @@ DEFAULTS: dict[str, Any] = {
|
|
|
268
268
|
"twelvelabs_api_keys": "",
|
|
269
269
|
"sonilo_api_key": "",
|
|
270
270
|
"subtitle_provider": "edge",
|
|
271
|
-
"ffmpeg_path": "",
|
|
271
|
+
"ffmpeg_path": "ffmpeg",
|
|
272
|
+
"ffmpeg_version": "7.1-20240930",
|
|
272
273
|
"video_codec": "h264_nvenc",
|
|
273
274
|
"material_directory": "",
|
|
274
275
|
"whisper_model_size": "large-v3",
|
package/package.json
CHANGED
package/scripts/install.mjs
CHANGED
|
@@ -394,6 +394,19 @@ function ensurePython() {
|
|
|
394
394
|
return found;
|
|
395
395
|
}
|
|
396
396
|
|
|
397
|
+
function installFfmpegWindows() {
|
|
398
|
+
if (platform() !== "win32" || process.env.THUNDERBOLT_SKIP_FFMPEG_INSTALL === "1") return;
|
|
399
|
+
if (!commandExists("winget")) {
|
|
400
|
+
console.warn("winget não encontrado; o FFmpeg 7.1 não foi instalado automaticamente. Instale-o com: winget install --id BtbN.FFmpeg.GPL.7.1 --version 7.1-20240930 -e");
|
|
401
|
+
return;
|
|
402
|
+
}
|
|
403
|
+
console.log("A instalar FFmpeg 7.1 Péter através do winget...");
|
|
404
|
+
const result = spawnSync("winget", ["install", "--id", "BtbN.FFmpeg.GPL.7.1", "--version", "7.1-20240930", "-e", "--accept-source-agreements", "--accept-package-agreements", "--silent"], { stdio: "inherit", env: pythonEnvironment });
|
|
405
|
+
if (result.status !== 0) {
|
|
406
|
+
console.warn("Não foi possível instalar o FFmpeg 7.1 automaticamente. Execute o comando winget mostrado na aba Configuração API > FFmpeg.");
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
|
|
397
410
|
function cloneMoneyPrinter(path) {
|
|
398
411
|
if (existsSync(join(path, ".git")) || existsSync(join(path, "pyproject.toml"))) {
|
|
399
412
|
console.log(`MoneyPrinterTurbo já existe em ${path}; será reutilizado.`);
|
|
@@ -472,6 +485,8 @@ function writeSettings(moneyprinterPath) {
|
|
|
472
485
|
try { settings = JSON.parse(readFileSync(settingsPath, "utf8")); } catch { settings = {}; }
|
|
473
486
|
}
|
|
474
487
|
settings.moneyprinter_path = moneyprinterPath;
|
|
488
|
+
if (!settings.ffmpeg_path) settings.ffmpeg_path = "ffmpeg";
|
|
489
|
+
if (!settings.ffmpeg_version) settings.ffmpeg_version = "7.1-20240930";
|
|
475
490
|
if (!settings.llm_provider || String(settings.llm_provider).trim().toLowerCase() === "moonshot") {
|
|
476
491
|
settings.llm_provider = "openai";
|
|
477
492
|
}
|
|
@@ -501,6 +516,7 @@ function main() {
|
|
|
501
516
|
if (!skipMpt) cloneMoneyPrinter(moneyprinterPath);
|
|
502
517
|
if (!skipDeps) installThunderboltDependencies(python);
|
|
503
518
|
if (!skipDeps && !skipMpt) installMoneyPrinterDependencies(moneyprinterPath);
|
|
519
|
+
if (!skipDeps) installFfmpegWindows();
|
|
504
520
|
writeSettings(moneyprinterPath);
|
|
505
521
|
console.log("\nInstalação do Thunderbolt concluída.");
|
|
506
522
|
console.log(`Pasta Thunderbolt: ${thunderboltHome}`);
|
|
@@ -1,231 +1,181 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
Aspect ratio:
|
|
184
|
-
16:9
|
|
185
|
-
|
|
186
|
-
Resolution:
|
|
187
|
-
1280 × 720 minimum
|
|
188
|
-
|
|
189
|
-
Image style: Cinematic, ethereal, and high-quality — blending realistic photography with a slightly dreamy, heavenly aesthetic. The imagery should feel professional, polished, and emotionally resonant — like a high-end Christian film or worship album cover. Soft focus, warm tones, and radiant light effects are characteristic.
|
|
190
|
-
|
|
191
|
-
Sharpness: Crisp where it matters (subject, text) with soft, dreamy backgrounds (bokeh, haze, light diffusion). Not overly sharp or clinical.
|
|
192
|
-
|
|
193
|
-
Technical restrictions: No cartoonish illustrations. No low-quality stock photos. Imagery should feel premium, current, and spiritually evocative. Color grading should be warm (golden/amber) with soft highlights and gentle contrasts.
|
|
194
|
-
|
|
195
|
-
🧠 FINAL OBJECTIVE
|
|
196
|
-
|
|
197
|
-
Primary goal:
|
|
198
|
-
Maximize YouTube CTR for Christian prayer / faith-based motivational content
|
|
199
|
-
|
|
200
|
-
Target emotional triggers:
|
|
201
|
-
|
|
202
|
-
Hope and faith in God's intervention
|
|
203
|
-
|
|
204
|
-
Desire for peace, protection, and blessing
|
|
205
|
-
|
|
206
|
-
Longing for spiritual breakthrough and transformation
|
|
207
|
-
|
|
208
|
-
Trust in a higher power and divine guidance
|
|
209
|
-
|
|
210
|
-
Comfort in times of struggle or uncertainty
|
|
211
|
-
|
|
212
|
-
Target audience: Christians seeking daily prayer, spiritual encouragement, and faith-based motivation — from new believers to mature Christians. Content is accessible, comforting, and designed for daily devotional use.
|
|
213
|
-
|
|
214
|
-
🧾 FINAL INPUT FORMAT
|
|
215
|
-
|
|
216
|
-
VIDEO TITLE:
|
|
217
|
-
"[placeholder — will be filled in the next step with the actual video title/script]"
|
|
218
|
-
|
|
219
|
-
⚙️ FINAL SYSTEM INSTRUCTION
|
|
220
|
-
|
|
221
|
-
You are a thumbnail designer for the Grace For Purpose Prayers YouTube channel. Using the style guide above, generate 2–4 headline options (3–6 words each) derived from the provided VIDEO TITLE. Then create a thumbnail image that follows all style rules above:
|
|
222
|
-
|
|
223
|
-
Cinematic, ethereal Christian imagery (sunrise, cross, light rays, open hands, or silhouette in prayer)
|
|
224
|
-
|
|
225
|
-
Warm, golden-hour lighting with soft, diffused highlights
|
|
226
|
-
|
|
227
|
-
Bold, encouraging text at the bottom or lower third (max 2 lines, serif or clean sans-serif with outline)
|
|
228
|
-
|
|
229
|
-
1–2 supporting faith symbols (optional — cross, Bible, dove)
|
|
230
|
-
|
|
231
|
-
No aggressive clickbait styling — keep it peaceful, reverent, and hopeful
|
|
1
|
+
# ORAÇÃO_Thumbnail_Blueprint.md
|
|
2
|
+
# SYSTEM PROMPT PARA GERAÇÃO DE THUMBNAILS
|
|
3
|
+
# CANAL: Grace For Purpose Prayers
|
|
4
|
+
|
|
5
|
+
🔒 STYLE LOCK — NON-NEGOTIABLE
|
|
6
|
+
|
|
7
|
+
Serene, faith-centered, and visually calming thumbnails for a Christian prayer and motivation channel. The visual language is peaceful, hopeful, and spiritually uplifting — conveying comfort, divine presence, and the power of prayer. Thumbnails feature warm, inviting imagery (sunrises, open hands, crosses, Bibles, light beaming through clouds) combined with bold, encouraging text that promises spiritual breakthrough, protection, and blessing. The overall vibe is gentle yet authoritative, trustworthy, and deeply reverent — not flashy, not aggressive, and never chaotic or cluttered.
|
|
8
|
+
|
|
9
|
+
❌ **FORBIDDEN ELEMENTS (ATUALIZADO - CRÍTICO):**
|
|
10
|
+
|
|
11
|
+
- **Cenários proibidos:** NÃO gere quartos de casa, camas, pessoas deitadas, ambientes residenciais fechados ou íntimos. O canal modelo usa ambientes abertos (céu, montanhas, mar, campos) ou igrejas.
|
|
12
|
+
- **Palavras proibidas no texto:** NÃO use "Calm", "Silence", "Relax", "Mind", "Anxiety", "Stress", "Sleep" (a menos que seja "Sleep Prayer" no título principal). NÃO use frases de meditação secular.
|
|
13
|
+
- **Texto:** NÃO use frases com mais de 6 palavras no total.
|
|
14
|
+
- **Estilo:** NÃO use gráficos de clickbait agressivo (sem setas neon, sem expressões faciais de choque). NÃO use imagens escuras ou ameaçadoras.
|
|
15
|
+
- **Elementos:** NÃO ultrapasse 3–4 elementos visuais distintos.
|
|
16
|
+
|
|
17
|
+
🧍♂️ FRAMING & POSE (ATUALIZADO)
|
|
18
|
+
|
|
19
|
+
**Primary subject:** A cena DEVE transmitir ORAÇÃO e ADORAÇÃO, não meditação ou descanso mental. Escolha UMA das seguintes opções:
|
|
20
|
+
1. **Silhueta de mãos levantadas** em adoração, voltadas para o céu (prioridade máxima).
|
|
21
|
+
2. **Pessoa de costas ou de perfil**, olhando para o horizonte ou para a luz (não para baixo, não dormindo).
|
|
22
|
+
3. **Bíblia aberta** com luz emanando das páginas.
|
|
23
|
+
4. **Cruz** silhuetada contra um céu brilhante ou em destaque.
|
|
24
|
+
5. **Nascer do sol** radiante com raios de luz rompendo as nuvens.
|
|
25
|
+
6. **Pessoa ajoelhada** em oração, mas em um ambiente aberto (não num quarto).
|
|
26
|
+
|
|
27
|
+
**Framing:** Wide, cinematic compositions that emphasize peace and divine scale. O sujeito principal ocupa 30–50% do quadro, com o restante espaço para o texto e elementos atmosféricos.
|
|
28
|
+
|
|
29
|
+
**Angle:** Low-angle ou straight-on. Ângulos baixos transmitem reverência ("olhando para Deus").
|
|
30
|
+
|
|
31
|
+
**Energy:** Calm, reflective, and expectant — "peace is coming," "God is working," and "breakthrough is near."
|
|
32
|
+
|
|
33
|
+
**Cropping:** Sujeitos emoldurados com espaço generoso para o texto, geralmente centralizado, na parte inferior ou no terço inferior.
|
|
34
|
+
|
|
35
|
+
🎨 BACKGROUND & LIGHTING (ATUALIZADO)
|
|
36
|
+
|
|
37
|
+
**Environment:** Cenários celestiais e abertos — OBRIGATORIAMENTE um dos seguintes:
|
|
38
|
+
- Céus ao amanhecer ou entardecer com tons dourados, laranja, rosa ou azul suave.
|
|
39
|
+
- Nuvens com raios de luz rompendo (simbolizando a presença divina).
|
|
40
|
+
- Fundos naturais desfocados (campos, montanhas, oceano ao nascer do sol).
|
|
41
|
+
- Gradientes limpos e mínimos de dourado quente para branco suave ou azul.
|
|
42
|
+
|
|
43
|
+
**Lighting:** Warm, golden-hour lighting — soft, diffused, and radiant. A luz DEVE vir de cima ou de trás do sujeito, criando um efeito de halo ou backlight. High-key lighting com contrastes suaves.
|
|
44
|
+
|
|
45
|
+
**Depth:** Moderate depth — foreground (sujeito/silhueta), midground (raios de luz, nuvens), background (céu). Cria uma sensação de espaço infinito e vastidão divina.
|
|
46
|
+
|
|
47
|
+
**Visual noise:** Very low — fundos limpos e descomplicados.
|
|
48
|
+
|
|
49
|
+
🧭 IDENTIFICADORES / SÍMBOLOS DO CANAL
|
|
50
|
+
|
|
51
|
+
**Recurring visual symbols:**
|
|
52
|
+
- A Cruz — símbolo central cristão, frequentemente silhuetado ou brilhando.
|
|
53
|
+
- Raios de luz / feixes — representando a presença de Deus, bênção e milagre.
|
|
54
|
+
- Mãos abertas — oração, entrega, recebimento de bênção.
|
|
55
|
+
- Bíblia / Escritura — A Palavra de Deus como fundamento.
|
|
56
|
+
- Pomba — Espírito Santo (ocasional).
|
|
57
|
+
- Coroa — Soberania de Deus, recompensa (ocasional).
|
|
58
|
+
|
|
59
|
+
**Placement:** Símbolos integrados naturalmente na cena — não sobrepostos como adesivos.
|
|
60
|
+
|
|
61
|
+
**Color symbolism:**
|
|
62
|
+
- Dourado/Amarelo — presença divina, glória, bênção.
|
|
63
|
+
- Branco — pureza, santidade, paz.
|
|
64
|
+
- Azul — céu, confiança, fé.
|
|
65
|
+
- Roxo — realeza, soberania de Deus (ocasional).
|
|
66
|
+
|
|
67
|
+
🚨 VISUAL ATTENTION ELEMENT
|
|
68
|
+
|
|
69
|
+
**Usage:** Minimal e de bom gosto. O canal depende do impacto emocional da imagem e do texto.
|
|
70
|
+
|
|
71
|
+
**If used:**
|
|
72
|
+
- Um brilho sutil ou destaque ao redor de um elemento-chave (ex: a cruz, o texto).
|
|
73
|
+
- Um feixe de luz suave apontando para o sujeito ou texto.
|
|
74
|
+
- **NUNCA use setas, círculos, emojis ou efeitos neon.**
|
|
75
|
+
|
|
76
|
+
📝 TEXT STYLE (ATUALIZADO - CRÍTICO)
|
|
77
|
+
|
|
78
|
+
**Structure:**
|
|
79
|
+
- Máximo de 2 linhas de texto.
|
|
80
|
+
- Posicionado de forma proeminente — frequentemente centralizado na parte inferior, terço inferior ou ao longo do horizonte.
|
|
81
|
+
- O texto ocupa aproximadamente 25–35% da área da thumbnail (deve ser GRANDE e imponente).
|
|
82
|
+
|
|
83
|
+
**Typography:**
|
|
84
|
+
- Fonte em negrito, limpa, serifada ou semi-serifada (ex: Playfair Display, Georgia) — ou uma fonte sans-serif limpa para legibilidade moderna.
|
|
85
|
+
- Texto principal: Branco ou dourado, com um contorno escuro forte ou sombra para contraste contra céus brilhantes.
|
|
86
|
+
- Texto secundário (se usado): Menor, em uma cor complementar (dourado, azul suave ou branco).
|
|
87
|
+
|
|
88
|
+
**Hierarchy:**
|
|
89
|
+
- Linha 1: Gancho principal (maior, mais ousado) — 3–5 palavras no máximo.
|
|
90
|
+
- Linha 2: Contexto de apoio (menor) — 2–4 palavras no máximo (ex: "MORNING PRAYER").
|
|
91
|
+
|
|
92
|
+
**Background for text:** Muitas vezes uma sobreposição escura semitransparente ou gradiente na parte inferior da imagem para garantir a legibilidade do texto contra céus brilhantes.
|
|
93
|
+
|
|
94
|
+
🧠 TEXT PSYCHOLOGY (ATUALIZADO - CRÍTICO)
|
|
95
|
+
|
|
96
|
+
**Tone:** Encorajador, cheio de fé e com uma urgência espiritual. O texto promete intervenção divina, milagre, paz e bênção — energia de "Deus está prestes a agir".
|
|
97
|
+
|
|
98
|
+
**REGRA DE OURO DO TEXTO:** O texto DEVE conter pelo menos uma das seguintes palavras: **God, Jesus, Holy Spirit, Prayer, Faith, Praise, Word, Blood, Blessing, Grace, Mercy, Anointing.** Se não contiver, está ERRADO.
|
|
99
|
+
|
|
100
|
+
**Common psychological triggers observed/inferred:**
|
|
101
|
+
- **Hope/Promise:** "God Will Make a Way" / "Breakthrough Is Coming"
|
|
102
|
+
- **Urgency/Now:** "Start Your Day With This Prayer"
|
|
103
|
+
- **Protection:** "No Weapon Formed Will Prosper"
|
|
104
|
+
- **Transformation:** "Everything Begins to Change When..."
|
|
105
|
+
- **Direct Address:** "You Need to Always Thank God Before..."
|
|
106
|
+
- **Rest/Peace:** "Play This Every Night | Sleep With God's Word"
|
|
107
|
+
|
|
108
|
+
**Exemplos de padrões de manchete (USE ESTES COMO BASE):**
|
|
109
|
+
- "HOLY SPIRIT OPEN MY EYES"
|
|
110
|
+
- "LET PRAISE RULE YOUR DAY"
|
|
111
|
+
- "PUT GOD FIRST"
|
|
112
|
+
- "DECLARE GOD'S WORD"
|
|
113
|
+
- "START EACH DAY WITH ME LORD"
|
|
114
|
+
- "THE BLESSING OF LETTING GO"
|
|
115
|
+
- "PRAY THIS BEFORE YOU SLEEP"
|
|
116
|
+
- "GOD KNOWS YOUR NAME"
|
|
117
|
+
|
|
118
|
+
**🚫 FRASES PROIBIDAS (NUNCA USE):**
|
|
119
|
+
- "Calm Your Mind"
|
|
120
|
+
- "Silence Your Mind"
|
|
121
|
+
- "Relax Your Body"
|
|
122
|
+
- "Find Your Peace"
|
|
123
|
+
- "Let Go of Anxiety"
|
|
124
|
+
- "Overthinking"
|
|
125
|
+
- "Sleep Well"
|
|
126
|
+
- "Stress Relief"
|
|
127
|
+
|
|
128
|
+
🎯 COMPOSITION RULES
|
|
129
|
+
|
|
130
|
+
**Rule of thirds:** Sujeito principal (nascer do sol, cruz, mãos) colocado ao longo do terço inferior ou central. O texto ocupa o terço inferior ou a porção inferior do quadro. O céu/luz ocupa os dois terços superiores.
|
|
131
|
+
|
|
132
|
+
**Focal hierarchy:**
|
|
133
|
+
1. **Primário:** A imagem espiritual (luz, cruz, nascer do sol) — o fator "esperança".
|
|
134
|
+
2. **Secundário:** Texto (a promessa/gancho).
|
|
135
|
+
3. **Terciário:** Detalhes visuais de apoio (nuvens, raios de luz, símbolos sutis).
|
|
136
|
+
|
|
137
|
+
**Negative space:** O céu fornece espaço negativo natural. Texto e sujeitos são colocados para evitar sobreposição.
|
|
138
|
+
|
|
139
|
+
**Distraction control:** Máximo de 3–4 elementos visuais distintos no total.
|
|
140
|
+
|
|
141
|
+
**Mobile-first:** O texto deve ser grande o suficiente para ser lido em um smartphone. O sujeito principal deve ser claramente identificável mesmo em tamanhos pequenos.
|
|
142
|
+
|
|
143
|
+
📐 FORMAT & QUALITY
|
|
144
|
+
|
|
145
|
+
**Aspect ratio:** 16:9
|
|
146
|
+
**Resolution:** 1280 × 720 mínimo
|
|
147
|
+
**Image style:** Cinematic, ethereal, and high-quality — misturando fotografia realista com uma estética levemente sonhadora e celestial. A imagem deve parecer profissional, polida e emocionalmente ressonante — como um filme cristão de alto padrão ou capa de álbum de louvor. Foco suave, tons quentes e efeitos de luz radiante são característicos.
|
|
148
|
+
**Sharpness:** Nítido onde importa (sujeito, texto) com fundos suaves e sonhadores (bokeh, névoa, difusão de luz).
|
|
149
|
+
**Technical restrictions:** Sem ilustrações cartunescas. Sem fotos de banco de imagens de baixa qualidade. A imagem deve parecer premium, atual e espiritualmente evocativa. A gradação de cores deve ser quente (dourado/âmbar) com destaques suaves e contrastes gentis.
|
|
150
|
+
|
|
151
|
+
🧠 FINAL OBJECTIVE
|
|
152
|
+
|
|
153
|
+
**Primary goal:** Maximizar o CTR do YouTube para conteúdo cristão de oração / motivacional baseado na fé.
|
|
154
|
+
|
|
155
|
+
**Target emotional triggers:**
|
|
156
|
+
- Esperança e fé na intervenção de Deus.
|
|
157
|
+
- Desejo de paz, proteção e bênção.
|
|
158
|
+
- Anseio por milagre espiritual e transformação.
|
|
159
|
+
- Confiança em um poder superior e orientação divina.
|
|
160
|
+
- Conforto em tempos de luta ou incerteza.
|
|
161
|
+
|
|
162
|
+
**Target audience:** Cristãos em busca de oração diária, encorajamento espiritual e motivação baseada na fé — de novos crentes a cristãos maduros.
|
|
163
|
+
|
|
164
|
+
🧾 FINAL INPUT FORMAT
|
|
165
|
+
|
|
166
|
+
VIDEO TITLE:
|
|
167
|
+
"[placeholder — will be filled in the next step with the actual video title/script]"
|
|
168
|
+
|
|
169
|
+
⚙️ FINAL SYSTEM INSTRUCTION (ATUALIZADO - CRÍTICO)
|
|
170
|
+
|
|
171
|
+
You are a thumbnail designer for the Grace For Purpose Prayers YouTube channel. Using the style guide above, generate 2–4 headline options (3–6 words each) derived from the provided VIDEO TITLE. Then create a thumbnail image that follows all style rules above:
|
|
172
|
+
|
|
173
|
+
1. **O texto DEVE ser uma declaração de oração, uma promessa de Deus ou um chamado à fé.** (Ex: "HOLY SPIRIT OPEN MY EYES", "PUT GOD FIRST", "LET PRAISE RULE YOUR DAY").
|
|
174
|
+
2. **O texto DEVE conter pelo menos uma palavra cristã** (God, Jesus, Holy Spirit, Prayer, Faith, Praise, Word, Blood, Blessing, Grace, Mercy, Anointing).
|
|
175
|
+
3. **PROIBIDO usar frases de meditação secular** (Calm Your Mind, Silence Your Mind, Relax, etc.).
|
|
176
|
+
4. **O cenário DEVE ser aberto e celestial** (céu, nascer do sol, montanhas, mar). PROIBIDO usar quartos de casa, camas ou ambientes fechados.
|
|
177
|
+
5. **Cinematic, ethereal Christian imagery** (sunrise, cross, light rays, open hands, or silhouette in prayer).
|
|
178
|
+
6. **Warm, golden-hour lighting** with soft, diffused highlights.
|
|
179
|
+
7. **Bold, encouraging text** at the bottom or lower third (max 2 lines, serif or clean sans-serif with outline).
|
|
180
|
+
8. **1–2 supporting faith symbols** (optional — cross, Bible, dove).
|
|
181
|
+
9. **No aggressive clickbait styling** — keep it peaceful, reverent, and hopeful.
|