primocode 10.16.0 → 10.17.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.
- package/LICENSES/edit-ia-pro.txt +32 -0
- package/LICENSES/fontes-OFL.txt +476 -0
- package/LICENSES/hyperframes-Apache-2.0.txt +205 -0
- package/LICENSES/permanent-marker-Apache-2.0.txt +204 -0
- package/LICENSES/selfie-multiclass-Apache-2.0.txt +227 -0
- package/LICENSES/three-MIT.txt +23 -0
- package/LICENSES/video-use-MIT.txt +24 -0
- package/LICENSES/woven-sfx-CC0.txt +16 -0
- package/LICENSES/yunet-MIT.txt +21 -0
- package/README.md +2 -2
- package/bin/primocode.js +11 -2
- package/editor/LICENSE.md +11 -0
- package/editor/README.md +321 -0
- package/editor/SKILL.md +307 -0
- package/editor/THIRD_PARTY_NOTICES.md +228 -0
- package/editor/assets/baixar.json +591 -0
- package/editor/assets/fonts/anton/OFL.txt +93 -0
- package/editor/assets/fonts/caveat/OFL.txt +93 -0
- package/editor/assets/fonts/figtree/OFL.txt +93 -0
- package/editor/assets/fonts/fonts.json +10 -0
- package/editor/assets/fonts/montserrat/OFL.txt +93 -0
- package/editor/assets/fonts/permanentmarker/LICENSE.txt +202 -0
- package/editor/assets/models/SELFIE_MULTICLASS_LICENSE.txt +227 -0
- package/editor/assets/models/YUNET_LICENSE.txt +21 -0
- package/editor/assets/sfx/licencas/bass_drop.txt +32 -0
- package/editor/assets/sfx/licencas/cash.txt +76 -0
- package/editor/assets/sfx/licencas/charge.txt +31 -0
- package/editor/assets/sfx/licencas/click.txt +46 -0
- package/editor/assets/sfx/licencas/coin.txt +50 -0
- package/editor/assets/sfx/licencas/count.txt +47 -0
- package/editor/assets/sfx/licencas/data.txt +31 -0
- package/editor/assets/sfx/licencas/error.txt +32 -0
- package/editor/assets/sfx/licencas/flash.txt +31 -0
- package/editor/assets/sfx/licencas/gears.txt +82 -0
- package/editor/assets/sfx/licencas/keyboard.txt +48 -0
- package/editor/assets/sfx/licencas/metal_hit.txt +62 -0
- package/editor/assets/sfx/licencas/metal_riser.txt +61 -0
- package/editor/assets/sfx/licencas/mouse_click.txt +50 -0
- package/editor/assets/sfx/licencas/notification.txt +54 -0
- package/editor/assets/sfx/licencas/pop.txt +38 -0
- package/editor/assets/sfx/licencas/rewind.txt +32 -0
- package/editor/assets/sfx/licencas/rise.txt +46 -0
- package/editor/assets/sfx/licencas/sinteticos.txt +21 -0
- package/editor/assets/sfx/licencas/snap.txt +50 -0
- package/editor/assets/sfx/licencas/success.txt +40 -0
- package/editor/assets/sfx/licencas/synth_hit.txt +32 -0
- package/editor/assets/sfx/licencas/tick.txt +14 -0
- package/editor/assets/sfx/licencas/whoosh.txt +47 -0
- package/editor/assets/sfx/licencas/wind.txt +31 -0
- package/editor/assets/sfx/sfx.json +832 -0
- package/editor/assets/sfx/sfx_sinteticos.json +317 -0
- package/editor/assets/sfx/sfx_woven.json +387 -0
- package/editor/assets/sfx/woven/LICENCA.md +16 -0
- package/editor/fichas/briefing-do-video.md +45 -0
- package/editor/fichas/conferencia-da-amostra.md +56 -0
- package/editor/fichas/matriz-de-ganchos.csv +3 -0
- package/editor/fichas/padrao.json +16 -0
- package/editor/fichas/planilha-de-cenas.csv +4 -0
- package/editor/fichas/planilha-de-versoes.csv +4 -0
- package/editor/fichas/plano-em-blocos.md +32 -0
- package/editor/fichas/registro-de-materiais.json +27 -0
- package/editor/helpers/assets_ocr/ocr_vision.swift +41 -0
- package/editor/helpers/bordas_precisas.py +272 -0
- package/editor/helpers/camera_viva.py +426 -0
- package/editor/helpers/captions.py +601 -0
- package/editor/helpers/common.py +308 -0
- package/editor/helpers/compose_final.py +3555 -0
- package/editor/helpers/conferir_corte.py +234 -0
- package/editor/helpers/conferir_dados.py +405 -0
- package/editor/helpers/contact_sheet.py +282 -0
- package/editor/helpers/corte_por_onda.py +433 -0
- package/editor/helpers/corte_seco.py +595 -0
- package/editor/helpers/denoise.py +971 -0
- package/editor/helpers/efeitos.py +408 -0
- package/editor/helpers/efeitos_gerar.py +159 -0
- package/editor/helpers/elevenlabs_api.py +442 -0
- package/editor/helpers/face_layout.py +570 -0
- package/editor/helpers/fetch_images.py +423 -0
- package/editor/helpers/ganho_por_trecho.py +214 -0
- package/editor/helpers/gen_image.py +312 -0
- package/editor/helpers/gen_music.py +316 -0
- package/editor/helpers/gen_sfx.py +148 -0
- package/editor/helpers/grade.py +307 -0
- package/editor/helpers/icloud.py +119 -0
- package/editor/helpers/make_sfx.py +940 -0
- package/editor/helpers/matte.py +1342 -0
- package/editor/helpers/medir_referencia.py +2232 -0
- package/editor/helpers/mixar_trilha.py +354 -0
- package/editor/helpers/montar_corte.py +295 -0
- package/editor/helpers/motion/__init__.py +13 -0
- package/editor/helpers/motion/engine.py +1915 -0
- package/editor/helpers/motion/registry.py +510 -0
- package/editor/helpers/motion/render.py +665 -0
- package/editor/helpers/motion/templates/barra_progresso.py +370 -0
- package/editor/helpers/motion/templates/carimbo.py +132 -0
- package/editor/helpers/motion/templates/checklist.py +271 -0
- package/editor/helpers/motion/templates/comentario_cta.py +380 -0
- package/editor/helpers/motion/templates/contador.py +222 -0
- package/editor/helpers/motion/templates/destaque.py +263 -0
- package/editor/helpers/motion/templates/etiqueta_preco.py +461 -0
- package/editor/helpers/motion/templates/grafico_barras.py +510 -0
- package/editor/helpers/motion/templates/grafico_linha.py +462 -0
- package/editor/helpers/motion/templates/notificacao.py +266 -0
- package/editor/helpers/motion/templates/palavra_impacto.py +410 -0
- package/editor/helpers/motion/templates/passos.py +321 -0
- package/editor/helpers/motion/templates/riscado.py +298 -0
- package/editor/helpers/motion/templates/selo_garantia.py +150 -0
- package/editor/helpers/motion_render.py +241 -0
- package/editor/helpers/motion_sugerir.py +961 -0
- package/editor/helpers/noise_check.py +134 -0
- package/editor/helpers/pack_transcripts.py +223 -0
- package/editor/helpers/palavras_na_onda.py +176 -0
- package/editor/helpers/plano_sfx.py +839 -0
- package/editor/helpers/portao.py +427 -0
- package/editor/helpers/preview_server.py +1177 -0
- package/editor/helpers/rastrear_rosto.py +298 -0
- package/editor/helpers/render_cut.py +1256 -0
- package/editor/helpers/respiros.py +89 -0
- package/editor/helpers/sincronizar_cameras.py +571 -0
- package/editor/helpers/speech_regions.py +423 -0
- package/editor/helpers/style_catalog.json +231 -0
- package/editor/helpers/style_samples.py +246 -0
- package/editor/helpers/tela_verde.py +2113 -0
- package/editor/helpers/text_render.py +2059 -0
- package/editor/helpers/texto_na_tela.py +366 -0
- package/editor/helpers/timeline_view.py +292 -0
- package/editor/helpers/tira_de_quadros.py +113 -0
- package/editor/helpers/transcribe.py +734 -0
- package/editor/helpers/transcribe_batch.py +129 -0
- package/editor/helpers/trilhas.py +1146 -0
- package/editor/helpers/trilhas_humores.json +66 -0
- package/editor/helpers/valores.py +187 -0
- package/editor/helpers/verify_cut.py +820 -0
- package/editor/helpers/voice_levels.py +233 -0
- package/editor/helpers/voz_check.py +386 -0
- package/editor/helpers/voz_limpa.py +81 -0
- package/editor/helpers/watch_preview.py +372 -0
- package/editor/modelo-projeto/LEIA.md +402 -0
- package/editor/modelo-projeto/assets/fontes/OFL-Caveat.txt +93 -0
- package/editor/modelo-projeto/assets/fontes/OFL-JetBrainsMono.txt +93 -0
- package/editor/modelo-projeto/assets/fontes/OFL-Montserrat.txt +93 -0
- package/editor/modelo-projeto/assets/fontes/larguras.json +1 -0
- package/editor/modelo-projeto/assets/three/BufferGeometryUtils.js +1438 -0
- package/editor/modelo-projeto/assets/three/GLTFLoader.js +4895 -0
- package/editor/modelo-projeto/assets/three/LICENSE +21 -0
- package/editor/modelo-projeto/assets/three/ORIGEM.txt +17 -0
- package/editor/modelo-projeto/assets/three/RoomEnvironment.js +185 -0
- package/editor/modelo-projeto/assets/three/three.core.min.js +6 -0
- package/editor/modelo-projeto/assets/three/three.module.min.js +6 -0
- package/editor/modelo-projeto/build.py +4828 -0
- package/editor/modelo-projeto/compositions/cenas/2d/k2d_antes_depois.html +199 -0
- package/editor/modelo-projeto/compositions/cenas/2d/k2d_arquivo.html +232 -0
- package/editor/modelo-projeto/compositions/cenas/2d/k2d_busca.html +315 -0
- package/editor/modelo-projeto/compositions/cenas/2d/k2d_comando.html +304 -0
- package/editor/modelo-projeto/compositions/cenas/2d/k2d_conversa.html +217 -0
- package/editor/modelo-projeto/compositions/cenas/2d/k2d_esquema.html +289 -0
- package/editor/modelo-projeto/compositions/cenas/2d/k2d_medidor.html +249 -0
- package/editor/modelo-projeto/compositions/cenas/2d/k2d_notas.html +233 -0
- package/editor/modelo-projeto/compositions/cenas/3d/k3d_caminho.html +197 -0
- package/editor/modelo-projeto/compositions/cenas/3d/k3d_explodida.html +152 -0
- package/editor/modelo-projeto/compositions/cenas/3d/k3d_tela.html +167 -0
- package/editor/modelo-projeto/compositions/cenas/3d/k3d_volume.html +124 -0
- package/editor/modelo-projeto/compositions/cenas/3d/motor-three.js +728 -0
- package/editor/modelo-projeto/compositions/cenas/LEIA.md +177 -0
- package/editor/modelo-projeto/ferramentas/medir_fontes.py +65 -0
- package/editor/modelo-projeto/ferramentas/pessoa_recortada.py +176 -0
- package/editor/modelo-projeto/ferramentas/rastrear_maos.py +189 -0
- package/editor/modelo-projeto/hyperframes.json +12 -0
- package/editor/modelo-projeto/package.json +11 -0
- package/editor/modelo-projeto/projeto.json +16 -0
- package/editor/preview/app.css +1009 -0
- package/editor/preview/app.js +2122 -0
- package/editor/preview/index.html +307 -0
- package/editor/pyproject.toml +23 -0
- package/editor/references/3d.md +236 -0
- package/editor/references/animacao-catalogo.md +672 -0
- package/editor/references/animacao.md +498 -0
- package/editor/references/comandos.md +92 -0
- package/editor/references/corte-seco-como-funciona.md +50 -0
- package/editor/references/corte-seco.md +88 -0
- package/editor/references/corte.md +290 -0
- package/editor/references/direcao-por-blocos.md +218 -0
- package/editor/references/enquadramento.md +654 -0
- package/editor/references/estilos-prontos.md +355 -0
- package/editor/references/estudio.md +100 -0
- package/editor/references/exemplo-eventos.json +67 -0
- package/editor/references/lettering.md +252 -0
- package/editor/references/modelos.md +494 -0
- package/editor/references/phase2.md +1007 -0
- package/editor/references/referencia-aplicar.md +203 -0
- package/editor/references/referencia-medir.md +375 -0
- package/editor/references/revisao.md +335 -0
- package/editor/references/som-e-trilha.md +146 -0
- package/editor/references/tabela-de-sons.md +130 -0
- package/editor/references/variacoes.md +234 -0
- package/editor/uv.lock +1141 -0
- package/lib/act.js +36 -8
- package/lib/catalogo.js +4 -0
- package/lib/chamada-torta.js +81 -0
- package/lib/editor-pro.js +786 -0
- package/lib/entrega.js +58 -0
- package/lib/estudio/conferencia-visual.js +76 -0
- package/lib/estudio/diretor.js +6 -1
- package/lib/estudio/exportar.js +3 -1
- package/lib/estudio/gosto.js +45 -4
- package/lib/estudio/index.js +8 -5
- package/lib/estudio/kit-ae/base.jsx +119 -13
- package/lib/estudio/kit-ae/cenas.jsx +47 -15
- package/lib/estudio/kit-ae/guarda.jsx +274 -0
- package/lib/estudio/kit-ae/primitivas.jsx +180 -24
- package/lib/estudio/maquina-diretor.js +61 -7
- package/lib/estudio/maquina-foto.js +177 -0
- package/lib/estudio/maquina-guarda.js +207 -0
- package/lib/estudio/maquina-layout.js +22 -1
- package/lib/estudio/maquina.js +60 -11
- package/lib/estudio/referencias.js +1 -1
- package/lib/estudio/visao/visao.swift +97 -0
- package/lib/estudio/visao.js +60 -0
- package/lib/local/cerebro.json +192 -6
- package/lib/local/motor.js +5 -2
- package/lib/nuvem.js +11 -1
- package/lib/passagem.js +50 -0
- package/lib/perigo.js +19 -11
- package/lib/protecao.js +134 -0
- package/lib/titulo-conversa.js +46 -0
- package/lib/tools.js +3 -0
- package/lib/ui.js +1 -1
- package/package.json +3 -2
- package/skills/editar-meu-video/SKILL.md +6 -2
- package/skills/editar-video/SKILL.md +113 -0
- package/studio/pessoa.py +52 -0
- package/voz/primo_voz/app.py +43 -4
- package/voz/primo_voz/chat.html +17 -6
- package/voz/primo_voz/painel_dados.py +134 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
video-use (https://github.com/browser-use/video-use)
|
|
2
|
+
Código adaptado em editor/helpers/transcribe.py, transcribe_batch.py, pack_transcripts.py, render_cut.py, grade.py e timeline_view.py.
|
|
3
|
+
|
|
4
|
+
MIT License
|
|
5
|
+
|
|
6
|
+
Copyright (c) 2026 Browser Use
|
|
7
|
+
|
|
8
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
9
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
10
|
+
in the Software without restriction, including without limitation the rights
|
|
11
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
12
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
13
|
+
furnished to do so, subject to the following conditions:
|
|
14
|
+
|
|
15
|
+
The above copyright notice and this permission notice shall be included in all
|
|
16
|
+
copies or substantial portions of the Software.
|
|
17
|
+
|
|
18
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
19
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
20
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
21
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
22
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
23
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
24
|
+
SOFTWARE.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Woven SFX: licença dos sons
|
|
2
|
+
|
|
3
|
+
Os 35 arquivos `.wav` desta pasta vêm do Woven SFX (https://www.woven.video/sfx), repositório
|
|
4
|
+
https://github.com/woven-video/woven-sfx (commit 521b446db682a3cae9ae1647e94bbdc312cd9a3a, conferido em 27/09/2026).
|
|
5
|
+
Os arquivos são idênticos aos do CDN oficial (https://assets.sfx.woven.video/sfx/ID.wav; md5 conferido em pop-hand,
|
|
6
|
+
fast-whoosh e bass-impact).
|
|
7
|
+
|
|
8
|
+
Licença dos sons (arquivo SOUNDS_LICENSE do repositório):
|
|
9
|
+
|
|
10
|
+
> All sound effects in this repository are dedicated to the public domain under CC0 1.0 Universal
|
|
11
|
+
> (https://creativecommons.org/publicdomain/zero/1.0/). You may copy, modify, distribute, and use these sounds
|
|
12
|
+
> for any purpose, commercial or non-commercial, without asking permission.
|
|
13
|
+
|
|
14
|
+
O código do Woven SFX (e a skill `add-sfx`) é MIT. Nenhum código deles foi copiado pra esta skill; só os sons.
|
|
15
|
+
|
|
16
|
+
Crédito não é obrigatório. Se quiser: "Efeitos sonoros: Woven SFX (CC0)".
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2020 Shiqi Yu <shiqi.yu@gmail.com>
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# PrimoCode v10.
|
|
1
|
+
# PrimoCode v10.17.0
|
|
2
2
|
|
|
3
3
|
Agente de engenharia brasileiro para o terminal, no estilo Claude Code.
|
|
4
4
|
Cria arquivos de verdade, roda comandos, **controla o navegador e o desktop** —
|
|
@@ -9,7 +9,7 @@ OpenRouter, e cada apelido (`top`/`main`/`fast`) é uma **corrente**: se um mode
|
|
|
9
9
|
está no limite de pedidos, o próximo atende. Você não vê o erro, e não paga nada.
|
|
10
10
|
|
|
11
11
|
```
|
|
12
|
-
▐▛███▜▌ Primo Code v10.
|
|
12
|
+
▐▛███▜▌ Primo Code v10.17.0
|
|
13
13
|
▝▜█████▛▘ Bem-vindo de volta, Joel
|
|
14
14
|
▘▘ ▝▝ ~/primocode · /dir <pasta> muda
|
|
15
15
|
```
|
package/bin/primocode.js
CHANGED
|
@@ -102,7 +102,10 @@ const state = {
|
|
|
102
102
|
memoria: memoria.nova(),
|
|
103
103
|
// O histórico que o app desktop e o celular enxergam. Cifrado antes de
|
|
104
104
|
// sair daqui; o porquê de cada peça está em lib/nuvem.js.
|
|
105
|
-
gravador: nuvem.gravador(
|
|
105
|
+
gravador: nuvem.gravador({
|
|
106
|
+
// título de 2 a 5 palavras escrito pelo modelo, depois da primeira resposta (lib/titulo-conversa.js)
|
|
107
|
+
batizar: (pedido, resposta) => require('../lib/titulo-conversa.js').escolher({ pedido, resposta, perguntar: perguntarNome }),
|
|
108
|
+
}),
|
|
106
109
|
/* Começa LIBERADO e a abertura decide depois. Começar bloqueado deixaria
|
|
107
110
|
um instante em que a pessoa digita e leva "sem acesso" antes de o
|
|
108
111
|
plano ter sido conferido — e num pipe, onde a abertura nem roda, o
|
|
@@ -2942,6 +2945,12 @@ async function main() {
|
|
|
2942
2945
|
if (process.argv[2] === 'video') {
|
|
2943
2946
|
process.exit(await require('../lib/video/cli.js').main(process.argv.slice(3)));
|
|
2944
2947
|
}
|
|
2948
|
+
/* `primocode editor <acao> --json '{...}'`: a edição completa de vídeo falado
|
|
2949
|
+
(lib/editor-pro.js, motor do EDIT IA PRO), pelo run_shell quando o servidor
|
|
2950
|
+
ainda não declara a ferramenta editor_pro. Uma linha de JSON no stdout. */
|
|
2951
|
+
if (process.argv[2] === 'editor') {
|
|
2952
|
+
process.exit(await require('../lib/editor-pro.js').main(process.argv.slice(3)));
|
|
2953
|
+
}
|
|
2945
2954
|
// `primocode mcp …`: os servidores MCP pelo run_shell (lib/mcp.js).
|
|
2946
2955
|
if (process.argv[2] === 'videos') {
|
|
2947
2956
|
const r = require('../lib/estudio/exportar.js').main(process.argv.slice(3));
|
|
@@ -3071,7 +3080,7 @@ async function main() {
|
|
|
3071
3080
|
if (typeof fl.resume === 'string') await retomarConversa(fl.resume);
|
|
3072
3081
|
else if (continuar) await continuarUltima();
|
|
3073
3082
|
state.semTerminal = true;
|
|
3074
|
-
process.env.PRIMOCODE_SEM_TELA = '1'; // modo script: nenhuma tela de gosto abre
|
|
3083
|
+
process.env.PRIMOCODE_SEM_TELA = '1'; // modo script: nenhuma tela de gosto abre no navegador (com PRIMOCODE_APP=1 o app abre pela linha `primocode:abrir-gosto`)
|
|
3075
3084
|
if (process.env.PRIMOCODE_LOG_FERRAMENTAS === '1') { // o app do Primo registra cada ferramenta no log dele
|
|
3076
3085
|
require('../lib/voz-ponte').escutar((nome, a) => process.stderr.write(`ferramenta: ${nome} ${JSON.stringify(a || {}).slice(0, 220)}\n`));
|
|
3077
3086
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Licença
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 SHK Soluções Digitais LTDA. Todos os direitos reservados.
|
|
4
|
+
|
|
5
|
+
Este software é distribuído apenas para quem tem acesso liberado ao produto. Não é permitido
|
|
6
|
+
revender, sublicenciar ou redistribuir sem autorização por escrito.
|
|
7
|
+
|
|
8
|
+
Partes deste projeto foram adaptadas de software de código aberto, e ele inclui fontes
|
|
9
|
+
(`assets/fonts/`) e um modelo de detecção de rosto (`assets/models/`) com licença livre. Os avisos e
|
|
10
|
+
as licenças dessas partes estão em `THIRD_PARTY_NOTICES.md` e ao lado de cada arquivo, e continuam
|
|
11
|
+
valendo nos termos originais. Este aviso de direitos reservados não se aplica a elas.
|
package/editor/README.md
ADDED
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
# Editor de Vídeo
|
|
2
|
+
|
|
3
|
+
Uma skill para o **Claude Code** e para o **Codex** que edita vídeos falados gravados no celular,
|
|
4
|
+
só conversando. Feita para quem grava criativo de anúncio, Reels e TikTok olhando para a câmera.
|
|
5
|
+
|
|
6
|
+
Você entrega a pasta com as gravações e conversa. A IA:
|
|
7
|
+
|
|
8
|
+
- ouve tudo e escolhe as melhores tomadas;
|
|
9
|
+
- tira pausas, erros, gaguejadas e repetições;
|
|
10
|
+
- monta o corte na ordem que funciona para anúncio (gancho, problema, virada, prova, chamada);
|
|
11
|
+
- depois coloca legenda animada, texto de gancho, tela dividida com imagem, zoom nos cortes,
|
|
12
|
+
efeitos sonoros, trilha, botão de chamada e, se você pedir, aviso de resultado;
|
|
13
|
+
- faz tela verde sem pano verde: recorta você do fundo da gravação e te coloca no canto ou no meio, na
|
|
14
|
+
frente de um print, uma foto ou um vídeo (bom para comentar uma página, reagir a um vídeo ou mostrar um
|
|
15
|
+
produto). As imagens e vídeos da edição passam no fundo, sem tela dividida, e o print aparece inteiro acima
|
|
16
|
+
de você. O recorte roda no seu computador e leva uns 3 minutos por minuto de vídeo na primeira vez;
|
|
17
|
+
- anima textos e números que a IA de vídeo não desenha certo: lista com check, lista riscada, passo a
|
|
18
|
+
passo, etiqueta de preço, contador, gráfico, palavra de impacto e "comenta a palavra", no segundo em
|
|
19
|
+
que você fala, sem cobrir o seu rosto;
|
|
20
|
+
- escolhe entre 24 efeitos sonoros prontos pelo sentido da fala (notificação na venda, erro, contagem
|
|
21
|
+
de números, grave na revelação, teclado, rebobinar...), que você também pode pedir pelo nome em
|
|
22
|
+
português;
|
|
23
|
+
- guarda as suas músicas de fundo por clima (animada, triste, tensa...) para você só dizer
|
|
24
|
+
"trilha triste" na próxima edição;
|
|
25
|
+
- se você quiser, limpa o ruído de fundo da voz (chiado, ventilador, rua);
|
|
26
|
+
- confere o próprio trabalho (som, cortes, textos na tela, rosto livre) antes de te mostrar.
|
|
27
|
+
|
|
28
|
+
Tudo roda no seu computador. Você acompanha num **preview** com player e linha do tempo, marca o
|
|
29
|
+
que quer mudar e aprova em dois momentos: o corte e o vídeo final.
|
|
30
|
+
|
|
31
|
+
## Do que você precisa
|
|
32
|
+
|
|
33
|
+
- **Mac com chip Apple** (M1, M2, M3, M4) com **macOS 13 (Ventura) ou mais novo**. No macOS 14 ou mais
|
|
34
|
+
novo a transcrição usa a placa gráfica e fica bem mais rápida.
|
|
35
|
+
- **Mac com processador Intel** com **macOS 14 (Sonoma) ou mais novo**. Funciona, mas a transcrição
|
|
36
|
+
é mais lenta.
|
|
37
|
+
- **Windows 10 ou 11 de 64 bits** com processador Intel ou AMD.
|
|
38
|
+
- Não funciona em Windows com processador ARM (como Snapdragon), nem em Mac com sistema mais antigo
|
|
39
|
+
que os de cima: algumas bibliotecas não existem para eles. O instalador avisa e não instala nada.
|
|
40
|
+
- **8 GB de memória** (16 GB deixa tudo mais folgado).
|
|
41
|
+
- **Uns 5 GB livres** no disco: cerca de 1 GB de programas, 1,6 GB do modelo de voz e o espaço
|
|
42
|
+
dos seus vídeos.
|
|
43
|
+
- **Claude Code** (app ou terminal) ou o **app do Codex**, já com login feito.
|
|
44
|
+
- Internet na instalação e na primeira transcrição. Depois disso, cortar e legendar funciona sem
|
|
45
|
+
internet (só a busca de imagens precisa).
|
|
46
|
+
|
|
47
|
+
## Instalação
|
|
48
|
+
|
|
49
|
+
### 1. Instale o uv e o ffmpeg
|
|
50
|
+
|
|
51
|
+
**Mac:** abra o app Terminal e rode:
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
brew install uv ffmpeg
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Se aparecer `command not found: brew`, instale o Homebrew antes, seguindo as instruções de
|
|
58
|
+
https://brew.sh, e rode o comando de novo.
|
|
59
|
+
|
|
60
|
+
**Windows:** abra o PowerShell e rode:
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
winget install astral-sh.uv Gyan.FFmpeg
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Se o seu Windows não aceitar os dois de uma vez, rode um de cada vez:
|
|
67
|
+
`winget install astral-sh.uv` e depois `winget install Gyan.FFmpeg`.
|
|
68
|
+
|
|
69
|
+
### 2. Feche e abra o terminal
|
|
70
|
+
|
|
71
|
+
Feche todas as janelas do Terminal ou do PowerShell e abra de novo. Sem isso o computador ainda
|
|
72
|
+
não enxerga o que você acabou de instalar.
|
|
73
|
+
|
|
74
|
+
### 3. Rode o instalador
|
|
75
|
+
|
|
76
|
+
Descompacte a pasta `editor-video` que você recebeu e abra o terminal dentro dela:
|
|
77
|
+
|
|
78
|
+
- **Mac:** no Terminal, digite `cd ` (com espaço), arraste a pasta para a janela e aperte Enter.
|
|
79
|
+
- **Windows:** clique com o botão direito na pasta e escolha **Abrir no Terminal**.
|
|
80
|
+
|
|
81
|
+
Depois rode:
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
uv run --no-project python install.py
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
O instalador:
|
|
88
|
+
|
|
89
|
+
1. confere se o computador é compatível;
|
|
90
|
+
2. acha o Claude Code e o Codex no seu computador e copia a skill para cada um
|
|
91
|
+
(`~/.claude/skills/editor-video` e `~/.codex/skills/editor-video`);
|
|
92
|
+
3. baixa as bibliotecas que a skill usa (na primeira vez leva alguns minutos);
|
|
93
|
+
4. confere se o ffmpeg está instalado;
|
|
94
|
+
5. mostra um resumo. Quando aparecer **Pronto!**, deu tudo certo.
|
|
95
|
+
|
|
96
|
+
Depois **feche e abra o Claude Code ou o Codex** para a skill aparecer.
|
|
97
|
+
|
|
98
|
+
Opções do instalador (para casos especiais):
|
|
99
|
+
|
|
100
|
+
| Opção | Para que serve |
|
|
101
|
+
|---|---|
|
|
102
|
+
| `--dry-run` | Mostra o que faria, sem mudar nada. |
|
|
103
|
+
| `--dest PASTA` | Instala só nessa pasta (pode repetir). |
|
|
104
|
+
| `--no-sync` | Copia os arquivos sem baixar as bibliotecas. |
|
|
105
|
+
| `--dev` | Cria um atalho para a pasta em vez de copiar (para quem mexe no código). |
|
|
106
|
+
|
|
107
|
+
## Primeiro uso
|
|
108
|
+
|
|
109
|
+
Coloque os vídeos brutos numa pasta só, por exemplo `Filmes/criativo-bolsa`. No Mac, evite Mesa,
|
|
110
|
+
Documentos e Downloads na primeira vez (o macOS pode bloquear o acesso; veja "Problemas comuns").
|
|
111
|
+
|
|
112
|
+
### No Claude Code
|
|
113
|
+
|
|
114
|
+
1. Abra o Claude Code na pasta dos vídeos. No app, escolha a pasta ao começar a conversa. No
|
|
115
|
+
terminal, entre na pasta e rode `claude`.
|
|
116
|
+
2. Peça em português normal, por exemplo:
|
|
117
|
+
*"Edita os vídeos dessa pasta para um anúncio de uns 30 segundos."*
|
|
118
|
+
Se quiser chamar a skill pelo nome, digite `/editor-video`.
|
|
119
|
+
3. O preview abre ao lado da conversa. Responda as perguntas, aprove o corte, escolha o estilo e
|
|
120
|
+
aprove o final.
|
|
121
|
+
|
|
122
|
+
### No app do Codex
|
|
123
|
+
|
|
124
|
+
1. Abra o Codex e escolha a pasta dos vídeos como projeto.
|
|
125
|
+
2. Peça, por exemplo: *"Use $editor-video para editar os vídeos desta pasta."*
|
|
126
|
+
3. O Codex abre o preview no navegador do app. Se não abrir, entre no endereço que ele mostrar
|
|
127
|
+
(normalmente `http://127.0.0.1:4830`).
|
|
128
|
+
4. Quando o Codex pedir permissão para rodar comandos ou abrir o preview, aprove.
|
|
129
|
+
5. **Importante no Codex:** depois de clicar em Aprovar, Salvar marcações ou Salvar estilo, mande
|
|
130
|
+
uma mensagem na conversa (pode ser só "pronto"). O Codex só vê o clique quando você escreve.
|
|
131
|
+
|
|
132
|
+
### Como é o caminho
|
|
133
|
+
|
|
134
|
+
1. **Conversa rápida:** produto, para onde vai o clique, duração.
|
|
135
|
+
2. **Corte:** a IA transcreve, escolhe as tomadas e te conta o plano antes de cortar.
|
|
136
|
+
3. **Você assiste o corte** no preview. Gostou, clica em **Aprovar**. Quer mudar, marca o trecho
|
|
137
|
+
(tecla `I` no começo, `O` no fim), escreve o que quer e clica em **Salvar marcações**.
|
|
138
|
+
4. **Estilo:** na aba Estilo você escolhe o tipo de edição (limpa, tela dividida ou tela verde, com a
|
|
139
|
+
posição: canto esquerdo, canto direito ou meio), legenda, gancho, cor, elementos e a trilha de fundo (um
|
|
140
|
+
clima da sua biblioteca, um arquivo da pasta ou sem trilha), vendo amostras no seu próprio vídeo.
|
|
141
|
+
O elemento **Motion** liga as animações de texto e número: a IA sugere onde elas cabem pela sua
|
|
142
|
+
fala e só coloca as que você aprovar.
|
|
143
|
+
5. **Final:** a IA monta o vídeo completo. Você aprova ou marca de novo.
|
|
144
|
+
6. O vídeo pronto fica em `edit/final.mp4`, dentro da pasta dos vídeos. Seus arquivos originais
|
|
145
|
+
nunca são alterados.
|
|
146
|
+
|
|
147
|
+
Atalhos do player: `Espaço` toca e pausa, setas andam 1 quadro, `Shift` + setas andam 1 segundo.
|
|
148
|
+
|
|
149
|
+
## Biblioteca de trilhas
|
|
150
|
+
|
|
151
|
+
Você pode guardar músicas de fundo prontas, separadas por clima, e usar em qualquer edição sem
|
|
152
|
+
gerar nada de novo. Na conversa, é só dizer *"trilha triste"* ou *"põe uma trilha animada"*, ou
|
|
153
|
+
escolher o clima na aba Estilo do preview.
|
|
154
|
+
|
|
155
|
+
Os climas prontos são: **Animada** (energia, oferta, novidade), **Inspiradora** (conquista, virada de
|
|
156
|
+
vida), **Triste** (dor, problema, desabafo), **Tensa** (segredo, alerta, erro comum), **Calma**
|
|
157
|
+
(explicação, tutorial, confiança), **Épica** (revelação, resultado, grande virada), **Divertida**
|
|
158
|
+
(humor, bastidor) e **Luxo** (produto premium). Você pode criar os seus.
|
|
159
|
+
|
|
160
|
+
**Onde fica.** Fora da pasta da skill, para não se perder quando você atualiza ou reinstala:
|
|
161
|
+
|
|
162
|
+
- Mac: `~/.editor-video/trilhas` (pasta `.editor-video` dentro da sua pasta de usuário)
|
|
163
|
+
- Windows: `%USERPROFILE%\.editor-video\trilhas`
|
|
164
|
+
|
|
165
|
+
Dentro dela há uma pasta por clima (`animada`, `triste`...), a lixeira `_lixeira` (música removida vai
|
|
166
|
+
para lá, nada é apagado) e o índice `trilhas.json`, com duração, volume e energia de cada música. A
|
|
167
|
+
pasta só é criada quando a primeira música entra. O instalador nunca mexe nela.
|
|
168
|
+
|
|
169
|
+
**Como pôr as suas músicas.** Peça na conversa, por exemplo *"guarda esta música como trilha
|
|
170
|
+
animada: /Users/ana/Músicas/pop.mp3"*. A IA copia o arquivo (o original fica onde está), mede e
|
|
171
|
+
anota tudo. Use só música que você tem direito de usar em anúncio: feita por você, comprada com
|
|
172
|
+
licença comercial ou de um banco que libera uso comercial. Diga de onde veio para ficar anotado.
|
|
173
|
+
Também dá para marcar a favorita de cada clima: é ela que entra primeiro.
|
|
174
|
+
|
|
175
|
+
**Músicas feitas com IA na sua conta ElevenLabs** também podem ir para a biblioteca (peça, por
|
|
176
|
+
exemplo, *"gera uma trilha tensa e guarda na biblioteca"*). Elas seguem as regras da ElevenLabs
|
|
177
|
+
logo abaixo: plano pago certo na hora de gerar, uso só nos seus vídeos, sem repassar, vender ou
|
|
178
|
+
juntar em pacote. A biblioteca é sua: não mande a pasta para outras pessoas.
|
|
179
|
+
|
|
180
|
+
## Chaves opcionais
|
|
181
|
+
|
|
182
|
+
Nada disso é necessário. Sem chave, as imagens vêm do Wikimedia Commons (grátis) e a trilha é um
|
|
183
|
+
arquivo seu ou da sua biblioteca de trilhas (ou fica sem trilha).
|
|
184
|
+
|
|
185
|
+
| Chave | Para que serve |
|
|
186
|
+
|---|---|
|
|
187
|
+
| `PEXELS_API_KEY` | Buscar fotos no Pexels (grátis, precisa de cadastro no site do Pexels). |
|
|
188
|
+
| `OPENROUTER_API_KEY` | Gerar imagem com IA pelo OpenRouter (pago por imagem). |
|
|
189
|
+
| `ELEVENLABS_API_KEY` | Gerar trilha (música de fundo) ou um efeito sonoro com IA na sua conta ElevenLabs (pago por uso). Para usar em anúncio, a conta precisa de plano pago. |
|
|
190
|
+
|
|
191
|
+
**Trilha e efeito com IA (ElevenLabs):** são gerados na sua própria conta, com a sua chave, e ficam
|
|
192
|
+
só na pasta `edit` do seu vídeo. Nenhuma música gerada vem junto com a skill. Antes de gerar, a IA
|
|
193
|
+
mostra o custo em créditos e pede o seu ok. Regras da ElevenLabs (lidas em 16/09/2026; elas mudam,
|
|
194
|
+
então confira os termos no site dela antes de anunciar):
|
|
195
|
+
|
|
196
|
+
- Para usar em anúncio, a sua conta precisa estar num plano pago na hora de gerar. No plano grátis
|
|
197
|
+
o uso comercial não é permitido.
|
|
198
|
+
- Pessoa física pode usar do plano Starter para cima. Empresa precisa do Scale (menos de 10
|
|
199
|
+
funcionários), do Business (menos de 50) ou do Enterprise.
|
|
200
|
+
- Vale para anúncio e post na internet. TV, rádio e cinema ficam de fora.
|
|
201
|
+
- O arquivo é só para os seus vídeos: não repasse, não venda e não monte pacote de músicas ou de
|
|
202
|
+
sons com ele.
|
|
203
|
+
- No pedido, nada de nome de artista, banda, compositor, música, álbum, gravadora, filme ou marca,
|
|
204
|
+
nem trecho de letra.
|
|
205
|
+
- A chave é só sua: não mande para ninguém.
|
|
206
|
+
|
|
207
|
+
**Jeito mais fácil:** peça na conversa, por exemplo *"quero usar imagem com IA, minha chave do
|
|
208
|
+
OpenRouter é ..."* ou *"quero trilha com IA, minha chave da ElevenLabs é ..."*. A IA grava a chave
|
|
209
|
+
no arquivo certo para você, sem você mexer em pasta escondida. Faça isso uma vez no Claude Code e
|
|
210
|
+
uma vez no Codex, se usar os dois: cada app tem a sua cópia da skill.
|
|
211
|
+
|
|
212
|
+
Para fazer na mão: crie um arquivo chamado `.env` dentro da pasta da skill
|
|
213
|
+
(`~/.claude/skills/editor-video/.env` e/ou `~/.codex/skills/editor-video/.env`) com uma chave por
|
|
214
|
+
linha:
|
|
215
|
+
|
|
216
|
+
```
|
|
217
|
+
PEXELS_API_KEY=cole_sua_chave_aqui
|
|
218
|
+
OPENROUTER_API_KEY=cole_sua_chave_aqui
|
|
219
|
+
ELEVENLABS_API_KEY=cole_sua_chave_aqui
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
Não mande esse arquivo para ninguém. O instalador mantém o `.env` quando você atualiza, mesmo se a
|
|
223
|
+
atualização falhar no meio.
|
|
224
|
+
|
|
225
|
+
## Atualizar
|
|
226
|
+
|
|
227
|
+
Baixe a versão nova, abra o terminal dentro da pasta dela e rode o mesmo comando:
|
|
228
|
+
|
|
229
|
+
```
|
|
230
|
+
uv run --no-project python install.py
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
Suas chaves no `.env` continuam lá, e a biblioteca de trilhas também (ela fica fora da skill). Feche e
|
|
234
|
+
abra o Claude Code ou o Codex.
|
|
235
|
+
|
|
236
|
+
## Desinstalar
|
|
237
|
+
|
|
238
|
+
Apague a pasta `editor-video` dentro de `~/.claude/skills` e/ou `~/.codex/skills`. A biblioteca de
|
|
239
|
+
trilhas (`~/.editor-video/trilhas`) continua no computador; apague só se não quiser mais as músicas.
|
|
240
|
+
|
|
241
|
+
## Problemas comuns
|
|
242
|
+
|
|
243
|
+
**`command not found: uv` ou "uv não é reconhecido"**
|
|
244
|
+
Feche e abra o terminal. Se continuar, instale de novo (Mac: `brew install uv`; Windows:
|
|
245
|
+
`winget install astral-sh.uv`) e feche todas as janelas do terminal antes de tentar.
|
|
246
|
+
|
|
247
|
+
**`'ffmpeg' não encontrado`**
|
|
248
|
+
Mac: `brew install ffmpeg`. Windows: `winget install Gyan.FFmpeg`. Depois feche e abra o terminal
|
|
249
|
+
e também o Claude Code ou o Codex.
|
|
250
|
+
|
|
251
|
+
**O instalador diz "Este computador não é compatível"**
|
|
252
|
+
A skill funciona em Mac com chip Apple no macOS 13 ou mais novo, em Mac Intel no macOS 14 ou mais novo
|
|
253
|
+
e em Windows 64 bits com Intel ou AMD. Num Mac com macOS antigo, atualize o sistema e rode o instalador de novo.
|
|
254
|
+
|
|
255
|
+
**O instalador diz que não achou o Claude Code nem o Codex**
|
|
256
|
+
Abra o Claude Code ou o Codex pelo menos uma vez (isso cria a pasta de configuração) e rode o
|
|
257
|
+
instalador de novo.
|
|
258
|
+
|
|
259
|
+
**A skill não aparece**
|
|
260
|
+
Feche e abra o app. Confira se existe o arquivo `SKILL.md` em `~/.claude/skills/editor-video` ou
|
|
261
|
+
`~/.codex/skills/editor-video`. Se não existir, rode o instalador de novo.
|
|
262
|
+
|
|
263
|
+
**A primeira transcrição demora muito**
|
|
264
|
+
Na primeira vez a skill baixa o modelo de voz (cerca de 1,6 GB). Aparece "baixando o modelo...
|
|
265
|
+
(só na primeira vez)". Deixe terminar com a internet ligada. Das próximas vezes é rápido.
|
|
266
|
+
|
|
267
|
+
**No Windows a transcrição é lenta**
|
|
268
|
+
No Windows ela roda no processador, sem a aceleração do chip da Apple. É normal levar mais tempo.
|
|
269
|
+
Feche programas pesados enquanto isso.
|
|
270
|
+
|
|
271
|
+
**Mac: erro de permissão, "Operation not permitted" ou o preview diz que não consegue gravar**
|
|
272
|
+
O macOS protege as pastas Mesa, Documentos, Downloads e discos externos. Duas saídas:
|
|
273
|
+
1. Libere: **Ajustes do Sistema > Privacidade e Segurança > Arquivos e Pastas** e ative o acesso
|
|
274
|
+
para o app que você usa (Claude, Codex ou Terminal). Para disco externo, ative "Volumes
|
|
275
|
+
removíveis". Se não resolver, use **Acesso Total ao Disco**. Depois feche e abra o app.
|
|
276
|
+
2. Ou mova os vídeos para outra pasta, como `Filmes`.
|
|
277
|
+
|
|
278
|
+
**O preview não abre**
|
|
279
|
+
Abra no navegador o endereço que a IA mostrou (normalmente `http://127.0.0.1:4830`). Se outra
|
|
280
|
+
edição já estiver aberta, a porta pode ser outra, como 4831. O endereço certo fica anotado em
|
|
281
|
+
`edit/preview_cache/server.json`.
|
|
282
|
+
|
|
283
|
+
**Cliquei em Aprovar e nada aconteceu (Codex)**
|
|
284
|
+
Mande uma mensagem na conversa, por exemplo "pronto". O Codex só vê o que você fez no preview
|
|
285
|
+
quando você escreve.
|
|
286
|
+
|
|
287
|
+
**Cores estranhas em vídeo de iPhone**
|
|
288
|
+
Vídeo gravado em HDR pode ficar com a cor diferente depois do corte. Para os próximos vídeos,
|
|
289
|
+
desligue em **Ajustes > Câmera > Gravar Vídeo > Vídeo HDR**.
|
|
290
|
+
|
|
291
|
+
**O disco está enchendo**
|
|
292
|
+
Depois de terminar um vídeo, você pode apagar as pastas `clips`, `renders` e `preview_cache` dentro
|
|
293
|
+
de `edit`. Elas são só arquivos temporários e a skill recria se precisar.
|
|
294
|
+
|
|
295
|
+
**O instalador falhou no "uv sync"**
|
|
296
|
+
Leia a linha de ERRO do instalador: ela diz se é internet (confira a conexão e rode de novo) ou se
|
|
297
|
+
uma biblioteca não existe para este computador (veja "Do que você precisa").
|
|
298
|
+
|
|
299
|
+
## Privacidade
|
|
300
|
+
|
|
301
|
+
O corte, a transcrição, o recorte da tela verde e a montagem acontecem no seu computador. Só sai para a internet: o download
|
|
302
|
+
do modelo de voz na primeira vez, a busca de imagens (Wikimedia Commons ou Pexels) e, se você
|
|
303
|
+
quiser, o pedido de imagem com IA ao OpenRouter e o pedido de trilha ou efeito à ElevenLabs, na sua
|
|
304
|
+
conta. Nesses pedidos vai só o texto que descreve a imagem ou o som, nunca o seu vídeo.
|
|
305
|
+
|
|
306
|
+
O preview só aceita conexões deste computador e só grava cliques feitos na própria página do
|
|
307
|
+
preview (outro site aberto no navegador não consegue aprovar nem ler a sua edição).
|
|
308
|
+
|
|
309
|
+
## Licença
|
|
310
|
+
|
|
311
|
+
Uso restrito a quem tem acesso ao produto. Veja `LICENSE.md`. Partes de código aberto, fontes, o
|
|
312
|
+
modelo de detecção de rosto, o modelo de recorte da pessoa (tela verde) e os efeitos sonoros incluídos estão
|
|
313
|
+
listados em `THIRD_PARTY_NOTICES.md`.
|
|
314
|
+
|
|
315
|
+
Os 24 efeitos sonoros prontos (`whoosh`, `pop`, `click`, `tick`, `rise`, `cash`, `coin`,
|
|
316
|
+
`notification`, `success`, `error`, `count`, `keyboard`, `snap`, `mouse_click`, `bass_drop`,
|
|
317
|
+
`metal_hit`, `synth_hit`, `flash`, `charge`, `metal_riser`, `wind`, `rewind`, `gears`, `data`) são CC0
|
|
318
|
+
ou de domínio público, ou feitos pelo código do próprio editor, então eles vão junto e você pode usar
|
|
319
|
+
nos seus vídeos, inclusive comerciais, sem pagar e sem dar crédito a ninguém. O comprovante de licença de
|
|
320
|
+
cada som (página de origem, autor, licença, a frase da licença e a data em que ela foi lida) fica em
|
|
321
|
+
`assets/sfx/licencas/`.
|