Entrar ou criar conta

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.

IA para Negócios: agentes de modelagem, parcerias e novos produtos
Ligado ao treinamento IA para Negócios: agentes de modelagem, parcerias e novos produtos

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.

Status de validaçãoNão validado pela Upnetix: roteiro derivado da documentação oficial, para você executar e validar
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
Objetivo

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

ItemRequisito, licença ou versão
VM ou notebook x86_642 vCPU, 4GB RAM, 1 porta aberta para saída HTTP/HTTPS
PythonPSF · 3.10 ou superior
Claude Agent SDK PythonApache-2.0 · a versão estável atual
RequestsApache-2.0 · a versão estável atual

Roteiro

  1. Preparar ambiente Python isolado

    Isolar dependências evita conflitos e facilita a limpeza. Use venv.

    python3 -m venv venv
    source venv/bin/activate

    O que você deve ver: Prompt do terminal com (venv) à esquerda

  2. Instalar dependências

    Instale o SDK do Claude Agent e Requests para HTTP.

    pip install claude-agent-sdk-python requests

    O que você deve ver: Mensagens de sucesso de instalação

  3. 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)

  4. 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.txt

    O que você deve ver: Arquivo system_prompt_v1.txt criado

  5. 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}
    EOF

    O que você deve ver: Arquivo ferramentas.py criado

  6. 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()
    EOF

    O que você deve ver: Arquivo agente.py criado

  7. Rodar o agente e gerar relatório

    Execute o agente para validar o produto e gerar o resumo.

    python agente.py

    O que você deve ver: Saída com 'Relatório:' e arquivo resumo.txt criado

  8. 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.txt

    O que você deve ver: Arquivo texto_video.txt criado

  9. 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')
    EOF

    O que você deve ver: Arquivo video_heygen.py criado

  10. Executar criação e download do vídeo

    Rode o script e aguarde o download do vídeo de apresentação.

    python video_heygen.py

    O que você deve ver: Arquivo apresentacao.mp4 salvo localmente

  11. Revisar vídeo gerado

    Abra o vídeo para verificar a apresentação automatizada.

    xdg-open apresentacao.mp4

    O que você deve ver: Vídeo de apresentação do produto exibido

Como saber que funcionou

TesteComandoCritério
Validação do agente com dados corretospython agente.pyRelatório sem erros de critérios e resumo.txt criado
Validação do agente com dados inválidospython agente.py # altere preco para -1 em entradaRelatório aponta 'Preço inválido'
Arquivo texto para vídeo criadocat texto_video.txtResumo do relatório presente no arquivo
Criação e download do vídeo HeyGenpython video_heygen.pyArquivo apresentacao.mp4 salvo e reproduzível
Revisão manual do vídeoVídeo apresenta o resumo do produto de forma clara

Troubleshooting

SintomaCausa provávelCorreção
Erro de autenticação na Claude APICLAUDE_API_KEY ausente ou inválidaVerifique a variável de ambiente e a chave
Erro 401 ou 400 na API HeyGenHEYGEN_API_KEY incorreta ou parâmetros obrigatórios faltandoConfirme a chave e os campos avatar_id, voice_id
Arquivo apresentacao.mp4 não criadoFalha na geração ou download do vídeoRevise status do vídeo e conexão de rede
Relatório do agente vazio ou incompletoPrompt de sistema mal formatado ou ferramenta não retornando dadosAjuste o prompt e revise a função validar_produto
Script trava em 'Status: waiting'Processamento lento na HeyGenAguarde 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

  1. Claude Agent SDK Python · Code.claude (code.claude.com)
  2. HeyGen API Reference · Docs.heygen (docs.heygen.com)
  3. Python venv · Python Software Foundation (docs.python.org)
Verificação editorial
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
Encontrou um erro? Escreva para comercial@upnetix.com.br com o endereço da página. A revisão semestral por IA nunca altera comandos ou configurações sem passar pela fila de revisão.