primocode 10.12.0 → 10.14.0

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.
Files changed (207) hide show
  1. package/README.md +74 -12
  2. package/bin/primocode.js +148 -8
  3. package/lib/act.js +48 -1
  4. package/lib/catalogo.js +12 -1
  5. package/lib/config.js +1 -0
  6. package/lib/estudio/assinaturas/gerativo.json +1 -1
  7. package/lib/estudio/camadas.js +4 -0
  8. package/lib/estudio/cota.js +150 -0
  9. package/lib/estudio/dados/projetos/clube-ad5.json +105 -0
  10. package/lib/estudio/dados/projetos/clube-ae-sem-memoria.json +107 -0
  11. package/lib/estudio/dados/projetos/clube-agent.json +120 -0
  12. package/lib/estudio/dados/projetos/clube-antes-e-agora.json +86 -0
  13. package/lib/estudio/dados/projetos/clube-apresentando-clube.json +110 -0
  14. package/lib/estudio/dados/projetos/clube-bluevisa.json +106 -0
  15. package/lib/estudio/dados/projetos/clube-caught-in-the-fire.json +127 -0
  16. package/lib/estudio/dados/projetos/clube-chat-cliente-satisfeito.json +98 -0
  17. package/lib/estudio/dados/projetos/clube-chatgpt-anuncios.json +120 -0
  18. package/lib/estudio/dados/projetos/clube-claude-dj.json +140 -0
  19. package/lib/estudio/dados/projetos/clube-claude-mcp.json +142 -0
  20. package/lib/estudio/dados/projetos/clube-cleanui.json +106 -0
  21. package/lib/estudio/dados/projetos/clube-clinica-take-unico.json +128 -0
  22. package/lib/estudio/dados/projetos/clube-clinica.json +104 -0
  23. package/lib/estudio/dados/projetos/clube-clube-opener.json +125 -0
  24. package/lib/estudio/dados/projetos/clube-clube.json +108 -0
  25. package/lib/estudio/dados/projetos/clube-codigo.json +101 -0
  26. package/lib/estudio/dados/projetos/clube-distilbook.json +104 -0
  27. package/lib/estudio/dados/projetos/clube-drive-upload.json +115 -0
  28. package/lib/estudio/dados/projetos/clube-dub.json +119 -0
  29. package/lib/estudio/dados/projetos/clube-enxovaly.json +105 -0
  30. package/lib/estudio/dados/projetos/clube-fecha7.json +118 -0
  31. package/lib/estudio/dados/projetos/clube-filatov.json +128 -0
  32. package/lib/estudio/dados/projetos/clube-frame.json +108 -0
  33. package/lib/estudio/dados/projetos/clube-glass.json +118 -0
  34. package/lib/estudio/dados/projetos/clube-letra-em-apps.json +84 -0
  35. package/lib/estudio/dados/projetos/clube-letra-globo-3d.json +111 -0
  36. package/lib/estudio/dados/projetos/clube-letra-nos-apps.json +146 -0
  37. package/lib/estudio/dados/projetos/clube-letra-seis-mundos.json +100 -0
  38. package/lib/estudio/dados/projetos/clube-lula-3.json +146 -0
  39. package/lib/estudio/dados/projetos/clube-morph.json +119 -0
  40. package/lib/estudio/dados/projetos/clube-motion-designer.json +115 -0
  41. package/lib/estudio/dados/projetos/clube-motion-pacote.json +112 -0
  42. package/lib/estudio/dados/projetos/clube-movimento.json +103 -0
  43. package/lib/estudio/dados/projetos/clube-not-like-us.json +117 -0
  44. package/lib/estudio/dados/projetos/clube-pinterest-inspiracao.json +86 -0
  45. package/lib/estudio/dados/projetos/clube-pixel-e-tinta.json +108 -0
  46. package/lib/estudio/dados/projetos/clube-ponte.json +118 -0
  47. package/lib/estudio/dados/projetos/clube-processo-edit-tonal.json +126 -0
  48. package/lib/estudio/dados/projetos/clube-processo-motion-100-ia.json +109 -0
  49. package/lib/estudio/dados/projetos/clube-promo.json +114 -0
  50. package/lib/estudio/dados/projetos/clube-proposito.json +115 -0
  51. package/lib/estudio/dados/projetos/clube-rankhog.json +128 -0
  52. package/lib/estudio/dados/projetos/clube-recursao.json +116 -0
  53. package/lib/estudio/dados/projetos/clube-revelar.json +118 -0
  54. package/lib/estudio/dados/projetos/clube-robo.json +125 -0
  55. package/lib/estudio/dados/projetos/clube-shelby-ep2.json +144 -0
  56. package/lib/estudio/dados/projetos/clube-shelby.json +97 -0
  57. package/lib/estudio/dados/projetos/clube-solar-eclipse.json +96 -0
  58. package/lib/estudio/dados/projetos/clube-soldier.json +128 -0
  59. package/lib/estudio/dados/projetos/clube-som-de-cena.json +108 -0
  60. package/lib/estudio/dados/projetos/clube-spotify-candidatura.json +112 -0
  61. package/lib/estudio/dados/projetos/clube-tda-app.json +118 -0
  62. package/lib/estudio/dados/projetos/clube-tda-ia.json +75 -0
  63. package/lib/estudio/dados/projetos/clube-telegram-chat.json +118 -0
  64. package/lib/estudio/dados/projetos/clube-telegram-ilha.json +106 -0
  65. package/lib/estudio/dados/projetos/clube-tennessee-nike.json +132 -0
  66. package/lib/estudio/dados/projetos/clube-tudo-se-move.json +112 -0
  67. package/lib/estudio/dados/projetos/clube-uiad.json +107 -0
  68. package/lib/estudio/dados/projetos/clube-viralgrow.json +108 -0
  69. package/lib/estudio/dados/projetos/clube-whose-side.json +140 -0
  70. package/lib/estudio/dados/projetos/clube-youtube-inscrever.json +108 -0
  71. package/lib/estudio/dados/projetos/elementos-do-site-em-movimento.json +49 -0
  72. package/lib/estudio/dados/projetos/explainer-narrado.json +51 -0
  73. package/lib/estudio/dados/projetos/lancamento-de-produto.json +51 -0
  74. package/lib/estudio/dados/projetos/motion-so-com-sons.json +50 -0
  75. package/lib/estudio/dados/projetos/titulo-em-after-effects.json +51 -0
  76. package/lib/estudio/dados/projetos/tour-de-saas.json +50 -0
  77. package/lib/estudio/dados/projetos-ae/antes-e-agora/ae/cenas.jsx +733 -0
  78. package/lib/estudio/dados/projetos-ae/antes-e-agora/assets/fazer_assets.py +88 -0
  79. package/lib/estudio/dados/projetos-ae/letra-em-apps/ae/cenas.jsx +402 -0
  80. package/lib/estudio/dados/projetos-ae/letra-em-apps/assets/preparar_assets.py +17 -0
  81. package/lib/estudio/dados/projetos-ae/letra-em-apps/assets/svg_para_ae.py +25 -0
  82. package/lib/estudio/dados/projetos-ae/letra-nos-apps/BRIEF-AGENTES.md +31 -0
  83. package/lib/estudio/dados/projetos-ae/letra-nos-apps/README.md +53 -0
  84. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ROTEIRO-CENAS.md +69 -0
  85. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/A-agenda.jsx +148 -0
  86. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/B-docs.jsx +174 -0
  87. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/C-alttab.jsx +113 -0
  88. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/D-spotify.jsx +118 -0
  89. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/E-notas.jsx +146 -0
  90. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/F-jornal1.jsx +144 -0
  91. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/G-google.jsx +153 -0
  92. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/H-mapa.jsx +176 -0
  93. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/I-imagens.jsx +132 -0
  94. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/J-jornal2.jsx +191 -0
  95. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/K-maps.jsx +184 -0
  96. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/camera-movimentos.jsx +48 -0
  97. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/camera.jsx +57 -0
  98. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/card-spotify.jsx +98 -0
  99. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/digitar.jsx +38 -0
  100. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/jornal-comum.jsx +196 -0
  101. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/letra.jsx +23 -0
  102. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/letra_automatica.py +83 -0
  103. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/montagem.jsx +74 -0
  104. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/w-agenda/render_html.py +13 -0
  105. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/w-agenda/util.jsx +162 -0
  106. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/w-midia-comum.jsx +114 -0
  107. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/wg-util.jsx +360 -0
  108. package/lib/estudio/dados/projetos-ae/letra-nos-apps/assets/F-jornal1/render_html.py +13 -0
  109. package/lib/estudio/dados/projetos-ae/letra-nos-apps/assets/render_w-midia.py +26 -0
  110. package/lib/estudio/dados/projetos-ae/letra-nos-apps/assets/w-midia-ferramentas/inclin.py +30 -0
  111. package/lib/estudio/dados/projetos-ae/letra-nos-apps/assets/w-midia-ferramentas/medir_d.py +36 -0
  112. package/lib/estudio/dados/projetos-ae/letra-nos-apps/assets/w-midia-ferramentas/medir_e.py +27 -0
  113. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/ajustar_movimentos.py +61 -0
  114. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/ancorar.py +74 -0
  115. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/assar.py +47 -0
  116. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/camera3d_jornal.py +172 -0
  117. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/comparar.py +32 -0
  118. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/dados_ae_jornal.py +46 -0
  119. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/folha_contato.py +28 -0
  120. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/homografia_jornal.py +74 -0
  121. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/integrar.py +44 -0
  122. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/medir_quadro_a_quadro.py +32 -0
  123. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/mesa_2d.py +64 -0
  124. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/plot_cenas.py +11 -0
  125. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/retificar_quadros.py +38 -0
  126. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/w-agenda/assar_ab.py +52 -0
  127. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/w-agenda/medir_ab.py +59 -0
  128. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/wg_ajustar_h.py +111 -0
  129. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/wg_corrige_cam.py +17 -0
  130. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/wg_ecc_cadeia.py +80 -0
  131. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/wg_finalizar_cam.py +65 -0
  132. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/wg_mosaico.py +61 -0
  133. package/lib/estudio/dados/projetos-ae/letra-nos-apps/guia-do-metodo/tutorial-lyric-edit-interfaces/01-gramatica-e-roteiro.md +55 -0
  134. package/lib/estudio/dados/projetos-ae/letra-nos-apps/guia-do-metodo/tutorial-lyric-edit-interfaces/02-camera.md +66 -0
  135. package/lib/estudio/dados/projetos-ae/letra-nos-apps/guia-do-metodo/tutorial-lyric-edit-interfaces/03-montagem-no-ae.md +50 -0
  136. package/lib/estudio/dados/projetos-ae/letra-nos-apps/guia-do-metodo/tutorial-lyric-edit-interfaces/04-render-e-conferencia.md +43 -0
  137. package/lib/estudio/dados/projetos-ae/letra-nos-apps/guia-do-metodo/tutorial-lyric-edit-interfaces/05-abertura-celular-mergulho.md +43 -0
  138. package/lib/estudio/dados/projetos-ae/letra-nos-apps/guia-do-metodo/tutorial-lyric-edit-interfaces.md +42 -0
  139. package/lib/estudio/dados/projetos-ae/letra-nos-apps/transicao/atraso_imagem.py +31 -0
  140. package/lib/estudio/dados/projetos-ae/letra-nos-apps/transicao/fundo.py +56 -0
  141. package/lib/estudio/dados/projetos-ae/letra-nos-apps/transicao/juntar.py +45 -0
  142. package/lib/estudio/dados/projetos-ae/letra-nos-apps/transicao/montar.py +177 -0
  143. package/lib/estudio/dados/projetos-ae/letra-nos-apps/transicao/rastreio.py +74 -0
  144. package/lib/estudio/dados/projetos-ae/letra-nos-apps/transicao/sincronia.py +18 -0
  145. package/lib/estudio/dados/projetos-ae/pinterest-inspiracao/ae/cenas.jsx +530 -0
  146. package/lib/estudio/dados/projetos-ae/pinterest-inspiracao/assets/fazer_assets.py +107 -0
  147. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/assets/pessoas/figurinha.py +46 -0
  148. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/comp-a/BRIEF-A.md +83 -0
  149. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/comp-a/audio.py +179 -0
  150. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/comp-a/confere.py +20 -0
  151. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/comp-a/dados/tempo-parte1.js +1 -0
  152. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/comp-a/dados/tempo-parte2.js +1 -0
  153. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/comp-a/gerar_emojis.py +11 -0
  154. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/comp-a/img/filmes/_indice.js +122 -0
  155. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/comp-a/js/base.js +380 -0
  156. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/comp-a/js/main.js +86 -0
  157. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/comp-a/js/p1a.js +169 -0
  158. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/comp-a/js/p1b.js +455 -0
  159. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/comp-a/js/p1c.js +389 -0
  160. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/comp-a/js/p2.js +379 -0
  161. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/comp-a/video.py +62 -0
  162. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/take-unico/README.md +65 -0
  163. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/take-unico/oraculo_take.py +137 -0
  164. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/take-unico/render_take.py +388 -0
  165. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/take-unico/take.js +235 -0
  166. package/lib/estudio/diretor.js +2 -1
  167. package/lib/estudio/editor.js +285 -0
  168. package/lib/estudio/efeitos-fabrica/terminal-digitando.jsx +2 -1
  169. package/lib/estudio/effectcraft.js +152 -0
  170. package/lib/estudio/exportar.js +181 -0
  171. package/lib/estudio/gerativo.js +44 -15
  172. package/lib/estudio/index.js +126 -5
  173. package/lib/estudio/kit/gerativo.jsx +15 -0
  174. package/lib/estudio/kit-ae/base.jsx +1146 -0
  175. package/lib/estudio/kit-ae/cenas.jsx +395 -0
  176. package/lib/estudio/kit-ae/primitivas.jsx +911 -0
  177. package/lib/estudio/kokoro.js +3 -1
  178. package/lib/estudio/maquina-diretor.js +393 -0
  179. package/lib/estudio/maquina-elementos.js +134 -0
  180. package/lib/estudio/maquina-layout.js +198 -0
  181. package/lib/estudio/maquina-som.js +478 -0
  182. package/lib/estudio/maquina-trilha.js +160 -0
  183. package/lib/estudio/maquina-voz.js +429 -0
  184. package/lib/estudio/maquina.js +516 -0
  185. package/lib/estudio/projetos.js +60 -0
  186. package/lib/estudio/remotion.js +6 -4
  187. package/lib/estudio/revisor.js +61 -0
  188. package/lib/estudio/voicestudio.js +81 -0
  189. package/lib/headless.js +71 -0
  190. package/lib/hooks.js +72 -0
  191. package/lib/local/cerebro.json +398 -12
  192. package/lib/local/entrada.js +46 -2
  193. package/lib/marca-kit.js +309 -0
  194. package/lib/mcp.js +286 -6
  195. package/lib/perigo.js +31 -3
  196. package/lib/planos.js +47 -19
  197. package/lib/preparar.js +111 -0
  198. package/lib/retomar.js +55 -0
  199. package/lib/sandbox.js +197 -0
  200. package/lib/skills.js +3 -1
  201. package/lib/tools.js +13 -4
  202. package/lib/ui.js +1 -1
  203. package/lib/video/auto.js +18 -3
  204. package/package.json +4 -2
  205. package/skills/after-effects/SKILL.md +52 -0
  206. package/skills/maquina-de-motion/SKILL.md +84 -0
  207. package/skills/motion-de-primeira/SKILL.md +33 -51
@@ -0,0 +1,140 @@
1
+ {
2
+ "id": "clube-claude-dj",
3
+ "titulo": "O Claude virou DJ",
4
+ "categoria": "sound",
5
+ "resumo": "Reel vertical de 64 s, narrado, que mostra a mesma frase de \"Laugh Now Cry Later\" (Drake) duas vezes: primeiro a música original, depois o remix cinematográfico que o Claude montou com efeitos tonais no tom da música. A diferença aparece numa timeline de editor desenhada a partir do áudio real, com o nome de cada camada e a forma de onda que acende com o som. O vídeo abre com uma gravação de celular filmando a tela do MacBook e mergulha no vídeo limpo sem corte. Tudo é um take único em HTML com o quadro calculado pelo tempo (`seek(t)`), renderizado a 60 qps com desfoque de movimento. Feito pelo Clube do Motion e publicado no Instagram.",
6
+ "indicado": "criador, produtora ou marca que quer mostrar um antes e depois de som (trilha, mixagem, sound design) de um jeito que qualquer pessoa entenda; lançamento de skill, ferramenta ou serviço de áudio.",
7
+ "estilo": [
8
+ "timeline viva",
9
+ "antes e depois",
10
+ "sound design tonal",
11
+ "take único",
12
+ "ondas reais do áudio",
13
+ "celular filmando a tela",
14
+ "mesa creme do Claude",
15
+ "cinema escuro no drop"
16
+ ],
17
+ "ficha": {
18
+ "formato": "1080×1920, 60 qps, 9:16, H.264 (CRF 16) com AAC de 256 kbps, 70,8 MB",
19
+ "duracao": "64,13 s (3.848 quadros), com narração em 4 falas",
20
+ "motor": "html",
21
+ "voz": "ElevenLabs, modelo Eleven v4, voz clonada (estabilidade 0,5, similaridade 0,75, velocidade 1,12), acelerada para 1,2× na pós",
22
+ "musica": "\"Laugh Now Cry Later\" (Drake): o original no trecho \"normal\" e o remix cinematográfico v11 no edit (Lá menor, 136 BPM, drop em 39,37 s do remix)",
23
+ "fontes": "ver o guia de estilo"
24
+ },
25
+ "ferramentas": [
26
+ "Claude Code",
27
+ "ElevenLabs"
28
+ ],
29
+ "ficha_tecnica": {
30
+ "Duração": "64,13 s (3.848 quadros), com narração em 4 falas",
31
+ "Formato": "1080×1920, 60 qps, 9:16, H.264 (CRF 16) com AAC de 256 kbps, 70,8 MB",
32
+ "Ferramenta": "HTML + canvas num take único, motor `take-unico` (render no Chromium sem janela, obturador de 180°); trilha em Python; abertura do celular com OpenCV e ffmpeg",
33
+ "Voz": "ElevenLabs, modelo Eleven v4, voz clonada (estabilidade 0,5, similaridade 0,75, velocidade 1,12), acelerada para 1,2× na pós",
34
+ "Música": "\"Laugh Now Cry Later\" (Drake): o original no trecho \"normal\" e o remix cinematográfico v11 no edit (Lá menor, 136 BPM, drop em 39,37 s do remix)",
35
+ "Timeline": "19 clipes do remix com o nome do arquivo de cada camada e a forma de onda calculada do áudio dela",
36
+ "Som": "63 eventos exportados da composição, um efeito por elemento, notas em Lá menor pentatônico; mix final em −14,0 LUFS com pico de −1,0 dBFS",
37
+ "Referências": "os shorts do Multiply Sound (timeline do editor por cima do vídeo) e um Reel do Supernova Studio com o celular filmando a tela"
38
+ },
39
+ "etapas": [
40
+ {
41
+ "titulo": "O roteiro e a voz",
42
+ "texto": "**Resumo:** a fala em 4 partes, como foi escrita e como foi enviada à voz clonada (com a grafia de pronúncia), e as cenas por tempo no vídeo final (v3). A música aparece duas vezes, sem fala por cima: a frase original e a mesma frase no remix. Os tempos da tabela são os do arquivo publicado, que tem 1,14 s de abertura do celular antes do master.\n\n## A fala\n\n- \"O Claude criar e editar vídeos, você provavelmente já sabe. Mas ele ouvir e editar músicas, tornando ela mais cinematográfica com efeitos sonoros? Isso é novidade até pra mim.\"\n\n- \"Eu fiz exatamente esse teste e, por incrível que pareça, agora o meu Claude virou praticamente um DJ. Se liga nesse edit que ele fez com a música que eu mandei ele fazer:\"\n\n- música normal: a frase original de \"Laugh Now Cry Later\";\n\n- muda o ambiente: a mesma frase no remix cinematográfico.\n\n- \"Agora o meu Claude Code virou praticamente o diretor audiovisual inteiro. Além de fazer os vídeos com After Effects, ele também faz a trilha sonora pra conversar com o estilo de vídeo que você tá fazendo, deixando o resultado final muito mais imersivo do que um simples vídeo de motion que tá todo mundo fazendo.\"\n\n- \"Quer saber como fazer com que o seu Claude também se torne um especialista em trilhas sonoras cinematográficas? Comenta \"DJ\", que eu te mando o passo a passo.\"\n\n## Grafia de pronúncia (voz clonada)\n\n | \n\n | Escrito para a voz\n | Leitura normal\n\n | Clód\n | Claude\n\n | Clód Code\n | Claude Code\n\n | didjêi\n | DJ (a versão \"di-djêi\", com hífen, fazia a voz gaguejar)\n\nModelo Eleven v4, um arquivo por fala, velocidade 1,12 na geração e 1,2× na pós. Cada tomada foi conferida no Whisper (texto) e por uma IA que escuta (pronúncia). Para o \"DJ\" do CTA, cinco tomadas foram comparadas às cegas.\n\n## Cenas por tempo\n\n | \n\n | #\n | Tempo (s)\n | Fala ou texto na tela\n | O que acontece\n\n | 0\n | 0,00–2,73\n | —\n | celular filmando o MacBook: o clique do play, o Reel começa na tela, a imagem filmada é trocada pelo vídeo limpo em 1,35 s e a câmera mergulha na tela de 1,62 a 2,42 s\n\n | 1\n | 1,6–4,3\n | fala 1: \"editar vídeos… já sabe\"\n | o símbolo do Claude nasce na mesa creme e cria uma trilha de vídeo; em \"sabe\", um selo ✓\n\n | 2\n | 5,3–8,8\n | \"ouvir… músicas… cinematográfica… sonoros?\"\n | o símbolo ganha fones e solta ondas; o clipe azul da música entra, uma lâmina o corta e três tonais entram; um \"?\" no fim da pergunta\n\n | 3\n | 9,8\n | \"novidade\"\n | selo argila\n\n | 4\n | 11,0–14,3\n | fala 2\n | viagem para o Claude Code: o símbolo vira o ✻ do terminal; o pedido é digitado com a música anexada e as respostas (tom, voz, tonais) aparecem linha a linha\n\n | 5\n | 16,2–16,7\n | \"DJ\" · \"edit\"\n | \"DJ\" gigante preenchido com a capa; ✓ pronto\n\n | 6\n | 19,0–19,7\n | —\n | chicote: o anexo sai do terminal e vira o clipe da música na timeline\n\n | 7\n | 19,7–23,8\n | \"Música normal\"\n | ambiente cinza, um clipe azul, o cursor toca a frase original (\"Baby, we took a trip… ghost town\")\n\n | 8\n | 23,8–24,1\n | —\n | a fita para e o cursor rebobina\n\n | 9\n | 24,1\n | —\n | muda o ambiente: íris escura nasce do cursor; voz e instrumental se separam; os tonais voam para as trilhas; a câmera abre para 0,62× e volta\n\n | 10\n | 24,1–34,9\n | —\n | o cursor toca o mesmo verso no remix: cada camada acende pelo nível real; acordes; risers com a câmera empurrando\n\n | 11\n | **34,9**\n | —\n | **drop seco no bumbo**, tremor; a timeline pulsa em cada bumbo até 41 s\n\n | 12\n | 41,2–48,8\n | fala 3\n | \"Agora\": a câmera abre para o editor; trilha de vídeo por cima; claquete com o símbolo em \"diretor\"; logo do After Effects em \"After Effects\"; varredura em \"trilha sonora\" e linhas de sincronia em \"conversar\"\n\n | 13\n | 51,6–52,5\n | \"imersivo\" · \"simples vídeo de motion\"\n | empurrão de câmera; uma timeline cinza \"genérica\" aparece embaixo\n\n | 14\n | 55,0–61,3\n | fala 4\n | íris creme a partir do símbolo; CTA; \"Comenta DJ\" vira um comentário digitado e enviado (anel) em 60,1–60,7 s; a DM chega em 61,3 s\n\n | 15\n | 61,3–64,1\n | —\n | a música segue por baixo e o vídeo termina\n\n## Momentos para a trilha\n\n- 0–2,7 s: o som do celular (o clique e o quarto) até o vídeo começar; whoosh no mergulho e golpe suave no pouso.\n\n- 1,6–19,5 s: cama tonal bem baixa debaixo das falas; um efeito para cada elemento que entra.\n\n- 19,7 s: a música original sozinha.\n\n- 23,8 s: tape stop real.\n\n- 24,1 s: o remix a partir de 28,55 s dele.\n\n- **34,9 s: drop**, no mesmo nível do original.\n\n- 41,2 s em diante: o original por baixo da voz, 17,7 dB abaixo.\n\n- 60,1 s e 61,3 s: envio do comentário e chegada da DM, com sino tonal e acorde de piano.\n\nA lista completa dos 63 eventos, com tempo, tipo, pan e intensidade, está em `audio/eventos.json` (em segundos do master, sem a abertura do celular)."
43
+ },
44
+ {
45
+ "titulo": "A identidade visual",
46
+ "texto": "**Resumo:** três ambientes contam o antes e o depois: a mesa creme do Claude nas falas, um cinza sem brilho na música normal e um cinema escuro e quente no edit. A timeline imita o editor dos shorts do Multiply Sound (música em azul, tonais em verde-água, nome de cada arquivo, cursor vermelho) e é desenhada em canvas com a onda real de cada camada. Números tirados do `index.html`, do `trilha.py`, dos scripts da abertura e do tutorial da timeline viva.\n\n## Ambientes\n\n | \n\n | Ambiente\n | Quando\n | Como é\n\n | Mesa creme\n | falas 1 e 2 e o CTA\n | creme `#F4F0E8` com luz quente no canto de cima (`#FFF6E8`) e o pé em `#EDE4D6`; cartões em `#FFFDF9`, cantos de 28 px e sombra larga e fraca\n\n | Cinza\n | música normal\n | radial `#4A4A4E` → `#38383B`; um clipe só, sem brilho\n\n | Cinema\n | edit do Claude e drop\n | radial escuro e quente `#1A1310` → `#0B0908`, luzes de fundo que pulsam nos bumbos\n\n | Terminal\n | o pedido ao Claude Code\n | janela `#1E1D1B` de 940×900, cantos de 30 px, barra `#2A2826`, borda argila no cabeçalho\n\n## Cores e fontes\n\n | \n\n | Token\n | Valor\n | Papel\n\n | Tinta\n | `#141413` · secundária `#6B6760`\n | texto na mesa\n\n | Argila\n | `#D97757` · escura `#B5573A`\n | o símbolo do Claude, palavras de destaque, efeitos do próprio Reel na timeline\n\n | Anexo da música\n | `#2E3B6E` com ícone `#9DB0EA`\n | o arquivo que vira o clipe azul\n\n- **Source Serif 4:** a legenda da fala (600, 74 px, palavra de destaque em itálico argila) e o \"DJ\" gigante (700, 400 px).\n\n- **Inter** (400 a 700): interface, pílulas (600, 30 px), chips e nomes dos clipes.\n\n- **Geist Mono:** o terminal do Claude Code (27 px).\n\n- **Material Icons:** ícones de interface.\n\n- **\"DJ\" preenchido com a capa:** o texto recorta a capa do single por dentro (`background-clip: text`), com contorno escuro de 3 px e sombra.\n\n## Timeline viva\n\n | \n\n | Peça\n | Como é\n\n | Escala\n | 80 px por segundo; clipe de 112 px de altura numa trilha de 128 px; cantos de 7 px\n\n | Nome do clipe\n | Inter 500 de 25 px, com o nome do arquivo de origem; quando o começo do clipe já passou, o nome gruda na borda esquerda da tela\n\n | Música\n | `rgba(40,54,112,.94)` com onda `#9DB0EA`\n\n | Tonais\n | `rgba(38,98,99,.94)` com onda `#8EE3E2`\n\n | Efeitos do próprio Reel\n | argila `rgba(150,74,48,.95)` com onda `#FFC9AE`\n\n | Cursor\n | vermelho `#E8262E` com brilho, fixo em x ≈ 330 da tela; a câmera persegue o cursor\n\n | Onda\n | pico a cada 1/40 s em dB, de −42 a 0 dB mapeado para 0 a 1, como no editor; marcas amarelas nos picos acima de −6 dBFS\n\n**O que deixa a timeline viva:**\n\n- o clipe acende pelo nível real da camada no cursor (brilho de 10 + 34 × o nível);\n\n- uma faixa clara corre sobre a onda junto do cursor;\n\n- o clipe dá um pulo de 7 a 8% quando o cursor cruza o começo dele;\n\n- na montagem, os clipes voam para as trilhas em leque (mola com ζ 0,62 e ω 12, 75 ms entre trilhas);\n\n- o clipe que acabou apaga para 55%;\n\n- depois do drop, a câmera dá um micro-empurrão de zoom em cada bumbo medido e as luzes do fundo pulsam.\n\n## Transições\n\nCada troca passa algo para a próxima cena: o símbolo do Claude cria a trilha de vídeo, ganha fones e chama os tonais; desce para o terminal e vira o ✻ do Claude Code; o anexo da música sai do terminal em chicote e vira o clipe azul. Na virada, a fita para (tape stop), o cursor rebobina, uma íris escura nasce do cursor, o clipe se divide em voz (fica) e instrumental (cai e some) e os tonais voam para as suas trilhas. No fecho, a câmera abre para o editor inteiro (trilha de vídeo, claquete, logo do After Effects, linhas de sincronia e uma timeline cinza \"genérica\" embaixo) e uma íris creme volta a partir do símbolo para o CTA.\n\n## Câmera\n\n- Operador com mola seguindo o cursor; abre para 0,62× na montagem e volta a 1,0×.\n\n- Na subida até o drop, empurra de 1,0 a 1,32; no drop, tremor curto.\n\n- No editor do fecho, abre para 0,78× e empurra de novo no \"imersivo\".\n\n## Abertura do celular\n\n | \n\n | Etapa\n | Números\n\n | Gravação\n | celular filmando o play no MacBook, 4K a 30 qps\n\n | Sincronia\n | o áudio do celular contra o mix dá 1,095 s; a imagem soma 0,033 s, porque a tela mostra 2 quadros depois do som (1,1284 s no total)\n\n | Rastreio\n | cantos do retângulo da tela quadro a quadro (limiar, `approxPolyDP` e `cornerSubPix`), suavizados por Savitzky-Golay\n\n | Troca\n | a tela filmada é substituída pelo master em 1,35 s, sem aparecer\n\n | Mergulho\n | de 1,62 a 2,42 s (0,8 s, curva Bézier suave), com quadros do celular misturados a 60 qps e antisserrilhado contínuo\n\n | Som\n | o clique do play e o quarto até o vídeo começar; depois o mix limpo, com um whoosh que cresce no mergulho e um golpe suave no pouso\n\nO primeiro mergulho, de 0,6 s, parecia corte seco; com 0,8 s e curva mais suave ficou natural.\n\n## Render\n\n60 qps reais; cada quadro é a média de várias capturas no obturador de 180°, em luz linear. O final saiu em dois trechos (0–31,5 s e 31,5 s em diante), juntados sem recomprimir; a v2 refez só de 28 s em diante. H.264 CRF 16, `yuv420p`.\n\n## Trilha\n\n | \n\n | Trecho\n | Música\n\n | Falas 1 e 2\n | cama tonal bem baixa (−31 LUFS)\n\n | Normal\n | o original, sozinho, a −15 LUFS, na frase \"Baby, we took a trip… ghost town\"\n\n | Virada\n | tape stop real: a velocidade cai de 1 para 0,12 em 0,3 s, com o tom descendo junto\n\n | Edit\n | o remix v11 a partir de 28,55 s dele, com o drop no mesmo nível do original\n\n | Falas 3 e 4\n | o original segue por baixo; a música fica 17,7 dB abaixo da voz, com corte em 2 kHz\n\nA voz é a fala aprovada, com passa-altas de 70 Hz, nivelada em −16 LUFS antes da mix.\n\n## Sound design\n\n | \n\n | Evento\n | Som\n\n | Algo nasce, clipe entra, anexo\n | pop curto e uma nota de glock na escala pentatônica de Lá menor, subindo a cada clipe\n\n | \"ouvir\" (fones)\n | blip tonal e um arpejo de harpa em Lá\n\n | Os três tonais\n | pop e marimba em Lá, Dó e Mi\n\n | Digitação\n | digitação real, curta\n\n | Viagem e chicote\n | whoosh longo e um riser suave que chega no pouso\n\n | \"DJ\"\n | golpe tonal grave, impacto e um acorde de piano em Lá\n\n | Rebobinada e troca de ambiente\n | fita e whoosh grave\n\n | Tonais voando\n | whooshes curtos alternados, cada vez mais baixos\n\n | Claquete\n | clique e impacto curto\n\n | Envio do comentário e DM\n | clique, blip, glock; a DM chega com notificação, sino tonal e acorde de piano\n\n- Cada efeito entra com o pico no instante do evento e com o pan do lado em que o elemento está.\n\n- Uma sala de 4 s soma as notas a −11 dB.\n\n- **Final:** −14,0 LUFS, pico de −1,0 dBFS.\n\n## O que é \"humano\" neste vídeo\n\n- A câmera nunca para: segue o cursor com mola, empurra na subida e treme no drop.\n\n- O mergulho da abertura pousa com sobra e um tremor leve, em vez de parar seco.\n\n- Os clipes pulam quando o som começa e apagam quando acabam.\n\n- Depois do drop, a timeline pulsa em cada bumbo medido na música."
47
+ },
48
+ {
49
+ "titulo": "A montagem em HTML",
50
+ "texto": "| \n\n | Arquivo\n | O que faz\n\n | `comp/index.html`\n | no cabeçalho fica a folha de batidas (tempo, batida, câmera e o que passa para a próxima cena); `seek(t)` monta o quadro a partir do tempo; a timeline é um canvas desenhado com a matriz da câmera; `window.__events()` devolve os eventos para o som\n\n | `take-unico/render_take.py`\n | renderiza a composição: cada quadro é a média de várias capturas no obturador de 180°; `--stills`, `--previa`, `--trechos 4` (refaz só o que mudou) e `--turbo`\n\n | `take-unico/oraculo_take.py`\n | confere continuidade entre cenas, enquadramento, velocidade e respiros; `--eventos` exporta os eventos para a trilha\n\n | `audio/timeline_dados.py`\n | renderiza cada camada do remix sozinha, com o mesmo ganho e filtro da mixagem, mede o pico a cada 1/40 s e grava `comp/dados/timeline.js`\n\n | `audio/batidas.py`\n | mede batidas e bumbos com o beat_this e grava `comp/dados/batidas.js`\n\n | `audio/gerar_voz.py`\n | gera uma fala por arquivo na ElevenLabs e guarda o pedido em `pNN.json`; `montar_voz.py` junta as falas a 1,2× e tira as palavras com o Whisper\n\n | `audio/trilha.py`\n | lê `eventos.json` e `tempos.json`: original no trecho normal, tape stop na rebobinada, remix com o drop no mesmo nível do original, voz por cima, um efeito por evento e mix em −14 LUFS\n\n | `transicao/sincronia.py`\n | acha o atraso do áudio do celular contra o mix (a tela mostra a imagem 2 quadros depois do som)\n\n | `transicao/rastreio.py`\n | segue os quatro cantos da tela do MacBook quadro a quadro e suaviza o caminho\n\n | `transicao/montar.py`\n | troca a tela filmada pelo vídeo limpo, faz o mergulho de 0,8 s e o pouso\n\n | `transicao/juntar.py`\n | junta os quadros da abertura com o resto do master e monta o som da v3\n\n- **Junte as pastas:** descompacte `projeto/` dentro de `07-videos/projetos/claude-dj/` e ponha `audio/` ao lado de `comp/`. Copie `projeto/take-unico/` para `07-videos/biblioteca/take-unico/`: o `index.html` carrega `../../../biblioteca/take-unico/take.js`, e os `.sh` chamam o `render_take.py` desse lugar.\n\n- **Instale:** Python 3.11 com numpy, scipy, soundfile, librosa, pyloudnorm, opencv-python e playwright (`playwright install chromium`), o beat_this para as batidas, o faster-whisper para as palavras e o ffmpeg.\n\n- **Aponte os caminhos:** no topo de `audio/trilha.py` e de `audio/timeline_dados.py`, troque o `sys.path` por `audio/motor/`, `N` por `audio/sfx/`, `TON` pela sua pasta de efeitos tonais e `DRAKE` pela pasta da sua música e do seu remix.\n\n- **Ver no navegador:** abra `comp/index.html?t=34.9&hud` para parar num instante ou `?play` para tocar.\n\n- **Quadros de conferência:** `python ../../biblioteca/take-unico/render_take.py comp/index.html --stills 8,20,35,55 --out revisao/stills.png` e depois o oráculo, `python ../../biblioteca/take-unico/oraculo_take.py comp/index.html`.\n\n- **Som:** `python ../../biblioteca/take-unico/oraculo_take.py comp/index.html --eventos audio/eventos.json` e, dentro de `audio/`, `python trilha.py` (gera `mix.wav`).\n\n- **Vídeo:** prévia com `render_take.py comp/index.html --out render/previa.mp4 --previa --audio audio/mix.wav`; final com `bash render/final.sh` ou `render_take.py ... --fps 60 --trechos 4 --turbo --audio audio/mix.wav`.\n\n- **Abertura do celular (opcional):** filme o play do Reel na tela, rode `sincronia.py`, `rastreio.py`, `montar.py` e `juntar.py` nessa ordem, ajustando os nomes de arquivo no topo de cada um.\n\n**Pegadinhas:** sem o remix, o `trilha.py` e o `timeline_dados.py` não rodam: monte o seu com os scripts de `audio/remix/` ou aponte para outra faixa. O `final.sh` espera 8 GB de memória livre pelo Windows antes de cada trecho. No OpenCV, `cv2.imwrite` falha calado quando o caminho tem acento (grave com `imencode`). O rastreio por limiar perde a tela quando o conteúdo escurece, então o mergulho precisa acabar antes disso."
51
+ },
52
+ {
53
+ "titulo": "As decisões de direção",
54
+ "texto": "- **A mesma frase nas duas versões.** O normal e o edit tocam o mesmo verso da música, e o ouvinte compara sem esforço.\n\n- **A onda é a do áudio de verdade.** Cada clipe mostra a forma de onda da sua camada e acende pelo nível real no cursor; não há animação inventada para o som.\n\n- **O drop do remix fica no mesmo nível do original.** O que muda é o arranjo, não o volume, então ninguém confunde \"mais alto\" com \"melhor\".\n\n- **A virada é um acontecimento.** Tape stop real, cursor rebobinando, íris escura saindo do cursor, voz e instrumental se separando e os tonais voando para as trilhas.\n\n- **Tudo passa de uma cena para a outra.** O símbolo do Claude vira o ✻ do terminal, o anexo vira o clipe da música e a íris creme volta a partir do símbolo no CTA.\n\n- **Cada ambiente tem a sua cor:** mesa creme do Claude nas falas, cinza no normal, cinema escuro e quente no edit e creme de novo no fecho.\n\n- **\"DJ\" preenchido com a capa.** A palavra-chave da fala ganha a imagem da música por dentro.\n\n- **A abertura do celular puxa o olho.** A tela filmada vira o vídeo limpo sem tranco: troca invisível, mergulho de 0,8 s e pouso com sobra.\n\n- **Nada para morto.** A câmera segue o cursor com mola, empurra na subida até o drop e treme no bumbo; depois do drop, a timeline pulsa em cada bumbo medido.\n\n- **Música bem abaixo da voz** nas falas (17,7 dB, com um corte em 2 kHz), para a voz ficar limpa.\n\nDetalhes de cores, tipografia e som: estilo.md. Cenas por tempo e a fala: roteiro.md. Para fazer o mesmo formato com a sua música: PROMPT.md."
55
+ },
56
+ {
57
+ "titulo": "As versões até o final",
58
+ "texto": "| \n\n | Versão\n | O que mudou\n\n | v1\n | primeiro final a 60 qps, 63 s. Antes dele, a revisão do rascunho por uma IA que assiste com áudio pediu o trecho do diretor mais cheio e a voz mais limpa: os efeitos do próprio Reel viraram clipes na visão de diretor, o After Effects entrou dentro do clipe, a música desceu para 17,7 dB abaixo da voz e o CTA subiu para longe da legenda\n\n | v2\n | refeitos só os trechos de 28 a 63 s: câmera empurrando de 1,0 a 1,32 na subida até o drop e uma tomada nova do \"Comenta DJ\", porque a anterior gaguejava no \"DJ\"\n\n | **v3**\n | aprovada e publicada: abertura com a gravação do celular filmando o play no MacBook, mergulho até o vídeo limpo e o som do clique e do quarto até o vídeo começar; 64,13 s"
59
+ }
60
+ ],
61
+ "pacote": [
62
+ {
63
+ "pasta": "projeto/",
64
+ "conteudo": "`comp/index.html` (o Reel inteiro), `comp/dados/` (`timeline.js`, `batidas.js`, `palavras.js`), `comp/fonts/` (Source Serif 4, Inter, Geist Mono, Material Icons), `comp/assets/` (símbolo do Claude, ícones do Claude Code, After Effects e Instagram, miniaturas de vídeos nossos), `transicao/` (sincronia, rastreio, mergulho e junção da abertura do celular), `render/final.sh` e `final2.sh`, `take-unico/` (o motor), `roteiro.md` e `legenda.md`"
65
+ },
66
+ {
67
+ "pasta": "audio/",
68
+ "conteudo": "`trilha.py` (o som inteiro), `timeline_dados.py`, `batidas.py`, `gerar_voz.py`, `montar_voz.py`, `conferir.py`, `eventos.json`, `tempos.json`, `palavras.json`, os pedidos à voz (`p0*.json`), `voz.wav`, `mix.wav`, `transicao/audio-v3.wav` (o som final com a abertura), `notas/` (glock, harpa, marimba e piano gerados), `sfx/` (os efeitos usados), `motor/` (`orquestra.py`, `trilha_momentos.py`) e `remix/` (o plano v11 e os scripts do remix)"
69
+ },
70
+ {
71
+ "pasta": "referencias/",
72
+ "conteudo": "o estudo do remix do Drake, a recriação da v11 passo a passo, o tutorial do take único, o estudo da abertura com celular, a busca da capa no iTunes, `links.md` e `fora-do-pacote.md`"
73
+ },
74
+ {
75
+ "pasta": "render.mp4",
76
+ "conteudo": "o Reel final (v3, com a abertura do celular)"
77
+ },
78
+ {
79
+ "pasta": "comp/index.html",
80
+ "conteudo": "no cabeçalho fica a folha de batidas (tempo, batida, câmera e o que passa para a próxima cena); `seek(t)` monta o quadro a partir do tempo; a timeline é um canvas desenhado com a matriz da câmera; `window.__events()` devolve os eventos para o som"
81
+ },
82
+ {
83
+ "pasta": "take-unico/render_take.py",
84
+ "conteudo": "renderiza a composição: cada quadro é a média de várias capturas no obturador de 180°; `--stills`, `--previa`, `--trechos 4` (refaz só o que mudou) e `--turbo`"
85
+ },
86
+ {
87
+ "pasta": "take-unico/oraculo_take.py",
88
+ "conteudo": "confere continuidade entre cenas, enquadramento, velocidade e respiros; `--eventos` exporta os eventos para a trilha"
89
+ },
90
+ {
91
+ "pasta": "audio/timeline_dados.py",
92
+ "conteudo": "renderiza cada camada do remix sozinha, com o mesmo ganho e filtro da mixagem, mede o pico a cada 1/40 s e grava `comp/dados/timeline.js`"
93
+ },
94
+ {
95
+ "pasta": "audio/batidas.py",
96
+ "conteudo": "mede batidas e bumbos com o beat_this e grava `comp/dados/batidas.js`"
97
+ },
98
+ {
99
+ "pasta": "audio/gerar_voz.py",
100
+ "conteudo": "gera uma fala por arquivo na ElevenLabs e guarda o pedido em `pNN.json`; `montar_voz.py` junta as falas a 1,2× e tira as palavras com o Whisper"
101
+ },
102
+ {
103
+ "pasta": "audio/trilha.py",
104
+ "conteudo": "lê `eventos.json` e `tempos.json`: original no trecho normal, *tape stop* na rebobinada, remix com o drop no mesmo nível do original, voz por cima, um efeito por evento e mix em −14 LUFS"
105
+ },
106
+ {
107
+ "pasta": "transicao/sincronia.py",
108
+ "conteudo": "acha o atraso do áudio do celular contra o mix (a tela mostra a imagem 2 quadros depois do som)"
109
+ },
110
+ {
111
+ "pasta": "transicao/rastreio.py",
112
+ "conteudo": "segue os quatro cantos da tela do MacBook quadro a quadro e suaviza o caminho"
113
+ },
114
+ {
115
+ "pasta": "transicao/montar.py",
116
+ "conteudo": "troca a tela filmada pelo vídeo limpo, faz o mergulho de 0,8 s e o pouso"
117
+ },
118
+ {
119
+ "pasta": "transicao/juntar.py",
120
+ "conteudo": "junta os quadros da abertura com o resto do master e monta o som da v3"
121
+ }
122
+ ],
123
+ "prompt": "Quero um Reel vertical narrado no mesmo método do projeto \"O meu Claude virou DJ\", que está em 07-videos/projetos/claude-dj/, com a minha música e a minha fala.\n\nMúsica (arquivo original): {{MUSICA}}\nVersão editada da música, se já existir (senão, monte com os scripts de audio/remix/): {{VERSAO_EDITADA}}\nFrase da música que toca nas duas versões (a mesma nas duas): {{FRASE}}\nMinha fala, em 3 ou 4 partes (o texto é meu; não reescreva): {{FALA}}\nVoz (ElevenLabs, ID da voz clonada ou da voz escolhida): {{VOZ}}\nPedido que aparece digitado no terminal: {{PEDIDO}}\nChamada final (palavra para comentar e o que a pessoa recebe): {{CTA}}\nAbertura com celular filmando a tela (sim ou não): {{CELULAR}}\nDuração: {{DURACAO}} (a referência tem 64 s) · Formato: 1080×1920, 60 qps\n(Se algum desses estiver vazio ou com as chaves, me pergunte antes de começar.)\n\n1. Estude o projeto antes de propor qualquer coisa. Leia, nesta ordem: LEIA-ME.md, estilo.md e roteiro.md. Depois abra comp/index.html e leia a folha de batidas do cabeçalho, como seek(t) monta o quadro, como a timeline é desenhada em canvas com a matriz da câmera e como window.__events() exporta os eventos. Leia também take-unico/README.md, audio/timeline_dados.py, audio/trilha.py e audio/tempos.json. Me explique em poucas linhas o que você vai reaproveitar.\n\n2. Meça a música antes de montar a linha do tempo: tom, BPM, batidas e bumbos (beat_this), o início da frase escolhida no original e na versão editada, e o drop. A frase do \"normal\" e a do \"edit\" têm de ser a mesma.\n\n3. Gere a fala na ElevenLabs, uma parte por arquivo, com a grafia de pronúncia que a voz pede (como \"Clód\" para Claude), confira no Whisper e me mande para aprovar. Só siga com a fala aprovada. Monte voz.wav e palavras.json com montar_voz.py e escreva os tempos de cada fala e da música em audio/tempos.json.\n\n4. Gere os dados da timeline com timeline_dados.py: um clipe por camada da versão editada, com o nome real do arquivo, a trilha, o começo e o fim, e a forma de onda calculada do áudio daquela camada (mesmo ganho e filtro da mixagem). Nada de onda inventada.\n\n5. Escreva a folha de batidas no cabeçalho do index.html antes de animar: tempo, palavra ou batida, câmera e o que passa para a próxima cena. Cada troca é uma passagem (\"de quê para quê\"): o símbolo vira o ícone do terminal, o anexo vira o clipe, a íris nasce do cursor. Nenhum elemento surge do nada.\n\n6. Construa copiando o projeto, sem editar o original: troque a fala, os textos, as cores (mesa clara nas falas, cinza no normal, o mundo da música no edit) e as imagens. Mantenha o take único, a câmera que segue o cursor com mola, o clipe que acende pelo nível real, o pulo ao entrar, o clipe que apaga quando acaba e os empurrões nos bumbos depois do drop.\n\n7. Som pelos eventos, num subagente: oraculo_take.py --eventos audio/eventos.json, depois trilha.py. Original sozinho no normal, tape stop real na rebobinada, a versão editada com o drop no mesmo nível do original, a música bem abaixo da voz nas falas (cerca de 17 dB) e um efeito para cada elemento, com as notas no tom da música. Final a −14 LUFS, pico abaixo de −1 dBFS.\n\n8. Se a abertura com celular for sim: eu filmo o play do Reel na tela do computador e te mando o arquivo. Sincronize pelo áudio e refine pela imagem, rastreie os cantos da tela, troque a tela filmada pelo vídeo limpo e mergulhe em cerca de 0,8 s com curva suave (0,6 s parece corte seco). Use os scripts de transicao/.\n\n9. Revise antes do final: stills nos momentos-chave, oráculo com PASSA, prévia rápida com som e uma IA que assista com áudio, perguntando onde a voz some na música, onde o movimento para morto e onde a troca de ambiente não fica clara. Confira cada apontamento nos quadros ou medindo antes de mexer.\n\n10. Final a 60 qps em trechos (render_take.py --trechos 4), junte com o mix, confira duração, qps e −14 LUFS e entregue o MP4, uma cópia leve para o celular e uma anotação do que mudou em relação à referência.",
124
+ "campos": [
125
+ "CELULAR",
126
+ "CTA",
127
+ "DURACAO",
128
+ "FALA",
129
+ "FRASE",
130
+ "MUSICA",
131
+ "PEDIDO",
132
+ "VERSAO_EDITADA",
133
+ "VOZ"
134
+ ],
135
+ "fonte": {
136
+ "nome": "Clube do Motion",
137
+ "url": "https://clubedomotion.com/projeto/?id=claude-dj",
138
+ "uso": "liberado pelo dono do Clube do Motion em 18/10/2026 (docs/permissoes/clube-do-motion.md)"
139
+ }
140
+ }
@@ -0,0 +1,142 @@
1
+ {
2
+ "id": "clube-claude-mcp",
3
+ "titulo": "O Claude faz o vídeo",
4
+ "categoria": "saas",
5
+ "resumo": "Reel vertical de 49,6 s, sem narração, em que só a tela e a música contam como ligar o Clube do Motion ao Claude por MCP e como o Claude, com bom humor, monta do zero um vídeo de apresentação. As telas são um HTML com o quadro calculado pelo tempo (`window.seek(t)`), renderizado no Chrome sem janela a 60 qps. O \"vídeo pronto\" que explode em tela cheia no fim é o template AI Opener, do YouMotion, adaptado no After Effects por três scripts. Feito pelo Clube do Motion.",
6
+ "indicado": "empresa, ferramenta ou criador que quer mostrar em poucos passos como se usa um produto digital, com uma IA ou um app fazendo o trabalho na tela; lançamento de integração, conector ou recurso novo em Reel ou anúncio vertical.",
7
+ "estilo": [
8
+ "tutorial em passos",
9
+ "interface recriada",
10
+ "chat com IA",
11
+ "modo escuro",
12
+ "verde de ação",
13
+ "vídeo dentro do vídeo",
14
+ "sincronizado na batida",
15
+ "humor leve"
16
+ ],
17
+ "ficha": {
18
+ "formato": "1080×1920, 60 qps reais, 9:16, cor BT.709",
19
+ "duracao": "49,6 s (2.976 quadros), sem narração",
20
+ "motor": "ae",
21
+ "voz": "ver o guia de estilo",
22
+ "musica": "ver o guia de estilo",
23
+ "fontes": "ver o guia de estilo"
24
+ },
25
+ "ferramentas": [
26
+ "Claude Code",
27
+ "After Effects"
28
+ ],
29
+ "ficha_tecnica": {
30
+ "Duração": "49,6 s (2.976 quadros), sem narração",
31
+ "Formato": "1080×1920, 60 qps reais, 9:16, cor BT.709",
32
+ "Ferramenta": "HTML + CSS + JavaScript num arquivo só, render com Playwright no Chrome sem janela, ProRes nos trechos e H.264 no final; o vídeo pronto é o AI Opener adaptado no After Effects por scripts ExtendScript",
33
+ "Desfoque de movimento": "2 subquadros por quadro com obturador de meio quadro, juntados no ffmpeg (`tmix`); com 4 subquadros sai a qualidade total, cerca de 2× mais lenta",
34
+ "Trilha": "\"Action Claps and Drums\" (YouMotion), Dó maior, 150 BPM, compasso de 1,6 s; os 49,6 s são exatamente 31 compassos",
35
+ "Som": "163 eventos exportados do próprio HTML, um som padrão por tipo de evento, tonais em Dó maior e, no trecho do vídeo pronto, os efeitos do próprio template; −14,0 LUFS e pico de −2,1 dBTP",
36
+ "Referências": "dois Reels de IA criando um vídeo dentro do chat, sem narração: o do Codex, da Noflex Studio, e o do Claude, da Supernova Studio",
37
+ "Arquivo final": "MP4 H.264 com áudio AAC, 69 MB"
38
+ },
39
+ "etapas": [
40
+ {
41
+ "titulo": "O roteiro",
42
+ "texto": "**Resumo:** o Reel não tem narração; o roteiro é a sequência de telas, cena a cena, com o texto exato que aparece. Os tempos seguem os compassos da música (150 BPM, compasso de 1,6 s) e são os do vídeo final. Depois da tabela vêm os textos do vídeo pronto, do template para o português, e os momentos da trilha.\n\n## De onde veio a estrutura\n\nAs duas referências contam a mesma história só com interface e música: o produto aparece, alguém digita um pedido, a IA trabalha na tela e o resultado surge pronto, dentro do chat, antes de crescer para a tela cheia. Este Reel segue esse arco e acrescenta o passo a passo de instalação na frente: o site, o link do MCP e o conector no Claude. O humor fica nas falas curtas, e o vídeo pronto é um template de verdade adaptado no After Effects.\n\n## Cenas por tempo\n\n | \n\n | #\n | Tempo (s)\n | Texto na tela\n | O que acontece\n\n | 0\n | 0,0–1,6\n | —\n | três lampejos de 0,4 s do vídeo pronto (a pílula \"Peça pro seu Claude\", a grade \"Primeiro resultado\" e o losango \"Ajuste\"), cada um com flash e um leve recuo de escala; corte seco no golpe de 1,5 s\n\n | 1\n | 1,6–4,8\n | \"Como fazer um vídeo **nesse estilo** com o Claude?\"\n | a pergunta entra com mola por letra, com \"nesse estilo\" em serifada itálica verde; em 2,4 s, um cartão de borracha com borda arco-íris toca o vídeo pronto (\"Peça pro seu Claude · Simples assim\")\n\n | 2\n | 4,8–8,0\n | \"1 · Entra no site\"\n | corte com desfoque em pico; a janela do navegador entra com o site do Clube; a página rola de 6,2 a 7,5 s e \"pelo MCP\" ganha um destaque verde em 7,55 s; o cursor passeia\n\n | 3\n | 8,0–11,2\n | \"2 · Copia o link do MCP\"\n | o navegador vai para `clubedomotion.com.br/painel` com a barra de carregamento; clique em Copiar (9,6 s) e a pílula \"Copiado!\" abre com mola; a URL do MCP é destacada (10,0 s) e sai do painel como pílula `clubedomotion.com.br/mcp`, que fica esperando no alto\n\n | 4\n | 11,2–16,0\n | \"3 · No Claude: Configurações › Conectores\"\n | o navegador sai em chicote e o Claude entra pela direita, nas Configurações › Conectores; clique em \"Adicionar conector personalizado\" (12,4 s); na janela, \"Clube do Motion\" é digitado no Nome e a pílula do link voa para o campo de URL com um flash (13,8 s); clique em Adicionar (14,4 s); a linha \"Clube do Motion\" nasce com mola e a chave liga em 15,2 s: \"Conectando…\" vira \"Conectado\"\n\n | 5\n | 16,0–19,2\n | \"Boa tarde, Motioneiro\" · \"Faz um vídeo de apresentação do meu negócio, usa o megabrain e não comete erros!\"\n | a janela do Claude cresce até a tela cheia; chat novo com a saudação; o pedido é digitado de 16,7 a 18,75 s e a caixa ganha uma segunda linha; clique em enviar em 19,2 s e a caixa vira a bolha do usuário\n\n | 6\n | 19,2–22,4\n | \"Deixa comigo :)\"\n | a câmera se aproxima da estrela do Claude, que pulsa, escreve a resposta e dá um pulinho em 20,95 s\n\n | 7\n | 22,4–25,6\n | `clube-do-motion · listar_projetos`\n | cartão de ferramenta com a borda arco-íris girando; 16 miniaturas de projetos sobem em cascata e a grade rola\n\n | 8\n | 25,6–28,8\n | \"AI Opener\" · \"Achei a referência: conversa direitinho com apresentação.\" · `ver_projeto`\n | um anel verde marca o AI Opener e as outras miniaturas escurecem; em 27,2 s, o segundo cartão mostra \"Etapas · 6 cenas · 45 s\", \"Estilo · luz neon e vidro no preto\" e \"Prompt · pronto para adaptar\"\n\n | 9\n | 28,8–31,2\n | \"Vou mudar umas coisas pra ficar com a sua cara.\" · \"cores do template · textos seus\"\n | três quadros do template trocam a legenda: \"Start With An Idea\" → \"Comece pela ideia\", \"Refine\" → \"Do seu jeito\", \"Endless Generations\" → \"O seu negócio\"; cinco amostras de cor entram com pop\n\n | 10\n | 31,2–33,6\n | \"Usando a skill de motion + DJ do perfil do autor\"\n | linha do tempo com três faixas (V1, V2, FX); a agulha anda e a forma de onda laranja bate a cada 0,4 s\n\n | 11\n | 33,6–36,8\n | roteiro ✓ · identidade ✓ · animação ✓ · trilha na batida ✓ · zero erros (como pedido) ✓ · \"Renderizando…\"\n | o checklist se marca sozinho, um item a cada 0,26 s; em 35,2 s, a estrela gira ao lado de \"Renderizando…\" e a barra vai de 0 a 100%\n\n | 12\n | 36,8–40,0\n | \"Pronto. Aqui está o seu vídeo.\" · `apresentacao.mp4` · 0:28\n | a resposta entra e o cartão do vídeo chega como cartão de borracha, com o botão de play respirando; clique no play em 40,0 s\n\n | 13\n | 40,0–43,2\n | o vídeo pronto: \"Pequenos ajustes grande diferença\" → \"Versões sem fim\"\n | no vão quase mudo da música, o cartão toca e cresce até quase a tela inteira; o resto escurece e desfoca\n\n | 14\n | 43,2–46,4\n | \"Leve pros seus projetos\"\n | no retorno da batida, o vídeo explode em tela cheia com flash: 17 ícones coloridos, lente e \"Leve pros seus projetos\"\n\n | 15\n | 46,4–49,6\n | \"Clube do **Motion**\" · \"dentro do seu Claude\" · \"em breve\"\n | corte com desfoque em pico; as três barras do símbolo nascem pela inclinação, uma depois da outra; o nome e a linha de apoio entram com mola e o selo verde chega com pop em 47,8 s; o conjunto cresce 3% até o fim\n\n## Vídeo pronto: textos do template em português\n\n | \n\n | Template\n | No vídeo do Clube\n\n | Start With An Idea · Describe It In Words\n | Comece com uma ideia · Descreva em palavras\n\n | Speak It Out Loud · It's That Easy\n | Peça pro seu Claude · Simples assim\n\n | First Results · Refine\n | Primeiro resultado · Ajuste\n\n | Small Changes Big Difference\n | Pequenos ajustes grande diferença\n\n | Endless Generations\n | Versões sem fim\n\n | Put It To Work · In Your Projects\n | Leve pros · seus projetos\n\n | logo do template + endereço do site\n | símbolo do Clube + \"Clube do **Motion**\"\n\nNo Reel, os lampejos usam 10,80, 17,90 e 24,20 s do vídeo pronto; o cartão da pergunta começa em 8,90 s; o cartão do chat toca a partir de 28,35 s; e a tela cheia usa de 31,55 a 34,75 s.\n\n## Momentos para a trilha\n\n- 1,5 s: golpe e corte seco; a palma de 1,6 s abre a pergunta.\n\n- 4,8 · 8,0 · 11,2 s: palmas fortes nas trocas de tela, com golpe tonal.\n\n- 12,8 s: entra o groove, durante a janela do conector.\n\n- 19,2 s: envio do pedido no compasso; sino tonal em 20,0 s com o \"Deixa comigo :)\".\n\n- 37,15 s: sino tonal com o cartão `apresentacao.mp4`.\n\n- 40,4–42,4 s: vão quase mudo da música, com os efeitos do próprio template e um riser até a explosão.\n\n- **43,2 s: retorno da batida na tela cheia**, com impacto e onda de choque.\n\n- 46,55 · 46,68 · 46,81 s: um blip tonal para cada barra do símbolo; pop e sino no selo.\n\nA lista completa dos 163 eventos, com tempo, tipo, pan e intensidade, está em `audio/eventos.json`."
43
+ },
44
+ {
45
+ "titulo": "A identidade visual",
46
+ "texto": "**Resumo:** fundo quase preto com o verde de ação do Clube do Motion nas partes da marca e o Claude recriado no escuro com o laranja dele. O vídeo usa cinco fontes, cada uma com uma função, molas do Kit Motion Pro traduzidas para JavaScript, uma câmera que nunca para e cortes com desfoque em pico. O vídeo pronto mantém a paleta e as fontes do template AI Opener. Números tirados do `index.html`, do `trilha.py` e dos scripts do After Effects.\n\n## Palco e fundo\n\n | \n\n | Peça\n | Como é\n\n | Tela\n | 1080×1920, fundo `#0D0D0D`\n\n | Fundo\n | dois radiais verdes discretos (10% embaixo, 5% no canto superior esquerdo) que se deslocam devagar, até 40 px na horizontal e 30 px na vertical\n\n | Janelas\n | navegador e Claude em (60, 390), 960×1420, cantos de 36 px, sombra larga e contorno de 1,5 px branco a 7%; o Claude cresce até a tela cheia quando o chat abre (16,0 s)\n\n | Grão\n | 6 ladrilhos de ruído com semente fixa, 7% em `overlay`, trocados a cada quadro\n\n | Vinheta\n | radial que escurece as bordas até 45%\n\n## Cores\n\n | \n\n | Token\n | Valor\n | Papel\n\n | Fundo\n | `#0D0D0D`\n | tela, cartões escuros, ícones dos cartões\n\n | Cartões\n | `#171717` · `#1A1A1A` · borda `#2B2B2B`\n | navegador, rótulos de vidro e pílula do link\n\n | Verde de ação\n | `#49E498`\n | número dos passos, destaque, \"Copiado!\", check, selo, brilho do símbolo\n\n | Claude, fundo\n | `#262624` · lateral `#1F1E1D` · cartão `#30302E` · borda `#3E3D39`\n | telas do Claude\n\n | Claude, texto\n | `#F5F4EE` · secundário `#C2C0B6`\n | texto das telas do Claude\n\n | Claude, laranja\n | `#D97757`\n | estrela, botão de enviar, chave ligada, barra de progresso (degradê até `#F0A27F`)\n\n | Borda arco-íris\n | `#FF6B3D → #FF3DA8 → #A45BFF → #3D7BFF → #34E0FF → #49E498 → #FFD23D`\n | cartões de ferramenta e cartão da pergunta, girando 140° por segundo, com uma cópia desfocada (26 px) a 55% por trás\n\n## Fontes\n\n | \n\n | Fonte\n | Onde\n\n | Plus Jakarta Sans 800\n | a pergunta (96 px, tracking −2 px), os rótulos de passo (46 px; 38 px no passo 3) e \"Motion\" no fecho; a 400 faz \"Clube do\"\n\n | Cormorant Infant itálica 600\n | a palavra de destaque \"nesse estilo\" (128 px, verde) e o selo \"em breve\" (56 px)\n\n | Source Serif 4\n | títulos e falas do Claude: \"Configurações\" (50 px), saudação (64 px), respostas (38 px)\n\n | Inter\n | interface do Claude, campos, botões e \"dentro do seu Claude\" (46 px)\n\n | JetBrains Mono\n | nomes das ferramentas do MCP (26 px), pílula com o link (27 px) e rótulos da linha do tempo\n\nTudo vem em woff2 no `html/fonts/`; o `seek(t)` espera cada peso carregar antes do primeiro quadro.\n\n## Telas recriadas\n\n- **Site do Clube:** capturas reais da página inicial e do painel, escaladas 2,23× para caber nos 960 px da janela. Os destaques (\"pelo MCP\" e a URL no código) usam as posições medidas na página.\n\n- **Configurações do Claude:** barra lateral com Geral, Conta, Privacidade, Faturamento, Capacidades, Conectores e Claude Code; linhas Google Drive e Gmail; botão \"Adicionar conector personalizado\"; janela com \"BETA\", campos Nome e \"URL do servidor MCP remoto\", Cancelar e Adicionar.\n\n- **Chat:** saudação com a estrela, caixa de entrada com o chip `clube-do-motion` e o seletor \"Opus 5.5\", bolha do usuário, respostas em serifada com a estrela ao lado, cartões de ferramenta, checklist, barra \"Renderizando…\" e o cartão `apresentacao.mp4` (400×711, \"0:28\").\n\n- **Símbolo do Clube:** o M de três barras inclinadas, desenhado em SVG no próprio HTML; o mesmo desenho vira forma no After Effects.\n\n## Kit Motion Pro em JavaScript\n\n | \n\n | Técnica\n | Números\n\n | Mola de texto por letra\n | 4 animadores somados, +150 / −60 / +25 / −10 px, com inícios em 0 / 0,14 / 0,32 / 0,53 s e rampa de 0,5 s espalhada pelas letras\n\n | Pop\n | escala 0 → 115 → 93 → 104 → 100% em 0 / 0,15 / 0,36 / 0,60 / 0,91 s; rotação 10 → −6 → 3 → −1 → 0°\n\n | Cartão de borracha\n | chaves em 0 / 0,37 / 0,80 / 1,33 s; escala 0 → 1,10 → 0,95 → 1; largura 0,9 → 1,05 → 0,975 → 1 e altura 1,8 → 0,8 → 1,1 → 1, preservando o volume; rotação 5 → −2 → 1 → 0°\n\n | Estalo e deriva\n | chega ao meio do caminho em cerca de 0,1 s e completa devagar em 0,9 s\n\n | Pílula com mola de largura\n | \"Copiado!\": largura proporcional a 410 → 2243 → 2035 → 2183 → 2144 em 0 / 0,20 / 0,38 / 0,55 / 0,73 s; rotação 1 → −4,7 → 2,9 → −1 → 0°\n\n | Aperto de botão\n | afunda para 93% × 88%, volta a 105% × 104% e assenta em 0,6 s\n\n | Desfoque em pico no corte\n | 0 → 60 → 0 px, 0,12 s antes e 0,16 s depois do corte (4,8 e 46,4 s); nos lampejos, 24 px\n\n | Chicote\n | o navegador sai 1.300 px para a esquerda em 0,36 s, curva cúbica de entrada; o Claude entra pela direita em 0,5 s com um recuo de 18 px; desfoque só horizontal, 0,9 × a velocidade em px por quadro, até 60\n\n | Flash\n | branco em `screen`: 55% nos lampejos e na colagem da URL, 50% no corte de 4,8 s, 70% na explosão\n\n## Curvas\n\n | \n\n | Nome no código\n | Curva\n | Uso\n\n | `E.io`\n | `cubic-bezier(.45,0,.2,1)`\n | padrão das chaves\n\n | `E.out`\n | saída exponencial\n | entradas, barra de carregamento, destaques\n\n | `E.inC`\n | cúbica de entrada\n | saídas e o chicote\n\n | `E.sm`\n | smoothstep\n | rampas da mola e do desfoque\n\n | `E.ae(a, b)`\n | curva com as influências de saída e entrada do After Effects\n | cursor (55/75), cartões, rolagem do chat, crescimento do vídeo (55/60)\n\n## Câmera viva\n\n- **Deriva que nunca para:** soma de três senos lentos dá ±7 px na horizontal, ±9 px na vertical, ±0,28° de rotação e ±0,6% de escala.\n\n- **Empurrões por momento:** 28 chaves de escala e foco. Exemplos: 1,14× no botão Copiar (9,2 s), 1,2× na janela do conector (13,0 a 14,0 s) e 1,75 a 1,85× na estrela do \"Deixa comigo :)\" (20,35 a 22,05 s).\n\n- **Cursor:** caminho por pontos com curva 55/75, tremor de 1,2 px, clique que encolhe o ponteiro a 82% e onda branca de 10 a 80 px em 0,4 s.\n\n## Transições\n\nCada troca tem um \"de quê para quê\": lampejo que corta seco para a pergunta; pergunta que sai por desfoque em pico e janela do navegador que entra como cartão de borracha; página inicial que vira o painel com a barra de carregamento verde; link copiado que sai do painel como pílula, espera no alto e voa para o campo de URL; navegador que sai em chicote enquanto o Claude entra pela direita; janela do Claude que cresce até a tela cheia; caixa de entrada que vira a bolha do usuário; cartão `apresentacao.mp4` que cresce de 400×711 até 900×1600 entre 40,05 e 43,08 s e, em 0,12 s, passa da borda da tela (1140×2027) na explosão; vídeo que some por desfoque em pico no fecho.\n\n## Vídeo pronto (AI Opener adaptado)\n\n | \n\n | Item\n | Valor\n\n | Comp\n | **AI Opener**, 2160×3840, 60 qps, 45,35 s; o Reel lê 2.721 quadros em 1080×1920\n\n | Cores e câmera\n | as do template: fundo preto, placas `#0D0D0D`, bordas de neon com Trim Paths girando, pilha de brilho e câmera em corrente de nulls\n\n | Fontes\n | DM Sans e IBM Plex Sans do template; \"Clube do Motion\" em Plus Jakarta Sans Regular + ExtraBold\n\n | Fotos\n | 4 capas de projetos do Clube nas fotos de \"Primeiro resultado\"\n\n | Logo\n | símbolo do Clube no lugar do logo do template, cada barra subindo pela inclinação com 4 quadros entre elas e inclinação de −16 → +4 → 0; no descanso cresce 2,5% devagar\n\n | Brilho\n | faixa azul `#5470FF` a 24° atravessando o símbolo em 37,90 e 40,90 s\n\n## Render\n\n60 qps reais. Cada quadro é a média de 2 capturas espalhadas em meio intervalo (`--sub 2 --shutter 0.5`): o ffmpeg recebe 120 qps, faz `tmix=frames=2` e fica com um quadro a cada dois. Os trechos de 4 s saem em ProRes 422 HQ 10 bits e o final em H.264 (CRF 16, `yuv420p`, BT.709 também gravado no fluxo).\n\n## Trilha\n\n | \n\n | Item\n | Valor\n\n | Música\n | \"Action Claps and Drums Main\" (YouMotion), inteira, Dó maior, 150 BPM; 49,6 s = 31 compassos de 1,6 s\n\n | Grade\n | palmas fortes em 1,6 · 4,8 · 8,0 · 11,2 s; groove a partir de 12,8 s; vão quase mudo de 40,4 a 42,4 s; retorno em 43,2 s\n\n | Vídeo pronto\n | de 40,0 a 46,4 s tocam os efeitos fatiados do AI Opener no mesmo ponto da animação: tempo no Reel = tempo no template + 11,65 s\n\n## Sound design e mix\n\n | \n\n | Momento ou evento\n | Som\n\n | Lampejos\n | impacto curto + whoosh curto em cada um; golpe tonal \"jolt\" + impacto em 1,5 s e um riser \"airwave\" que chega em 1,55 s, logo antes da palma de 1,6 s\n\n | Trocas de tela\n | golpe tonal \"warm-signal\" em 4,8 · 8,0 · 11,2 · 16,0 · 19,2 · 22,4 s\n\n | Títulos com mola\n | blip tonal que sobe a pentatônica de Dó + sopro curto, no lugar de som de digitação\n\n | 16 miniaturas em 0,4 s\n | um clique a cada três, para virar rastro e não metralhadora\n\n | Respostas\n | \"neon-bell\" em 20,0 s (\"Deixa comigo :)\") e 37,15 s (\"Pronto…\")\n\n | Suspense\n | whoosh, pop e cliques do template + riser \"blip-whoosh\" de 2,6 s até 43,2 s\n\n | Explosão\n | impacto com sala + golpe \"shockwave\" + cliques e pops do template nos ícones e em \"Leve pros seus projetos\"\n\n | Fecho\n | riser curto, um blip tonal por barra do símbolo (46,55 · 46,68 · 46,81 s); o selo leva pop, sino e blip\n\n | Demais eventos\n | um som padrão por tipo: clique, tecla, pílula, cartão, abre, liga, sucesso, check, carregando, rolagem\n\n- Cada efeito entra com o pico no instante do evento.\n\n- **Balanço:** com +1 dB no barramento, os efeitos ficavam cerca de 18 dB abaixo da música e sumiam na bateria. Com +9 dB, a mediana fica 13,6 dB abaixo da música (janelas de 0,4 s) e o ataque de cada clique chega ao nível das palmas. Sala +6 dB, tonais −2 dB.\n\n- **Medido no resultado:** música −14,0, efeitos −27,4 e tonais −29,1 LUFS; final −14,0 LUFS e pico de −2,1 dBTP depois do AAC.\n\n## O que é \"humano\" neste vídeo\n\n- A estrela do Claude pulsa enquanto fala e dá um pulinho com amassado e esticado no \"Deixa comigo :)\".\n\n- Os cartões, a pílula do link e o selo derivam alguns pixels enquanto esperam.\n\n- O ponteiro treme de leve e os botões afundam no clique.\n\n- O fecho cresce 3% até o último quadro."
47
+ },
48
+ {
49
+ "titulo": "A montagem em HTML",
50
+ "texto": "| \n\n | Arquivo\n | O que faz\n\n | `html/index.html`\n | `apply(t)` recalcula cada cena a partir do tempo. No topo ficam as constantes do vídeo pronto (`LAMPEJOS`, `CENA9`, `PLAY_INI`, `CAPA`, `VQCARD`) e a tabela `T`, com o instante de cada clique e de cada troca de tela na grade da música. `window.seek(t)` espera fontes, imagens e o quadro do vídeo pronto; `window.__events()` devolve os 163 eventos para o som\n\n | `render.mjs`\n | abre o HTML no Chrome sem janela. `--stills 12.7,26.3 --dir s5` grava quadros parados; `--full --sub 2 --shutter 0.5 --from 0 --to 4` renderiza um trecho; `--q \"cena9=31.55\"` passa parâmetros para a página\n\n | `render-trechos.sh`\n | renderiza em trechos de 4 s (navegador novo a cada trecho, até 3 tentativas), junta sem recomprimir e gera o MP4 H.264 BT.709 sem áudio; trecho que já existe é pulado\n\n | `verificar.py`\n | confere o MP4: quadros, intervalo entre quadros, qps, cor, LUFS, pico, quadros pretos e congelados\n\n | `folha.py`\n | monta a folha de contato de uma pasta de quadros ou de um MP4 a 2 qps\n\n | `escolher_miniaturas.py`\n | escolhe, entre 14 instantes da prévia de cada template, o quadro com mais conteúdo e recorta em 9:16 para a grade de `listar_projetos`\n\n | `scripts-ae/01_textos.jsx`\n | troca os 14 textos do template pelo português e alarga a moldura quando a frase nova não cabe, sem tirar nada do lugar\n\n | `scripts-ae/02_fotos_e_logo.jsx`\n | põe as 4 capas nas fotos de \"Primeiro resultado\" e desenha o símbolo do Clube nos dois lugares do logo, com cada barra subindo pela própria inclinação\n\n | `scripts-ae/03_brilho_e_fecho.jsx`\n | faz o brilho azul do template atravessar o símbolo em 37,90 s e 40,90 s e aumenta o logo (130%) e o nome (150%) para ler no celular\n\n | `scripts-ae/04_pos_render.sh`\n | depois do render do AE: versão 1080×1920, som do template a −14 LUFS, um JPG por quadro (`q_N` = tempo (N−1)/60 s) e folha de contato\n\n | `audio/trilha.py`\n | música, um efeito por evento, tonais em Dó maior e os efeitos do template no trecho do vídeo pronto (tempo no Reel = tempo no template + 11,65 s); mixa para −14 LUFS\n\n- **Junte as pastas:** copie `audio/` para dentro de `projeto/`.\n\n- **Vídeo pronto no After Effects:** baixe o template AI Opener no YouMotion, instale DM Sans, IBM Plex Sans e Plus Jakarta Sans e abra uma cópia do projeto. Na linha `RAIZ` do `02_fotos_e_logo.jsx`, ponha o caminho de `ae/(Footage)/capas/`. Rode `01_textos.jsx`, `02_fotos_e_logo.jsx` e `03_brilho_e_fecho.jsx` nessa ordem (File › Scripts › Run Script File) e renderize a comp **AI Opener** (2160×3840, 60 qps, 45,35 s) em MP4.\n\n- **Quadros do vídeo pronto:** no `04_pos_render.sh`, aponte `SRC` para o MP4 do AE e `QD` para a pasta dos quadros, e rode `bash scripts-ae/04_pos_render.sh`. Saem 2.721 JPGs.\n\n- **Ver no navegador:** abra `html/index.html?play&quadros=file:///C:/pasta/dos/quadros/` no Chrome para tocar em tempo real, ou troque `play` por `t=26.3` para parar num instante.\n\n- **Preparar o render:** instale Node, ffmpeg e o `playwright-core` (`npm i playwright-core`). No topo do `render.mjs`, troque a linha do `createRequire` pelo caminho do seu `playwright-core` e o `executablePath` pelo Chrome da sua máquina.\n\n- **Quadros de conferência:** `node render.mjs --stills 2.0,12.7,26.3,43.5 --dir teste --q \"cena9=31.55&quadros=file:///C:/pasta/dos/quadros/\"` e depois `python folha.py revisao/teste revisao/folha.jpg`.\n\n- **Som:** baixe a trilha Action Claps and Drums no YouMotion. No `audio/trilha.py`, aponte o `sys.path` para `audio/mesa` e a `MUSICA` para o \"Action Claps and Drums Main.wav\"; no topo do `mesa/mesa.py`, aponte as pastas de efeitos e tonais para a sua biblioteca. `python audio/trilha.py` gera `audio/mix.wav` em cerca de 9 s. Precisa de Python com numpy, scipy, soundfile, librosa e pyloudnorm.\n\n- **Vídeo:** `bash render-trechos.sh v3 2 \"cena9=31.55&quadros=file:///C:/pasta/dos/quadros/\"` gera `render/telas-v3.mp4`. Cole o som com `ffmpeg -i render/telas-v3.mp4 -i audio/mix.wav -map 0:v -map 1:a -c:v copy -c:a aac -b:a 320k -shortest -movflags +faststart render/final.mp4` e confira com `python verificar.py render/final.mp4`.\n\n- **Corrigir só uma cena:** apague os `render/trechos-vN/t-XX.mov` dos trechos afetados e rode de novo; os outros são reaproveitados.\n\n**Pegadinhas:** sem a pasta de quadros, as cenas do vídeo pronto ficam vazias, então confira o parâmetro `quadros` antes de renderizar. A grade de `listar_projetos` espera `html/assets/thumbs/m00.jpg` a `m17.jpg`: gere esses arquivos com o `escolher_miniaturas.py` (troque a pasta `D` pela das prévias) ou use capas dos seus projetos com os mesmos nomes; os `ai-*.jpg` (3, 16.5, 24 e 30) são quadros do seu vídeo pronto nesses segundos. `cena9` escolhe o trecho da tela cheia; com o padrão de 30,75 s, ela terminava em \"Leve pros\" cortado. Sem as fontes do template instaladas, o AE troca a fonte dos textos. O AAC sobe o pico em até 1,4 dB, por isso a mix é limitada a −2,5 dBFS. O desfoque dos subquadros só aparece no arquivo final."
51
+ },
52
+ {
53
+ "titulo": "As decisões de direção",
54
+ "texto": "- **A interface conta a história.** Sem narração, uma pergunta abre o vídeo, três rótulos numerados marcam os passos e o chat explica o resto com textos curtos de tela.\n\n- **A linha do tempo foi montada na grade da música.** As trocas de tela caem nas palmas fortes (1,6 · 4,8 · 8,0 · 11,2 s), o groove entra em 12,8 s, o pedido é enviado no compasso de 19,2 s, o vão quase mudo de 40,4 a 42,4 s vira o suspense do play e a tela cheia chega com a batida em 43,2 s.\n\n- **O gancho mostra o resultado primeiro:** três lampejos de 0,4 s do vídeo pronto e um corte seco no golpe de 1,5 s, antes da pergunta.\n\n- **O humor está no texto da tela.** O pedido termina em \"não comete erros!\", o Claude responde \"Deixa comigo :)\" com a estrela dando um pulinho, o checklist marca \"zero erros (como pedido)\" e a saudação é \"Boa tarde, Motioneiro\".\n\n- **O processo parece real.** Os cartões de ferramenta usam os nomes do MCP (`listar_projetos`, `ver_projeto`), giram uma borda arco-íris enquanto trabalham e fecham com um check verde.\n\n- **Digitação e cursor de verdade:** letra a letra com cursor de texto piscando, ponteiro com caminho e tremor leve e botões que afundam no clique e soltam uma onda.\n\n- **O vídeo nasce dentro do chat.** A capa do cartão `apresentacao.mp4` é o primeiro quadro do play, então o clique não dá salto; o cartão cresce enquanto o resto escurece e desfoca e só ocupa a tela inteira no retorno da batida.\n\n- **O vídeo pronto é um vídeo de verdade.** O AI Opener manteve cores, câmera e som do autor, e só textos, fotos e logo mudaram; no trecho dele, os efeitos do template tocam no mesmo ponto da animação.\n\n- **Nada para morto.** A câmera soma senos lentos com empurrões em cada momento, o fundo respira, o grão muda a cada quadro e os cartões derivam enquanto esperam.\n\n- **Cortes com desfoque em pico** em 4,8 e 46,4 s e **chicote** em 11,2 s, com desfoque horizontal proporcional à velocidade da janela.\n\n- **Render em trechos de 4 s:** a correção da v2 refez só 4 dos 13 trechos.\n\nDetalhes de cores, curvas e som: estilo.md. Cenas por tempo e texto na tela: roteiro.md. Para fazer um vídeo no mesmo método com o seu produto: PROMPT.md."
55
+ },
56
+ {
57
+ "titulo": "As versões até o final",
58
+ "texto": "| \n\n | Versão\n | O que mudou\n\n | v1\n | primeira versão entregue. Num render anterior, a tela cheia terminava em \"Leve pros\" cortado; a cena 9 passou a usar 31,55 s do vídeo pronto (`cena9=31.55`), começa na explosão de ícones, que cai na batida de 43,2 s, e termina em \"Leve pros seus projetos\"\n\n | **v2**\n | aprovada: sem o ⌄ ao lado do seletor \"Opus 5.5\", saudação \"Boa tarde, Motioneiro\" e porcentagem do \"Renderizando…\" na mesma linha da barra (antes ela quebrava para baixo); só os trechos de 12, 16, 32 e 36 s foram refeitos"
59
+ }
60
+ ],
61
+ "pacote": [
62
+ {
63
+ "pasta": "projeto/",
64
+ "conteudo": "`html/index.html` (as telas do Reel inteiro), `html/assets/` (capturas do site do Clube), `html/fonts/` (Plus Jakarta Sans, Inter, Cormorant Infant, Source Serif 4 e JetBrains Mono em woff2, com o `fonts.css`), `render.mjs`, `render-trechos.sh`, `verificar.py`, `folha.py`, `escolher_miniaturas.py`, `scripts-ae/` (`01_textos.jsx`, `02_fotos_e_logo.jsx`, `03_brilho_e_fecho.jsx` e `04_pos_render.sh`) e `ae/(Footage)/capas/` (as 4 capas que entram como fotos no vídeo pronto)"
65
+ },
66
+ {
67
+ "pasta": "audio/",
68
+ "conteudo": "`trilha.py` (o som inteiro), `eventos.json` (os 163 eventos), `mix.wav`, `relatorio-som.json` e `mesa/`, com o motor de mix `mesa.py` e o `mapa_padrao.py`"
69
+ },
70
+ {
71
+ "pasta": "referencias/",
72
+ "conteudo": "`estudo-da-referencia.md` (os dois Reels quadro a quadro), `estudo-do-template.md` (o AI Opener por dentro: cenas, curvas, câmera e som), `links.md` e `fora-do-pacote.md`"
73
+ },
74
+ {
75
+ "pasta": "render.mp4",
76
+ "conteudo": "o Reel final (v2)"
77
+ },
78
+ {
79
+ "pasta": "html/index.html",
80
+ "conteudo": "`apply(t)` recalcula cada cena a partir do tempo. No topo ficam as constantes do vídeo pronto (`LAMPEJOS`, `CENA9`, `PLAY_INI`, `CAPA`, `VQCARD`) e a tabela `T`, com o instante de cada clique e de cada troca de tela na grade da música. `window.seek(t)` espera fontes, imagens e o quadro do vídeo pronto; `window.__events()` devolve os 163 eventos para o som"
81
+ },
82
+ {
83
+ "pasta": "render.mjs",
84
+ "conteudo": "abre o HTML no Chrome sem janela. `--stills 12.7,26.3 --dir s5` grava quadros parados; `--full --sub 2 --shutter 0.5 --from 0 --to 4` renderiza um trecho; `--q \"cena9=31.55\"` passa parâmetros para a página"
85
+ },
86
+ {
87
+ "pasta": "render-trechos.sh",
88
+ "conteudo": "renderiza em trechos de 4 s (navegador novo a cada trecho, até 3 tentativas), junta sem recomprimir e gera o MP4 H.264 BT.709 sem áudio; trecho que já existe é pulado"
89
+ },
90
+ {
91
+ "pasta": "verificar.py",
92
+ "conteudo": "confere o MP4: quadros, intervalo entre quadros, qps, cor, LUFS, pico, quadros pretos e congelados"
93
+ },
94
+ {
95
+ "pasta": "folha.py",
96
+ "conteudo": "monta a folha de contato de uma pasta de quadros ou de um MP4 a 2 qps"
97
+ },
98
+ {
99
+ "pasta": "escolher_miniaturas.py",
100
+ "conteudo": "escolhe, entre 14 instantes da prévia de cada template, o quadro com mais conteúdo e recorta em 9:16 para a grade de `listar_projetos`"
101
+ },
102
+ {
103
+ "pasta": "scripts-ae/01_textos.jsx",
104
+ "conteudo": "troca os 14 textos do template pelo português e alarga a moldura quando a frase nova não cabe, sem tirar nada do lugar"
105
+ },
106
+ {
107
+ "pasta": "scripts-ae/02_fotos_e_logo.jsx",
108
+ "conteudo": "põe as 4 capas nas fotos de \"Primeiro resultado\" e desenha o símbolo do Clube nos dois lugares do logo, com cada barra subindo pela própria inclinação"
109
+ },
110
+ {
111
+ "pasta": "scripts-ae/03_brilho_e_fecho.jsx",
112
+ "conteudo": "faz o brilho azul do template atravessar o símbolo em 37,90 s e 40,90 s e aumenta o logo (130%) e o nome (150%) para ler no celular"
113
+ },
114
+ {
115
+ "pasta": "scripts-ae/04_pos_render.sh",
116
+ "conteudo": "depois do render do AE: versão 1080×1920, som do template a −14 LUFS, um JPG por quadro (`q_N` = tempo (N−1)/60 s) e folha de contato"
117
+ },
118
+ {
119
+ "pasta": "audio/trilha.py",
120
+ "conteudo": "música, um efeito por evento, tonais em Dó maior e os efeitos do template no trecho do vídeo pronto (tempo no Reel = tempo no template + 11,65 s); mixa para −14 LUFS"
121
+ }
122
+ ],
123
+ "prompt": "Quero um Reel vertical no mesmo método do projeto \"Clube do Motion no Claude\", que está em 07-videos/projetos/claude-mcp/, com o meu produto.\n\nProduto ou negócio: {{PRODUTO}}\nSite oficial (para tirar cores, fonte, logo e capturas reais): {{SITE}}\nPassos que o vídeo ensina, de 2 a 4, cada um com um rótulo curto: {{PASSOS}}\nApp ou IA onde a ação acontece (Claude, ChatGPT, painel do meu sistema...): {{APP}}\nPedido que aparece digitado na tela: {{PEDIDO}}\nResposta curta e bem-humorada da IA: {{RESPOSTA}}\nVídeo pronto que aparece no fim (template, vídeo meu ou peça a criar): {{VIDEO_PRONTO}}\nMúsica (de preferência com batida marcada e um vão antes de um retorno forte): {{MUSICA}}\nFecho (marca, frase de apoio e selo): {{FECHO}}\nDuração: {{DURACAO}} (a referência tem 49,6 s) · Formato: {{FORMATO}} (a referência é 1080×1920)\n(Se algum desses estiver vazio ou com as chaves, me pergunte antes de começar.)\n\n1. Estude o projeto antes de propor qualquer coisa. Leia, nesta ordem: LEIA-ME.md, estilo.md e roteiro.md. Depois abra projeto/html/index.html e veja como funcionam apply(t), window.seek(t), a tabela T de tempos, as curvas (E.io, E.out, E.inC, E.ae), as funções do Kit Motion Pro (molaLetra, pop, borracha, estalo, pilula, aperto, corte, arco), a câmera viva, o cursor, as constantes do vídeo pronto (LAMPEJOS, CENA9, PLAY_INI, CAPA) e window.__events(). Leia também render.mjs, render-trechos.sh, audio/trilha.py e os scripts de scripts-ae/. Me explique em poucas linhas o que você vai reaproveitar.\n\n2. Meça a música primeiro e monte a linha do tempo na grade dela: BPM, compasso, palmas ou batidas fortes, entrada do groove, vão e retorno. As trocas de tela caem nas batidas fortes, o envio do pedido cai num início de compasso, o vão vira o suspense do play e o retorno é o instante em que o vídeo pronto toma a tela. A duração total deve fechar num número inteiro de compassos.\n\n3. Tire a identidade do assunto, não da imaginação. Do meu site: logo, cores do CSS, fontes (baixe em woff2) e capturas reais das páginas que aparecem no vídeo, com a posição medida de cada botão e texto que vou destacar. Do app onde a ação acontece: recrie a interface em HTML com as cores, a fonte e os nomes reais dos menus. Nada de cor, menu ou botão inventado.\n\n4. Escreva o roteiro cena a cena, com o tempo de cada uma no compasso e o texto exato da tela, no molde do roteiro.md: gancho com lampejos do vídeo pronto, pergunta com uma palavra em destaque, um rótulo numerado por passo, o pedido digitado, a resposta curta, o processo em cartões de ferramenta (nomes reais das ferramentas, se houver), checklist, \"pronto\", cartão do vídeo, suspense, tela cheia e fecho. O humor vem de uma frase no pedido e de uma resposta que combina com ela; nada de piada forçada. Me mostre e espere meu ok.\n\n5. Escreva cada troca de tela como \"de quê para quê\" antes de animar: o link copiado vira pílula e voa para o campo, a caixa de entrada vira a bolha do usuário, o cartão do vídeo cresce até a tela cheia. Corte seco só no gancho; nos outros cortes, desfoque em pico ou chicote com desfoque direcional.\n\n6. Prepare o vídeo pronto antes das telas. Se for um template de After Effects, adapte numa cópia, por script: textos no meu idioma (alargando a moldura quando a frase não couber), fotos e logo trocados, cores, câmera e som do autor mantidos. Renderize, gere um JPG por quadro com o 04_pos_render.sh e escolha os trechos dos lampejos, do cartão e da tela cheia com folhas de contato, de modo que a explosão ou o maior gesto caia exatamente no retorno da música e a frase final termine inteira.\n\n7. Construa copiando o projeto, sem editar o original: troque textos, cores, fontes, capturas, ícones e a tabela T. Mantenha apply(t) sem transição CSS, timer nem estado acumulado; a câmera que nunca para; a digitação letra a letra com cursor; o cursor com caminho e clique que aperta o botão; a capa do cartão do vídeo igual ao primeiro quadro do play; e o render em trechos de 4 s.\n\n8. Som em paralelo, num subagente: exporte os eventos com window.__events(), um som padrão por tipo de evento, efeito com o pico no instante do evento, tonais no tom da música, sino tonal nas falas importantes, riser no vão e impacto no retorno. No trecho do vídeo pronto, use os efeitos do próprio template no mesmo ponto da animação (tempo no Reel = tempo no template + deslocamento). Efeitos sempre abaixo da música, com o ataque dos cliques chegando ao nível das batidas. Final a −14 LUFS, pico abaixo de −1 dBTP depois do AAC.\n\n9. Revise antes do render final: quadros parados nos momentos-chave (folha.py) e recortes em tamanho real dos textos pequenos; prévia com 2 subquadros e folhas a 2 qps; e uma IA que assista com áudio, perguntando onde o movimento para morto, onde um texto quebra de linha errado e onde a batida não bate com a troca de tela. Confira cada apontamento nos quadros antes de mexer.\n\n10. Render final em trechos de 4 s, junte com o mix.wav, confira com verificar.py (2.976 quadros para 49,6 s, 60 qps uniformes, BT.709, −14 LUFS) e entregue o MP4, o HTML editável e uma anotação do que mudou em relação à referência. Para corrigir uma cena depois, refaça só os trechos dela.",
124
+ "campos": [
125
+ "APP",
126
+ "DURACAO",
127
+ "FECHO",
128
+ "FORMATO",
129
+ "MUSICA",
130
+ "PASSOS",
131
+ "PEDIDO",
132
+ "PRODUTO",
133
+ "RESPOSTA",
134
+ "SITE",
135
+ "VIDEO_PRONTO"
136
+ ],
137
+ "fonte": {
138
+ "nome": "Clube do Motion",
139
+ "url": "https://clubedomotion.com/projeto/?id=claude-mcp",
140
+ "uso": "liberado pelo dono do Clube do Motion em 18/10/2026 (docs/permissoes/clube-do-motion.md)"
141
+ }
142
+ }
@@ -0,0 +1,106 @@
1
+ {
2
+ "id": "clube-cleanui",
3
+ "titulo": "Sem atalho nenhum",
4
+ "categoria": "produto",
5
+ "resumo": "vídeo de 28,1 s, sem narração, feito só de telas de apps do iPhone encadeadas no ritmo de uma música: alarmes, calendário, \"Não perturbe\", iMessage em câmera 3D, Fotos em carrossel, a letra do Spotify e o radar do Buscar. Cada tela usa o print do app como guia e é recriada por cima em camadas nativas do After Effects; um único script `.jsx` monta o projeto inteiro. É a recriação, com textos próprios em português, da peça ensinada no tutorial \"How to Make Viral APPLE UI STYLE Animations\", do Tarık. Na versão do pacote, a peça inteira flutua num cartão 3D inclinado, com profundidade de campo.",
6
+ "indicado": "marca ou criador que quer um vídeo musical de motivação, rotina ou lançamento contado pelas telas do celular, ou um tour de loja ou app feito tela por tela.",
7
+ "estilo": [
8
+ "Apple clean UI",
9
+ "telas do iPhone",
10
+ "SF Pro",
11
+ "transição circular",
12
+ "tipografia cinética",
13
+ "câmera 3D",
14
+ "cartão 3D."
15
+ ],
16
+ "ficha": {
17
+ "formato": "1080×1920, 30 qps, 9:16, H.264 + AAC",
18
+ "duracao": "28,1 s (843 quadros)",
19
+ "motor": "ae",
20
+ "voz": "sem narração; o texto da tela é uma frase própria em português que atravessa as cenas",
21
+ "musica": "ver o guia de estilo",
22
+ "fontes": "ver o guia de estilo"
23
+ },
24
+ "ferramentas": [
25
+ "Claude Code",
26
+ "After Effects",
27
+ "ElevenLabs"
28
+ ],
29
+ "ficha_tecnica": {
30
+ "Duração": "28,1 s (843 quadros)",
31
+ "Formato": "1080×1920, 30 qps, 9:16, H.264 + AAC",
32
+ "Voz": "sem narração; o texto da tela é uma frase própria em português que atravessa as cenas",
33
+ "Ferramenta": "After Effects, com o projeto inteiro gerado por um script ExtendScript (`construir_v3.jsx`), rodado pela ponte MCP",
34
+ "Trilha": "a música do pacote do tutorial (`Main_Song.mp3`, 28,13 s), alinhada à peça original por correlação de áudio",
35
+ "Referência": "tutorial do Tarık no YouTube; a peça original escreve a letra da música na tela, e aqui todo texto é próprio"
36
+ },
37
+ "etapas": [
38
+ {
39
+ "titulo": "O roteiro",
40
+ "texto": "**Resumo:** o roteiro de tela dos 28,1 s, sem narração, no tempo da música: sete cenas de apps do iPhone e o texto próprio de cada uma. As palavras formam uma frase sobre rotina e foco que atravessa o vídeo e termina em \"sem atalho nenhum\".\n\n## Texto da tela\n\n | \n\n | Cena\n | Texto\n\n | Alarmes\n | ACORDA · LEVANTA · BORA · 06:00 · CAFÉ · FOCO · AGRADEÇO\n\n | Calendário\n | Junho · lembretes \"Treino\" · no lembrete verde: \"mais um dia na agenda\"\n\n | Não perturbe\n | Não perturbe · Ativado · \"sem\" / \"tempo pra\" / \"drama\" · \"eu sigo firme\" · \"foco\" / \"no\" / \"jogo\"\n\n | iMessage\n | \"Qual é o seu plano?\" · \"E o propósito?\" · \"Valeu a pena?\" · \"Foi fácil?\" · \"Foi no braço?\" · \"Tô no corre\" · \"Só começando\"\n\n | Fotos\n | \"no meu RITMO\" · \"sinto que VOU LONGE\" · \"porque eu sou BRILHO e ninguém me para\" · \"tipo CAMPEÃO no último quarto\"\n\n | Spotify\n | Acordei antes do sol / com a cabeça no lugar / café forte, plano feito / hoje eu vim pra ganhar / sem desculpa, sem atalho / cada passo tem valor / o que é meu tá no caminho / e eu sigo sem temor / quem duvidou vai ver de perto / eu não paro, eu não sumo / faço o simples todo dia / e o simples vira rumo / amanhã eu volto mais forte\n\n | Buscar\n | \"sem\" / \"atalho\" / \"nenhum\" · \"só foco\"\n\n## Cenas por tempo (tempo da música)\n\n | \n\n | Tempo (s)\n | Cena\n | O que acontece\n\n | 0–1,2\n | Alarmes\n | fundo preto; as sete linhas entram da direita em 2 quadros de cascata e assentam em 0,85 s\n\n | 1,2–1,9\n | transição\n | a cena inteira entra num círculo que encolhe até o dia 12; o círculo passa do preto ao vermelho e o número aparece\n\n | 1,2–3,3\n | Calendário\n | o null aproxima o lembrete verde em três fases (segura, salta, assenta), com o centro em foco; \"mais um dia na agenda\" rola dentro do lembrete\n\n | 3,06–3,75\n | saída e morfose\n | os elementos saem para fora em raio; o lembrete verde vira a pílula preta\n\n | 3,75–6,55\n | Não perturbe\n | lua, \"Não perturbe\" e \"Ativado\" sobem na pílula; \"sem\", \"tempo pra\" e \"drama\" (cinza, girada, piscando) entram pelos lados; a pílula sobe e come as palavras; \"eu sigo firme\" nasce gigante e desfocada e encolhe sob a pílula; \"foco\", \"no\", \"jogo\" enchem a tela, uma de cada vez\n\n | 6,45–13,45\n | iMessage 3D\n | a tela entra girando; a conversa sobe mensagem a mensagem, e a câmera chicoteia de um balão para o outro; sai deslizando para a esquerda\n\n | 13,35–20,0\n | Fotos\n | o print do Fotos se monta em pedaços; quatro cartões de vídeo passam em carrossel, com as legendas grandes por cima e as miniaturas embaixo\n\n | 19,95–23,55\n | Spotify\n | a letra sobe linha a linha, com a linha atual acesa\n\n | 23,1–23,55\n | transição\n | o Spotify encolhe num círculo até o ícone do Buscar\n\n | 23,25–26,55\n | Buscar\n | o radar gira; o mapa se abre no leque do feixe e revela o tubarão do Memoji; \"sem\", \"atalho\", \"nenhum\" entram pelos lados e \"só foco\" aparece em cinza\n\n | 26,55–28,1\n | corte\n | corte para preto e a música baixa até o fim\n\nO vídeo inteiro roda dentro do cartão 3D, que flutua e muda de inclinação devagar do começo ao fim."
41
+ },
42
+ {
43
+ "titulo": "A identidade visual",
44
+ "texto": "**Resumo:** telas reais de apps do iPhone, recriadas em camadas nativas e encadeadas no ritmo da música. Fundo branco do começo ao fim (só os alarmes são pretos), cores de sistema do iOS, SF Pro em pesos extremos (Light 151 nos alarmes, Black 260 nas legendas). Curva que arranca rápido e assenta com 85% de influência, cascatas de 2 e 3 quadros, transições por círculo e a peça inteira num cartão 3D. Números tirados de `construir_v3.jsx` e da receita.\n\n## Fontes\n\n | \n\n | Uso\n | Fonte\n | Onde baixar\n\n | Alarmes, números, títulos, palavras gigantes\n | SF Pro Display (Light, Medium, Semibold, Bold, Black)\n | developer.apple.com/fonts\n\n | Interfaces (rótulos, balões, letra)\n | SF Pro Text (Regular, Medium, Semibold)\n | developer.apple.com/fonts\n\n | Palavra cursiva das legendas\n | Segoe Script\n | vem no Windows\n\nItálico pesado: `fauxItalic` sobre a SF Pro Display Black.\n\n## Cores\n\n | \n\n | Token\n | Hex\n | Uso\n\n | Fundo\n | `#FFFFFF` (alarmes em `#000000`)\n | todas as cenas\n\n | Verde do iOS\n | `#34C759`\n | chave dos alarmes\n\n | Vermelho do dia\n | `#FF3B30`\n | círculo do dia 12\n\n | Cinza de texto\n | `#8E8E93` / `#98989F`\n | rótulos, palavra girada, alarmes apagados\n\n | Linhas\n | `#38383A` (escura) / `#E5E5EA` (clara)\n | separadores\n\n | Balão azul / cinza\n | `#0A7CFF` / `#E9E9EB`\n | iMessage\n\n | Lembrete amarelo\n | `#FDF2B3`, texto `#9C7A00`\n | calendário\n\n | Lembrete verde\n | `#CFF3D6`, texto `#1E7B34`\n | o lembrete que vira a pílula\n\n | Laranja do Spotify\n | `#D34515` (medido no print)\n | fundo da letra\n\n | Azul do radar\n | `#2D7FF9`\n | feixe do Buscar\n\n | Fundo do cartão 3D\n | degradê radial de `#EEF1F6` (centro) para `#A9B3C7`\n | comp final\n\n | Degradês das legendas\n | verde-menta `#9FF2D4` → `#F4FFFB`; creme `#F6EBB0` → branco; laranja `#F0874A` → pêssego `#FFE6D2`\n | palavras gigantes\n\n## Componentes\n\n- **Alarmes:** 7 linhas a cada 262 px; palavra em SF Pro Light 151 (a do meio em branco, as outras cinza), rótulo \"Alarme\" 42, cápsula verde 153×93 com bolinha branca de 83, linha de 2 px. Tudo é filho da linha.\n\n- **Calendário:** números SF Pro Medium 45; círculo vermelho de 84 px no 12; lembretes de 146×36 em quantidades diferentes por dia; um null pai de tudo faz o zoom até o lembrete verde, onde uma frase rola dentro do lembrete.\n\n- **Pílula \"Não perturbe\":** 940×150, raio 75; lua, \"Não perturbe\" e \"Ativado\" sobem 130 px dentro dela, com 3 quadros entre eles.\n\n- **Palavras gigantes:** três palavras entram pelos lados; a última, cinza, girada 6° e maior, pisca quadro a quadro; a pílula sobe e \"come\" cada palavra quando passa por cima dela. Depois, a frase gigante nasce a 440% com desfoque e encolhe para 100% sob a pílula; e três palavras de 300 px, cada uma centralizada por um null (escala 160%).\n\n- **iMessage 3D:** print com balões nativos numa comp que sobe a cada mensagem; teclado e cabeçalho recortados do print por cima; os balões têm matte da área da conversa.\n\n- **Fotos em carrossel:** print do app recortado em 5 camadas; quatro cartões de vídeo 880×1180 com cantos de 54 px, ligados em cadeia (só o primeiro anima); miniaturas a 8% com o quadro congelado.\n\n- **Legendas das fotos** (fora do cartão, podem passar da borda): palavra pequena branca com brilho, palavra gigante em degradê vertical, cursiva com brilho, ou palavra preenchida com a própria filmagem (ampliada 165%, com sombra preta e halo branco por baixo).\n\n- **Letra do Spotify:** letra inteira em Bold 62, entrelinha 108, a 50%; uma cópia a 100% com máscara de pena 80 até a linha atual; a letra sobe uma linha em 0,25 s e a máscara desce em 0,2 s, juntas; laranja por cima com pena 73 no topo e na base.\n\n- **Radar do Buscar:** logo e círculo a 40%; o círculo gira 0 → 160° e depois +180°; o mapa aparece dentro de um leque (±640 px a 1300 px do ícone) com borda macia, e um feixe azul curto perto do ícone; o tubarão do Memoji, em modo Multiplicar, aparece embaixo.\n\n- **Cartão 3D (comp final):** a peça inteira a 86% como camada 3D, cantos de 76 px, sombra (32%, distância 46, suavidade 170), Y −15° → −9°, X 6° → 3° e Z −1,2° ao longo do vídeo, com `wiggle` lento nas rotações (0,1 a 0,12 Hz, 1,2° a 1,6°) e na posição (`wiggle(0.1, 14)`).\n\n## Curvas\n\nEasy Ease com a chave de chegada puxada para cerca de 85% de influência (o tooltip do tutorial marca 83,37%):\n\n | \n\n | Nome\n | Saída / chegada\n | Uso\n\n | T\n | 15 / 85\n | entradas, câmera, carrossel, tudo que chega\n\n | Z\n | 33 / 85\n | zoom do null\n\n | S\n | 75 / linear\n | saída de cena: começa devagar e sai acelerando\n\n | E\n | 33 / 33\n | texto rolando dentro do lembrete\n\n | M\n | 55 / 45\n | o salto do zoom do calendário\n\n | H\n | hold\n | piscar quadro a quadro\n\n- **Cascata:** 2 quadros entre linhas e miniaturas; 3 quadros entre os itens da pílula.\n\n- **Desfoque por letra:** Text Animator com Blur 30 a 45 e Range Selector de 0 a 100 em 0,2 a 0,55 s; a primeira letra fica nítida enquanto o resto ainda está borrado.\n\n- **Frase gigante:** Gaussian Blur 28 → 0 em 8 quadros, sem repetir as bordas.\n\n- **Motion blur:** ligado, obturador 180° (peça de câmera rápida); desligado no zoom do calendário.\n\n## Transições\n\n- **Círculo que encolhe:** a cena anterior com Track Matte de um círculo preto que vai de 3000% a 100% em cerca de 10 quadros (1,20 → 1,53 s), com desfoque de 6 no matte (borda macia que some quando o círculo assenta); o círculo fica vermelho devagar (1,55 → 1,78 s) e o número 12 só aparece depois (1,80 → 1,90 s). Repetida do Spotify para o ícone do Buscar (círculo de 160 px, de 23,1 a 23,42 s).\n\n- **Saída radial:** cada elemento do calendário, menos o lembrete verde, sai 420 px para fora com a curva S, um quadro de atraso por grupo.\n\n- **Morfose:** o lembrete verde vira a pílula preta (tamanho, arredondamento e cor) em cerca de 14 quadros.\n\n- **Deslize com motion blur:** a cena do iMessage sai para −760 px em 6 quadros.\n\n- **Corte para preto** em 26,55 s, com a música baixando até 28,1 s.\n\n## Câmeras\n\n- **Zoom do calendário em três fases:** segura (100 → 118% em 0,32 s), salta (118 → 280% em 0,25 s, curva M) e assenta (280 → 330% até 1,3 s). Uma camada de ajuste com desfoque 14 e máscara elíptica invertida (pena 380) deixa o centro nítido e as bordas suaves.\n\n- **iMessage:** a tela entra com Y Rotation −80° → 0; câmera de dois nós (zoom 1800) mira 55% do caminho entre o centro e cada balão; chicote de cerca de 8 quadros entre mensagens, deriva contínua entre elas, roll de ±1,5° a 3°; um null pai com tremida lenta (`wiggle(0.5, 18)`) e zooms rápidos em mensagens alternadas.\n\n- **Cartão 3D:** câmera com profundidade de campo (zoom 2400, foco no plano do cartão, abertura 140).\n\n## Trilha\n\nSó a música do pacote do tutorial, sem efeitos; a peça foi alinhada a ela por correlação do envelope de áudio. Os cortes de cena caem nos tempos da música: 1,2 · 3,3 · 6,45 · 13,35 · 19,95 · 23,25 s.\n\n## O que é \"humano\" neste vídeo\n\n- A câmera do iMessage nunca para: chicoteia, deriva e treme devagar, com valores medidos no original.\n\n- O cartão 3D flutua o vídeo inteiro.\n\n- A palavra cinza pisca como um cursor, e a pílula \"come\" as palavras ao subir.\n\n- O círculo do dia não acende de uma vez: passa do preto ao vermelho e só então mostra o número."
45
+ },
46
+ {
47
+ "titulo": "A montagem no After Effects",
48
+ "texto": "- **Instale a fonte SF Pro** (SF Pro Display e SF Pro Text), da página de fontes da Apple para desenvolvedores (developer.apple.com/fonts). A cursiva das legendas é a Segoe Script, que vem no Windows. Instale para todos os usuários e reinicie o After Effects.\n\n- **Mantenha a pasta `projeto/` como veio**: o `.aep` fica em `projeto/ae/`, junto de `assets/`. Abra no After Effects 2026 ou mais novo. Renderize a comp `APRESENTACAO (cartao 3D) - final`.\n\n- **Arquivo faltando:** File › Dependencies › Find Missing Footage e aponte para `projeto/ae/assets`.\n\n- **Para reconstruir por script** (opcional): com um projeto novo aberto, defina `ROOT` com a pasta `assets/` (com a barra no fim) e rode `construir_v3.jsx` (File › Scripts › Run Script File, ou pela ponte MCP com `$.evalFile`). O `.jsx` precisa estar em UTF-8 com BOM, e caminhos com acento entram codificados como URI.\n\n- **Render:** `render.ps1` roda o `aerender` em trechos de 60 quadros, com prioridade baixa; depois junte os trechos com a música e etiquete a cor em BT.709. Se um trecho falhar ao iniciar, rode de novo: ele refaz só o que falta.\n\nAlgumas linhas dos scripts apontam para pastas da máquina onde o vídeo foi feito; peça ao agente para trocar pelos caminhos da sua central."
49
+ },
50
+ {
51
+ "titulo": "As decisões de direção",
52
+ "texto": "- **Print do app como guia, elementos recriados por cima.** Cada tela tem o print como camada guia desligada; textos, formas e ícones são refeitos nas posições do print, e ícones difíceis saem do próprio print por máscara.\n\n- **Um pai anima o grupo:** a linha de cada alarme, o null do calendário, a pílula do \"Não perturbe\", o primeiro cartão do carrossel. Só o pai tem chave.\n\n- **A curva do tutorial:** Easy Ease com a chegada puxada para cerca de 85% de influência. O elemento arranca rápido e assenta devagar.\n\n- **Transição circular:** a cena inteira entra num círculo que encolhe até virar o dia 12 do calendário; mais adiante, o Spotify encolhe até o ícone do Buscar.\n\n- **Morfose sem deformar:** o lembrete verde vira a pílula preta do \"Não perturbe\" animando o tamanho e o arredondamento do retângulo, e não a escala.\n\n- **Tempos medidos quadro a quadro no original:** o círculo que fica vermelho devagar, o número que só aparece depois, o zoom que segura, salta e assenta.\n\n- **Câmera do iMessage humanizada:** chicote de cerca de 8 quadros entre as mensagens, deriva contínua e tremida lenta, medidos no original. \"O imperfeito humaniza; movimento perfeito parece robô.\"\n\n- **Texto com acabamento:** degradê vertical, brilho, cursiva e uma palavra preenchida com a própria filmagem.\n\n- **A peça num cartão 3D:** inclinado, flutuando devagar, com sombra e profundidade de campo, como na apresentação do tutorial.\n\nDetalhes de cores, curvas e transições: estilo.md. Texto e cenas por tempo: roteiro.md. Para fazer um vídeo no mesmo estilo: PROMPT.md."
53
+ },
54
+ {
55
+ "titulo": "As versões até o final",
56
+ "texto": "| \n\n | Versão\n | O que mudou\n\n | v1\n | as 7 cenas e as 2 transições circulares nos mesmos tempos do original; comparação lado a lado apontou atrasos, palavras pequenas, câmera inclinada demais e legendas simples\n\n | v2\n | texto com acabamento (degradê, brilho, cursiva, palavra com a filmagem), mapa em \"lanterna\", câmera do iMessage humanizada com valores medidos\n\n | **v3**\n | transição e zoom do calendário medidos quadro a quadro, foco no zoom, desfoque por letra nos textos e a peça num cartão 3D; retorno: \"ficou melhor\""
57
+ }
58
+ ],
59
+ "pacote": [
60
+ {
61
+ "pasta": "projeto/",
62
+ "conteudo": "`apple-clean-ui-v3.aep`, a pasta `ae/assets/` (prints do alarme, do calendário, do iMessage, do Fotos e do Spotify, lua do \"Não perturbe\", logo e círculo do Buscar, mapa, os quatro clipes das fotos e o tubarão do Memoji), os três construtores (`construir.jsx`, `construir_v2.jsx` e `construir_v3.jsx`) e o `render.ps1`"
63
+ },
64
+ {
65
+ "pasta": "audio/",
66
+ "conteudo": "a música"
67
+ },
68
+ {
69
+ "pasta": "referencias/",
70
+ "conteudo": "a análise do tutorial do Tarık com o passo a passo e os tempos, a receita curta com os valores, o tutorial completo da recriação e a comparação lado a lado com o original (vídeo e gráfico da câmera do iMessage)"
71
+ },
72
+ {
73
+ "pasta": "render/",
74
+ "conteudo": "`final.mp4`"
75
+ },
76
+ {
77
+ "pasta": "K(prop, [[t, valor, curva]…])",
78
+ "conteudo": "põe as chaves e aplica a curva por influência (tabela em `estilo.md`)"
79
+ },
80
+ {
81
+ "pasta": "revelaLetras()",
82
+ "conteudo": "desfoque por letra: Text Animator com Blur e Range Selector de 0 a 100"
83
+ },
84
+ {
85
+ "pasta": "APPLE CLEAN UI - 7 cenas (principal)",
86
+ "conteudo": "as cenas, as duas transições circulares e o corte para preto"
87
+ },
88
+ {
89
+ "pasta": "APRESENTACAO (cartao 3D) - final",
90
+ "conteudo": "a comp final: a principal como camada 3D num cartão inclinado, com câmera de profundidade de campo"
91
+ }
92
+ ],
93
+ "prompt": "Quero fazer um vídeo sem narração no mesmo estilo do projeto \"Sem atalho nenhum\" (Apple Clean UI), que está em 07-videos/projetos/cleanui/, com o meu assunto.\n\nAssunto ou mensagem: {{ASSUNTO}}\nTelas que contam a história (apps do celular, telas da minha loja ou do meu app): {{TELAS}}\nFrase que atravessa o vídeo e fecha no final: {{FRASE}}\nMúsica: {{MUSICA}} (ou me sugira uma)\nDuração aproximada: {{DURACAO}} (a referência tem 28,1 s)\n(Se algum desses estiver vazio ou com as chaves, me pergunte antes de começar.)\n\n1. Estude o projeto antes de propor qualquer coisa. Leia, nesta ordem: 07-videos/projetos/cleanui/LEIA-ME.md, estilo.md e roteiro.md, e a receita e o tutorial em referencias/. Depois abra projeto/ae/construir_v3.jsx e me explique em poucas linhas como as funções K, T, matte e revelaLetras funcionam, como cada cena é montada sobre o print e como entram as transições circulares, e o que você vai reaproveitar.\n\n2. Siga o passo a passo de 9 etapas de 07-videos/_LEIA.md e os números de 07-videos/regras-vigentes.md. Crie o meu projeto em 07-videos/projetos/AAAA-MM-DD-tema/ a partir de 07-videos/projetos/_modelo/README.md e marque cada etapa no checklist. Não edite os arquivos do projeto cleanui: copie o construtor para a pasta do meu vídeo e troque o conteúdo.\n\n3. Use as skills instaladas: motion-app-ae (receita Apple Clean UI no After Effects), video-referencias (prints reais das telas e das plataformas) e better-portuguese (todo texto da tela).\n\n4. A sequência: monte a tabela tempo da música → tela → técnica → texto, com 5 a 8 telas. Para cada tela, um print real em alta resolução como guia. Escolha as técnicas da referência que servem a cada tela (linhas que entram em cascata, zoom de null até um elemento, morfose de um elemento na tela seguinte, pílula que come as palavras, câmera 3D numa conversa, carrossel de cartões, karaokê com máscara, radar com mapa) e diga onde entram as transições circulares. O texto é meu: me proponha a frase dividida pelas telas e espere o meu ok.\n\n5. Trilha: música real, com a batida medida; cada troca de cena cai num tempo forte. Se eu mandar a música, alinhe as cenas a ela.\n\n6. Reaproveite o método, troque o conteúdo. Mantenha deste projeto: o print como guia desligado com os elementos recriados por cima, um pai que anima o grupo, a curva com chegada a 85% de influência, as cascatas de 2 e 3 quadros, a transição circular por track matte com borda macia, a morfose pelo tamanho e arredondamento (nunca pela escala), o desfoque por letra, as palavras gigantes centralizadas por null, a câmera 3D humanizada (chicote, deriva e tremida lenta), o texto com acabamento (degradê, brilho, cursiva, palavra preenchida com a filmagem) e a peça num cartão 3D com profundidade de campo. Troque: as telas, os prints, as filmagens, os textos, as cores e a música.\n\n7. Construa por script, como o construtor da referência: um .jsx em UTF-8 com BOM, que monta o projeto do zero a cada correção. Meça as posições nos prints antes de posicionar e parenteie antes de pôr chaves no filho.\n\n8. Construa de duas em duas cenas e me mostre folhas de contato a cada rodada; nos movimentos rápidos, olhe os quadros do meio. Em cada movimento, pergunte: está humano ou robotizado? Se tiver uma peça de referência, compare lado a lado no mesmo tempo da música.\n\n9. Render em trechos com o aerender, junte com a música, etiquete a cor em BT.709, revise quadro a quadro e me entregue o vídeo, a legenda do post e a ficha atualizada. No fim, registre uma anotação em anotacoes/.",
94
+ "campos": [
95
+ "ASSUNTO",
96
+ "DURACAO",
97
+ "FRASE",
98
+ "MUSICA",
99
+ "TELAS"
100
+ ],
101
+ "fonte": {
102
+ "nome": "Clube do Motion",
103
+ "url": "https://clubedomotion.com/projeto/?id=cleanui",
104
+ "uso": "liberado pelo dono do Clube do Motion em 18/10/2026 (docs/permissoes/clube-do-motion.md)"
105
+ }
106
+ }