Video 9:16 · Contabilidad e impuestos · automático

Lo que dijo la contabilidad de YouTube, en 3 minutos

Los 10 mayores canales brasileños de contabilidad e impuestos de YouTube (Reforma Tributaria, MEI, Simples, nuevas reglas y obligaciones fiscales), transcritos, verificados y resumidos en un video con la fuente en pantalla y Nei comentando.

Banner RADAR CONTABLE: lo que dijeron los 10 mayores canales de contabilidad de YouTube, en 9:16
En resumen

contaviral es un sistema que hace, solo, videos verticales (9:16) de 2 a 3 minutos con el resumen de lo que dijeron los 10 mayores canales brasileños de contabilidad e impuestos de YouTube: nuevas leyes y ordenanzas, la Reforma Tributaria brasileña (IBS y CBS, los nuevos impuestos sobre el consumo, e Imposto Seletivo, el impuesto selectivo) y su impacto en las empresas, MEI (régimen brasileño de microemprendedor individual) y Simples Nacional (régimen tributario simplificado para pequeñas empresas), obligaciones fiscales, IA en los despachos contables. "Mira" los videos a través de la transcripción, separa los hechos y los números con la fuente de cada uno y arma un video con números grandes, sellos (MUDOU A REGRA (cambió la regla), PROPOSTA (propuesta), PRAZO (plazo), ALERTA) y Nei (Nei Maldaner, creador de INEMA) comentando en avatar. Una propuesta se trata como propuesta, la política no tiene bando y nada se convierte en consejo: no sustituye la orientación de un contador. Sirve para contadores y empresarios que quieren saber, en pocos minutos, de qué están hablando los principales canales. Funciona en una computadora con GPU, con la suscripción de Claude Code y de HeyGen.

Qué es

Un radar contable que se arma solo

contaviral lee lo que publicaron los canales, verifica cada hecho contra la transcripción y publica un video listo. El video cuenta lo que dijo cada canal, siempre con la fuente, sin darle consejos a nadie.

Flujo de contaviral: recolección, transcripción, guion, verificación, avatar y publicación

🔎 Solo hechos con fuente

Cada hecho o número tiene que estar en la transcripción, con el fragmento literal. Canal, fecha y título aparecen en pantalla. Ley, ordenanza, alícuota, plazo y valor solo entran tal como los dijo el canal.

📜 Una propuesta no es una regla

Un proyecto, una propuesta o una reglamentación pendiente aparece como PROPOSTA (propuesta), nunca como regla vigente. Todo atribuido a quien lo dijo; nada de "haz esto" para tu caso: cada caso es distinto, habla con tu contador.

🔒 Todo con la suscripción

Guion con claude -p (suscripción, sin API), transcripción local con Whisper y avatar por el estudio de HeyGen. La oferta de cambio de plan de HeyGen siempre se rechaza.

Cómo funciona

De la transcripción a YouTube, sin mano humana en el medio

Etapas encadenadas por auto/rodar.sh. Si la verificación reprueba dos veces, el video no se hace. Un día flojo tampoco se convierte en video: el bot recibe "sin tema".

Recolección→ Transcripción→ Guion→ Verificación→ Avatar→ Video→ YouTube + bot
1

Recolección y transcripción

Lista los videos de los canales de canais.json (solo metadatos, yt-dlp), elige primero el más visto de cada canal (hasta 3 por canal, sin repetir videos ya usados y saltando videos/lives de más de 75 min), toma el subtítulo de YouTube y, si no lo hay, descarga el audio y lo transcribe localmente (inemavox, Whisper large-v3).

2

Guion

claude -p lee las transcripciones y graba base.md (cada hecho, quién lo dijo, el video y el fragmento literal), roteiro.json (textos hablados y visuales) y legenda.txt.

3

Verificación

auto/checar.py verifica los fragmentos en la transcripción, los números escritos en letras en el habla, al menos 5 temas, el aviso "No sustituye la orientación de un contador." y el CTA de inema.club. Si reprueba: vuelve una vez para corrección.

4

Avatar

HeyGen genera el avatar de Nei por el estudio (suscripción). Si falla, sale la versión con la foto y la voz de Nei, que solo va al bot.

5

Video

motor/palco.html se renderiza cuadro a cuadro con Playwright, con contadores, sellos y la fuente en pantalla. La imagen es la miniatura del video del canal.

6

Publicación

En la agenda, el video listo va primero al bot v3 como vista previa; a las 13:00 auto/publicar-pendente.sh lo publica en YouTube INEMA TIA (lives2) mediante yt-pubx y manda el enlace al bot.

Rondas

Tres tipos de ronda

Cada ronda es un modo de auto/rodar.sh. La agenda (timers en systemd/) está activada: la generación corre a las 10:00 y la publicación a las 13:00, fuera de los horarios de los proyectos hermanos que usan la misma GPU y el mismo HeyGen.

Diario
Ronda diarioEl resumen de los diez, 2 a 3 minutos: los videos de ayer y anteayer todavía no usados, con al menos cinco temas (uno por canal siempre que se pueda). Si menos de cinco canales publicaron en esos dos días, la ventana se amplía a cinco días.
Sábado
Ronda semanalBalance de la semana (los 7 días hasta ayer), 2 a 3 minutos. Después, el largo 16:9 "La semana explicada" (5,5 a 7 minutos).
Domingo
Ronda domingoLo que los canales señalan para la próxima semana (plazos, votaciones, reglamentaciones pendientes, etapas de la Reforma), 2 a 3 minutos. Después, el largo 16:9 explicado (5,5 a 7 minutos).
Los 10 canales

A quién sigue contaviral

Elegidos el 27/10/2026 a partir de la lista de Nei, con medición propia (yt-dlp, mediana de vistas de los últimos 15 videos, canal activo y hablado). Quedaron fuera los canales inactivos, de oposiciones, de política o que venden "paga menos impuestos". Detalles en pesquisa/canais.md (en portugués).

🏪 MEI y Simples

Central do Microempreendedor, Sua Contadora, Gerando Empreendedores y Tenha Renda: límite del MEI, plazos, Simples Nacional y lo que la Receita Federal (la agencia tributaria de Brasil) está cambiando.

🏛️ Reforma Tributaria

Flávia Holanda Gaeta (tesis e IBS/CBS), el profesor Fellipe Guerra (Reforma y Simples) y Paulo Henrique Pêgas (serie "3MIN com Pêgas", en el canal IPECRJ TV).

📚 Legislación y fuente oficial

Econet Editora (legislación fiscal y laboral), Contabilidade Facilitada (rutina del contador) y Receita Federal (fuente oficial, no influencer).

Requisitos previos

Lo que tiene que estar en la máquina

contaviral no es una app aislada: usa otras herramientas del ecosistema INEMA, todas en ~/projetos/, en una computadora con GPU. El repositorio queda en ~/projetos/contaviral (los timers de systemd y los enlaces apuntan allí).

Recolección y transcripción

yt-dlp para listar y descargar. inemavox (~/projetos/inemavox, con baixar_v1.py y transcrever_v1.py) es el kit local de descarga y transcripción con Whisper.

Render

Node con Playwright y ffmpeg. motor/node_modules es un enlace a ~/projetos/eventosextremospub/motor/node_modules; sin ese proyecto, ejecuta npm install playwright en motor/.

Guion

claude (Claude Code con sesión iniciada en la suscripción, llamado como claude -p). El largo de fin de semana usa el motor ~/projetos/explicavideos/engine/v2.

Avatar y voz

El estudio de HeyGen abierto en un navegador en pantalla virtual (Xvfb :99), con el perfil ya logueado del proyecto explicavideos. Sin él, la ronda sale con la foto y la voz clonada de Nei (Chatterbox, voz nei, mediante el proyecto ~/projetos/cardshorts).

Publicación

yt-pubx (~/projetos/yt-pubx), la herramienta que publica en YouTube; lives2 es su nombre para el canal INEMA TIA.

Aviso en Telegram

El bot v3 es el bot de Telegram de Nei que recibe cada video y aviso, mediante el script ~/projetos/refazvideo/ferramentas/enviar_bot_v3.mjs.

Guía de uso · paso a paso

Instalar, elegir los canales, probar y ejecutar

Comandos reales del repositorio, ejecutados en la raíz del proyecto.

1

Descargar el proyecto y sus hermanos

contaviral queda en ~/projetos/contaviral y usa proyectos públicos de INEMA a su lado. También necesita yt-dlp, ffmpeg, node y claude con sesión iniciada en la suscripción.

cd ~/projetos
git clone https://github.com/inematds/contaviral
for r in inemavox yt-pubx cardshorts explicavideos refazvideo eventosextremospub; do
  git clone https://github.com/inematds/$r
done
cd ~/projetos/contaviral/motor && npm install playwright && npx playwright install chromium   # render: Playwright + Chromium (el enlace motor/node_modules no viene en el clon)

Cada hermano tiene su propio README con la configuración: las credenciales del canal en yt-pubx, el bot de Telegram en refazvideo, el perfil del estudio HeyGen y la pantalla virtual en explicavideos, la transcripción en inemavox y la voz en cardshorts. La prueba del paso 3 ya necesita inemavox, cardshorts y refazvideo; la publicación necesita todos. Para la prueba con foto, cardshorts debe estar instalado con la voz nei (Chatterbox, en la GPU), como en su README.

2

Elegir los canales

La lista está en canais.json. Para pausar un canal sin borrarlo, usa "ativo": false. El handle es la ruta del canal en YouTube, rk es la etiqueta que aparece en pantalla y lang es el idioma del canal para Whisper (por defecto pt; los diez están en portugués).

{"handle": "channel/UCTRVlQTzYPK88F8saQL9TJQ", "nome": "Fellipe Guerra", "rk": "REFORMA TRIBUTÁRIA · CFC", "lang": "pt", "ativo": true}

Si otro canal consolidado de contabilidad o impuestos se destaca, el sistema sugiere incluirlo en el mensaje del bot (nunca un canal emergente ni quien vende cursos o "paga menos impuestos"). Solo entra con el visto bueno de Nei.

3

Probar sin avatar y sin publicar

Ejecuta una ronda sin HeyGen, sin el largo y sin enviar nada al bot ni a YouTube. Igual usa claude -p (cuota de la suscripción), descarga el audio y ocupa la GPU con Whisper. La terminal queda en silencio: la salida va al log de la edición.

SEM_AVATAR=1 SEM_BOT=1 SEM_LONGO=1 auto/rodar.sh diario   # prueba: sin HeyGen, sin largo y sin enviar
tail -f edicoes/$(date +%F)-diario/rodada.log              # seguir

En la carpeta edicoes/AAAA-MM-DD-diario/ quedan base.md, roteiro.json, legenda.txt, checar.log y el video listo (video.mp4).

4

Ejecutar a mano

Pasa el modo y la fecha. La ronda completa genera el avatar, publica en lives2 y manda al bot. Ejecútala con systemd-run --user (con PATH incluyendo ~/.npm-global/bin y DISPLAY=:99), para no depender de la terminal abierta.

auto/rodar.sh diario 2026-10-27                   # ronda completa (avatar + lives2 + bot)
SEM_AVATAR=1 auto/rodar.sh diario 2026-10-27      # versión con foto, solo para el bot
REUSAR_ROTEIRO=1 auto/rodar.sh diario 2026-10-27  # rehace avatar/video/publicación con el guion ya aprobado
VALIDAR=1 auto/rodar.sh diario 2026-10-27        # edición de prueba (carpeta -validacao), nunca va a YouTube
# lo mismo, sin depender de la terminal abierta:
systemd-run --user --unit contaviral-mao --setenv=PATH=$HOME/.local/bin:$HOME/.npm-global/bin:/usr/local/bin:/usr/bin:/bin --setenv=DISPLAY=:99 /bin/bash ~/projetos/contaviral/auto/rodar.sh diario 2026-10-27

Una ronda manual publica en lives2 en el momento, justo después del avatar. Solo la agenda (timers) espera a las 13:00. Avatar (estudio HeyGen de Nei), el canal INEMA TIA y el bot son cuentas del dueño: quien clona usa sus propias cuentas, configuradas en los proyectos hermanos.

5

Saltar una ronda

Agrega la fecha y el modo en auto/pular.txt.

echo "2026-11-01 semanal" >> auto/pular.txt   # saltar una ronda
6

Activar la agenda y retener una publicación

Generación a las 10:00 (diario de lunes a viernes, semanal el sábado, domingo el domingo) y publicación a las 13:00. Si el video queda listo después de las 13:00 (el estudio de HeyGen se comparte con los proyectos hermanos), sale en el horario del día siguiente, o en el momento con auto/publicar-pendente.sh. Copia las unidades de systemd de usuario y activa los cuatro timers. Para retener la publicación de un video que ya fue al bot como vista previa, crea el archivo SEGURAR en la carpeta de la edición.

cp systemd/contaviral-* ~/.config/systemd/user/ && systemctl --user daemon-reload
systemctl --user enable --now contaviral-diario.timer contaviral-semanal.timer contaviral-domingo.timer contaviral-publicar.timer
systemctl --user list-timers 'contaviral-*'
touch edicoes/2026-10-27-diario/SEGURAR   # no publica esa edición a las 13:00
7

Seguir en Telegram y en YouTube

En la agenda, el bot v3 recibe la vista previa después de las 10:00 y el enlace de INEMA TIA (lives2) después de las 13:00. Una ronda a mano (paso 4) publica en el momento. Si no hay tema o algo falla, el bot recibe el aviso.

Reglas de cada video

Lo que cumple todo video

El guion y el portón de verificación siguen estas reglas.

📌 Fuente en pantalla

Solo entran hechos que están en la transcripción, con canal, fecha y título en pantalla y el fragmento literal en base.md.

🧾 No es consejo

"No sustituye la orientación de un contador." en todo video; el portón reprueba si falta. Cuando el habla dice lo que alguien puede hacer, cierra con "cada caso es distinto: habla con tu contador".

📜 Una propuesta no es una regla

Un proyecto de ley, una propuesta o una reglamentación pendiente aparece como PROPOSTA (propuesta). Ley, ordenanza, alícuota y plazo solo tal como los dijo el canal.

⚖️ Política sin bando

Gobierno, Congreso y elecciones: todo atribuido a quien lo dijo, sin opinión de Nei.

🚫 Sin publicidad

Los cursos, mentorías, despachos o sistemas del influencer no entran, y "paga menos impuestos" no se convierte en titular.

🗣️ Tono de Nei y CTA

Habla en el tono de Nei, directo al espectador, con los números escritos en letras. Al final, una pregunta para comentar y el CTA de inema.club.