The video factory with agents|INEMA.CLUB-PRO

Lesson 7 · 14 min

Talking avatar: studio, voice and consent

A talking avatar is the most expensive step in the factory and the most sensitive: it's a person's face and voice. In this lesson you'll see how the studio fits into the pipeline and write two pieces of your own: the avatar's consent form and a gate that doesn't let any generation start without a valid consent form.

Start the lesson
A recording corner with a cinema camera on a tripod pointed at an empty chair in front of a gray backdrop, and a consent form with illegible text on the table.

In this lesson you will

  1. 1Whose avatar it can be: only the person's own, with a consent form
  2. 2The seven fields of the consent form: person, what it authorizes, use, languages, validity, revocation and label
  3. 3A gate in a script before the studio, because the engine's own is just a written rule
  4. 4HeyGen's Avatar V as a dated example (Apr/2026), not as a fixed step

Goal: write the consent form for your avatar and put in a gate that closes any generation without a valid consent form.

01The path to the studio

Click each step. The studio only opens after the gate.

Click each block in the diagram to see what it does.

explicavideos and refazvideo ask for the APROVADO_HEYGEN file before start, but the code doesn't check it. The gate in this lesson is the one that really closes.

02The studio, in Oct/2026

Dated example: names and features change. What doesn't change is the consent form.

1. HeyGen

Avatar V, introduced in Apr/2026: identity created from about 15 s of footage, separating identity from appearance; in May/2026, motion direction in natural language (research §3). It's the studio INEMA's engines use, through the subscription.

03The consent form

Fictional example in the kit. Yours is the same, with your own details.

File · kit/exemplos/a7-termo/termo.md
# Termo de uso de avatar e voz (exemplo fictício)
Pessoa: Ana Exemplo
Autoriza: a própria Ana, dona do canal, autoriza avatar com o rosto dela e a voz clonada dela
Uso: vídeos dos cursos gratuitos do canal dela e cortes desses vídeos
Idiomas: português, inglês e espanhol
Validade: 31/12/2027
Revogação: pedido por escrito; vídeos novos param no mesmo dia, os publicados saem em até 30 dias
Rótulo: "Avatar e voz gerados por IA com autorização de Ana Exemplo" no canto do vídeo e na descrição
Terminal · check the consent form
K=~/projetos/formacao-cinema-ia-fabrica-v72/kit
python3 "$K/conferir-consentimento.py" "$K/exemplos/a7-termo/termo.md"; echo "saída: $?"
python3 "$K/conferir-consentimento.py" "$K/exemplos/a7-termo/termo-sem-rotulo.md"; echo "saída: $?"
Example from the repository
OK: termo de Ana Exemplo · 7 campos · válido até 31/12/2027
saída: 0
FALTA: Rótulo
saída: 1

The second file is the same consent form without the Rótulo line. The field labels also work in English and Spanish (Person, Label, Etiqueta…).

04The gate

The script doesn't call any studio: it only decides whether you can open the studio and how many seconds you will ask for.

File · kit/portao-avatar.sh
#!/usr/bin/env bash
# portao-avatar.sh — porta de entrada de qualquer geração de avatar: sem termo conferido, nada segue.
# Uso: bash portao-avatar.sh <termo.md> <roteiro.txt>
# Não chama estúdio nenhum: só decide se você PODE abrir o estúdio, e quantos minutos vai pedir.
K=$(cd "$(dirname "$0")" && pwd)
termo="${1:?uso: portao-avatar.sh <termo.md> <roteiro.txt>}"; roteiro="${2:?falta o roteiro}"
python3 "$K/conferir-consentimento.py" "$termo" || { echo "PORTÃO FECHADO: corrija o termo antes de gerar"; exit 1; }
p=$(wc -w < "$roteiro")
echo "roteiro: $p palavras ≈ $(( (p * 60 + 139) / 140 )) s a 140 palavras/min"
echo "PORTÃO ABERTO: pode levar ao estúdio (a geração gasta crédito: confira o plano antes)"
Terminal · gate open and closed
K=~/projetos/formacao-cinema-ia-fabrica-v72/kit; X=$K/exemplos/a7-termo
bash "$K/portao-avatar.sh" "$X/termo.md" "$X/roteiro.txt"; echo "saída: $?"
bash "$K/portao-avatar.sh" "$X/termo-sem-rotulo.md" "$X/roteiro.txt"; echo "saída: $?"
Example from the repository
OK: termo de Ana Exemplo · 7 campos · válido até 31/12/2027
roteiro: 37 palavras ≈ 16 s a 140 palavras/min
PORTÃO ABERTO: pode levar ao estúdio (a geração gasta crédito: confira o plano antes)
saída: 0
FALTA: Rótulo
PORTÃO FECHADO: corrija o termo antes de gerar
saída: 1

Put the gate call as the first line of your production script, before start: with set -e, exit code 1 stops everything.

05Practice

Your consent form and your gate.

E1 · Checker

5 min

Run "check the consent form".

Done when: OK: termo de Ana Exemplo · 7 campos · válido até 31/12/2027 with saída: 0, and FALTA: Rótulo with saída: 1.

E2 · Your consent form

15 min

Write ~/meu-termo.md with the seven fields, using your own details and whatever expiration date makes sense for you.

Done when: python3 ~/projetos/formacao-cinema-ia-fabrica-v72/kit/conferir-consentimento.py ~/meu-termo.md; echo "saída: $?" → OK: termo de [your name] · 7 campos · válido até … and saída: 0.

E3 · Gate on your script

5 min

Run the gate with your consent form and one of your own scripts as a text file.

Done when: bash ~/projetos/formacao-cinema-ia-fabrica-v72/kit/portao-avatar.sh ~/meu-termo.md [your-script.txt]; echo "saída: $?" → PORTÃO ABERTO and saída: 0.

06Lesson quiz

The explanation appears after you answer.

Question 1 of 3

A client asks for a video with the avatar of a famous presenter. What does this lesson's consent form allow?

07In three sentences

Personthe avatar and voice belong to the person themselves, with their own consent form.
Consent formseven fields, checked by script, with a label that mentions AI.
Gatecode 1 without a valid consent form; the studio only after that.

Going further

Previous lessonNext lesson