ULC Lab · implementação reproduzível
Laboratório: Agente Claude para Validação de Novos Produtos com Avaliação Automatizada e Apresentação em Vídeo HeyGen
Você terá um agente Claude rodando localmente, capaz de analisar uma ideia de produto, validar critérios de mercado, gerar um relatório e criar um vídeo de apresentação automatizado com HeyGen. Todo o fluxo roda em cerca de 2 horas.

Roteiro para estudo em ambiente de laboratório ou de teste. Execute apenas em equipamentos, redes e contas que você tenha autorização para usar, com backup e homologação próprios. Comandos podem causar indisponibilidade ou perda de dados. Software e marcas citados pertencem aos seus titulares. Termos de Uso.
- Duração estimada
- 120 min
- Passos
- 11
- Validações
- 5
- Versões da documentação consultada
- Python 3.10 ou superior · Claude Agent SDK Python a versão estável atual · Requests a versão estável atual
Demonstrar, de ponta a ponta, como integrar um agente Claude (via Agent SDK Python) com ferramentas externas para validação de novos produtos, avaliação automatizada e geração de vídeo de apresentação usando HeyGen, em ambiente local e seguro. O laboratório cobre desde o prompt de sistema versionado, definição de ferramentas, casos de teste, guardrails, tracing e revisão, até a produção do vídeo, tudo orquestrado em Python.
Topologia
O agente Claude roda em uma VM local (10.0.0.10), recebe prompts do usuário e usa ferramentas Python para buscar dados fictícios de mercado e validar critérios. Após a validação, o agente gera um resumo e envia para a API HeyGen (nuvem, 0.0.0.0/0) para criar o vídeo de apresentação. O resultado final é salvo e exibido localmente.
[Usuário]
|
v
[VM Local: Claude Agent SDK]
|
+---> [Ferramenta: Validação de Produto (Python)]
|
+---> [API HeyGen (Internet)]
|
v
[Arquivo de vídeo gerado]
Equipamentos e software
| Item | Requisito, licença ou versão |
|---|---|
| VM ou notebook x86_64 | 2 vCPU, 4GB RAM, 1 porta aberta para saída HTTP/HTTPS |
| Python | PSF · 3.10 ou superior |
| Claude Agent SDK Python | Apache-2.0 · a versão estável atual |
| Requests | Apache-2.0 · a versão estável atual |
Roteiro
- Preparar ambiente Python isolado
Isolar dependências evita conflitos e facilita a limpeza. Use venv.
python3 -m venv venv source venv/bin/activateO que você deve ver: Prompt do terminal com (venv) à esquerda
- Instalar dependências
Instale o SDK do Claude Agent e Requests para HTTP.
pip install claude-agent-sdk-python requestsO que você deve ver: Mensagens de sucesso de instalação
- Configurar variáveis de ambiente para segredos
Nunca exponha chaves no código. Exporte as chaves da Claude API e HeyGen.
export CLAUDE_API_KEY='SUA_CHAVE_AQUI' export HEYGEN_API_KEY='SUA_CHAVE_AQUI'O que você deve ver: Nenhuma saída (variáveis setadas)
- Criar prompt de sistema versionado
Defina as instruções do agente em português, salve como system_prompt_v1.txt.
echo 'Você é um agente de validação de novos produtos. Analise a ideia, valide critérios de mercado, gere um relatório objetivo e prepare um resumo para apresentação. Use apenas dados fornecidos pelas ferramentas. Não decida sozinho sobre questões legais ou financeiras.' > system_prompt_v1.txtO que você deve ver: Arquivo system_prompt_v1.txt criado
- Definir ferramenta de validação de produto
Implemente uma função Python que simula busca de mercado e valida critérios (nome, segmento, preço EXEMPLO, diferencial).
cat > ferramentas.py <<EOF import random def validar_produto(nome, segmento, preco, diferencial): # EXEMPLO: Simulação de critérios criterios = [] if len(nome) < 3: criterios.append('Nome muito curto') if preco <= 0: criterios.append('Preço inválido') if segmento not in ['tecnologia', 'alimentação', 'serviços']: criterios.append('Segmento não suportado') if not diferencial: criterios.append('Diferencial não informado') mercado = random.choice(['Alta demanda', 'Baixa demanda', 'Concorrência intensa']) return {'criterios': criterios, 'mercado': mercado} EOFO que você deve ver: Arquivo ferramentas.py criado
- Integrar ferramenta ao Claude Agent SDK
Implemente o agente Claude importando o prompt e a ferramenta, expondo a função como ferramenta do agente.
cat > agente.py <<EOF import os from claude_agent_sdk import Agent, Tool, run_agent from ferramentas import validar_produto with open('system_prompt_v1.txt') as f: system_prompt = f.read() class ValidaProdutoTool(Tool): name = 'validar_produto' description = 'Valida critérios de um novo produto.' parameters = { 'nome': str, 'segmento': str, 'preco': float, 'diferencial': str } def run(self, **kwargs): return validar_produto(**kwargs) tools = [ValidaProdutoTool()] def main(): agent = Agent( name='AgenteValidador', instructions=system_prompt, tools=tools ) entrada = { 'nome': 'Café Digital', 'segmento': 'tecnologia', 'preco': 99.9, 'diferencial': 'Integração IA' } resposta = run_agent(agent, entrada) print('Relatório:', resposta) with open('resumo.txt', 'w') as f: f.write(str(resposta)) if __name__ == '__main__': main() EOFO que você deve ver: Arquivo agente.py criado
- Rodar o agente e gerar relatório
Execute o agente para validar o produto e gerar o resumo.
python agente.pyO que você deve ver: Saída com 'Relatório:' e arquivo resumo.txt criado
- Preparar texto para vídeo de apresentação
Extraia o resumo do relatório para um arquivo texto.
tail -n 10 resumo.txt > texto_video.txtO que você deve ver: Arquivo texto_video.txt criado
- Criar script para enviar texto à API HeyGen
Implemente script Python que envia texto para criar vídeo do tipo avatar.
cat > video_heygen.py <<EOF import os, requests, time HEYGEN_API_KEY = os.getenv('HEYGEN_API_KEY') with open('texto_video.txt') as f: script = f.read() headers = {'x-api-key': HEYGEN_API_KEY, 'Content-Type': 'application/json'} data = { 'type': 'avatar', 'avatar_id': 'EXEMPLO_AVATAR_ID', 'script': script, 'voice_id': 'EXEMPLO_VOICE_ID', 'output_format': 'mp4', 'title': 'Apresentação Produto' } r = requests.post('https://api.heygen.com/v3/videos', json=data, headers=headers) video_id = r.json()['data']['video_id'] print('Video ID:', video_id) # Polling para status while True: status = requests.get(f'https://api.heygen.com/v3/videos/{video_id}', headers=headers).json()['data']['status'] print('Status:', status) if status == 'completed': video_url = requests.get(f'https://api.heygen.com/v3/videos/{video_id}', headers=headers).json()['data']['video_url'] break elif status == 'failed': raise Exception('Falha na geração do vídeo') time.sleep(10) # Download resp = requests.get(video_url) with open('apresentacao.mp4', 'wb') as f: f.write(resp.content) print('Vídeo salvo como apresentacao.mp4') EOFO que você deve ver: Arquivo video_heygen.py criado
- Executar criação e download do vídeo
Rode o script e aguarde o download do vídeo de apresentação.
python video_heygen.pyO que você deve ver: Arquivo apresentacao.mp4 salvo localmente
- Revisar vídeo gerado
Abra o vídeo para verificar a apresentação automatizada.
xdg-open apresentacao.mp4O que você deve ver: Vídeo de apresentação do produto exibido
Como saber que funcionou
| Teste | Comando | Critério |
|---|---|---|
| Validação do agente com dados corretos | python agente.py | Relatório sem erros de critérios e resumo.txt criado |
| Validação do agente com dados inválidos | python agente.py # altere preco para -1 em entrada | Relatório aponta 'Preço inválido' |
| Arquivo texto para vídeo criado | cat texto_video.txt | Resumo do relatório presente no arquivo |
| Criação e download do vídeo HeyGen | python video_heygen.py | Arquivo apresentacao.mp4 salvo e reproduzível |
| Revisão manual do vídeo | Vídeo apresenta o resumo do produto de forma clara |
Troubleshooting
| Sintoma | Causa provável | Correção |
|---|---|---|
| Erro de autenticação na Claude API | CLAUDE_API_KEY ausente ou inválida | Verifique a variável de ambiente e a chave |
| Erro 401 ou 400 na API HeyGen | HEYGEN_API_KEY incorreta ou parâmetros obrigatórios faltando | Confirme a chave e os campos avatar_id, voice_id |
| Arquivo apresentacao.mp4 não criado | Falha na geração ou download do vídeo | Revise status do vídeo e conexão de rede |
| Relatório do agente vazio ou incompleto | Prompt de sistema mal formatado ou ferramenta não retornando dados | Ajuste o prompt e revise a função validar_produto |
| Script trava em 'Status: waiting' | Processamento lento na HeyGen | Aguarde mais tempo ou tente novamente |
Segurança e hardening
- Nunca exponha ou compartilhe chaves de API em código ou logs
- Armazene segredos apenas em variáveis de ambiente
- Remova arquivos temporários e segredos após uso
- Limite o acesso à VM ou notebook durante o laboratório
- Não use dados pessoais reais sem base legal
Checklist final
Referências
- Claude Agent SDK Python · Code.claude (code.claude.com)
- HeyGen API Reference · Docs.heygen (docs.heygen.com)
- Python venv · Python Software Foundation (docs.python.org)
- Publicado
- 13/09/2026
- Última revisão
- 13/09/2026
- Versão do conteúdo
- 1.0
- Referências
- 3 oficiais
- Revisão técnica
- redação e revisão por IA, URLs conferidas na publicação
- Status
- Atual
