Entrar ou criar conta

Laboratório: Agente de IA para Geração e Análise de Campanhas de Marketing com Claude Agent SDK, ElevenLabs e HeyGen

Você terá um agente de IA funcional que gera textos de campanha, converte em voz e cria um vídeo automatizado, além de analisar resultados simulados. O laboratório leva cerca de 2 horas.

Geração de campanhas e análise de marketing com Claude Agent SDK + OpenAI Agents SDK
Ligado ao treinamento Geração de campanhas e análise de marketing com Claude Agent SDK + OpenAI Agents SDK

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
12
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 orquestrar um agente de IA para marketing usando Claude Agent SDK em Python, integrando geração de texto, voz sintética (ElevenLabs) e vídeo automatizado (HeyGen), com avaliação automática e registro de execuções. O laboratório cobre desde o prompt de sistema versionado até a validação dos resultados, promovendo boas práticas de segurança e operação responsável.

Topologia

O agente Python roda localmente e conecta-se à API Claude (Anthropic) para geração de texto, à API ElevenLabs para síntese de voz e à API HeyGen para criação de vídeo. O usuário interage via terminal. As APIs externas são acessadas via Internet, com endereços de exemplo na faixa 192.168.56.0/24 para a máquina local.


Usuário
   |
[Terminal local]
   |
[Agente Python]
  /   |    \
Claude  ElevenLabs  HeyGen
(API)    (API)       (API)

Equipamentos e software

ItemRequisito, licença ou versão
Notebook ou VM2 vCPU, 4GB RAM, 1 porta Ethernet, Ubuntu 22.04 ou equivalente
PythonPSF · 3.10 ou superior
Claude Agent SDK (Python)Apache-2.0 · a versão estável atual
RequestsApache-2.0 · a versão estável atual

Roteiro

  1. Preparar ambiente Python

    Crie um ambiente virtual para isolar as dependências e evitar conflitos.

    python3 -m venv venv
    source venv/bin/activate

    O que você deve ver: Prompt do terminal indica ambiente virtual ativo.

  2. Instalar dependências

    Instale Claude Agent SDK, requests e dependências necessárias.

    pip install claude-agent-sdk-python requests

    O que você deve ver: Pacotes instalados sem erros.

  3. Configurar variáveis de ambiente

    Defina as chaves de API das três plataformas em variáveis de ambiente para segurança.

    export ANTHROPIC_API_KEY='SUA_CHAVE_CLAUDE'
    export ELEVENLABS_API_KEY='SUA_CHAVE_ELEVENLABS'
    export HEYGEN_API_KEY='SUA_CHAVE_HEYGEN'

    O que você deve ver: Variáveis disponíveis na sessão atual.

  4. Criar prompt de sistema versionado

    Implemente um arquivo de prompt de sistema para o agente, em português, com instruções claras e data de versão.

    echo 'Versão: 2024-06-10
    Você é um agente de marketing. Gere um texto de campanha para o produto X, converta para voz e crie um vídeo curto. Analise resultados simulados e proponha melhorias.' > prompt.txt

    O que você deve ver: Arquivo prompt.txt criado com o conteúdo especificado.

  5. Definir ferramentas do agente

    Implemente funções Python para: gerar texto (Claude), sintetizar voz (ElevenLabs) e criar vídeo (HeyGen), cada uma com contrato claro (parâmetros e retorno).

    # Exemplo de função para Claude
    import os
    from claude_agent_sdk import Agent
    import requests
    
    def gerar_texto_campanha(prompt):
        agent = Agent(name='AgenteMarketing', instructions=prompt)
        resposta = agent.run_sync('Gere um texto de campanha para o produto X.')
        return resposta['output']
    
    # Função ElevenLabs
    def sintetizar_voz(texto):
        url = 'https://api.elevenlabs.io/v1/text-to-speech/EXEMPLO_VOICE_ID'
        headers = {'xi-api-key': os.environ['ELEVENLABS_API_KEY']}
        data = {'text': texto}
        r = requests.post(url, headers=headers, json=data)
        with open('campanha.mp3', 'wb') as f:
            f.write(r.content)
        return 'campanha.mp3'
    
    # Função HeyGen
    def criar_video(audio_path):
        url = 'https://api.heygen.com/v3/videos'
        headers = {'x-api-key': os.environ['HEYGEN_API_KEY']}
        data = {'type': 'avatar', 'avatar_id': 'EXEMPLO_AVATAR_ID', 'audio_url': 'EXEMPLO_URL_AUDIO'}
        r = requests.post(url, headers=headers, json=data)
        return r.json()['data']['video_id']

    O que você deve ver: Funções Python criadas e salvas em um arquivo, sem erros de sintaxe.

  6. Implementar avaliação automática

    Implemente casos de teste com entrada e saída esperada para o texto gerado, voz e vídeo.

    # Exemplo de teste
    entrada = 'Campanha para lançamento de fibra óptica.'
    esperado = 'Conheça a nova fibra óptica da Upnetix...'
    resultado = gerar_texto_campanha(entrada)
    assert esperado.split()[0] in resultado

    O que você deve ver: Testes executados sem falhas (AssertionError).

  7. Adicionar guardrails de entrada/saída

    Implemente validações para garantir que o texto não contenha termos proibidos e que o áudio/vídeo sejam gerados.

    # Exemplo de guardrail
    PROIBIDOS = ['EXEMPLO_PROIBIDO']
    def validar_texto(texto):
        for termo in PROIBIDOS:
            if termo in texto:
                raise ValueError('Termo proibido detectado.')

    O que você deve ver: Função de validação impede uso de termos proibidos.

  8. Registrar execuções (tracing)

    Implemente registro de cada execução em arquivo local, incluindo entradas, saídas e status.

    import json
    def registrar_execucao(entrada, saida, status):
        with open('execucoes.log', 'a') as f:
            f.write(json.dumps({'entrada': entrada, 'saida': saida, 'status': status}) + '\n')

    O que você deve ver: Arquivo execucoes.log criado e atualizado a cada execução.

  9. Executar agente ponta a ponta

    Rode o script principal: leia prompt, gere texto, sintetize voz, crie vídeo e registre tudo.

    python agente_marketing.py

    O que você deve ver: Texto de campanha exibido, arquivo campanha.mp3 salvo, ID do vídeo retornado.

  10. Revisão humana para ação irreversível

    Inclua etapa manual para aprovar envio do vídeo antes de qualquer publicação ou uso externo.

    # Exemplo: input('Aprovar envio do vídeo? (s/n): ')

    O que você deve ver: Execução aguarda aprovação manual antes de prosseguir.

  11. Simular análise de resultados

    Implemente função que recebe dados simulados de campanha e gera análise textual.

    def analisar_resultados(dados):
        if dados['cliques'] > 100:
            return 'Campanha com bom desempenho.'
        else:
            return 'Resultados abaixo do esperado.'

    O que você deve ver: Análise textual exibida conforme dados simulados.

  12. Testar casos de falha

    Altere entradas para provocar erros e valide se guardrails, logs e mensagens de erro funcionam.

    try:
        validar_texto('EXEMPLO_PROIBIDO na campanha')
    except ValueError as e:
        print(e)

    O que você deve ver: Erro detectado e registrado, sem execução indevida.

Como saber que funcionou

TesteComandoCritério
Geração de texto de campanhapython agente_marketing.pyTexto gerado e exibido no terminal.
Arquivo de áudio criadols campanha.mp3Arquivo campanha.mp3 existe e tem tamanho maior que zero.
ID do vídeo retornadogrep 'video_id' execucoes.logID de vídeo presente no log.
Guardrail de termo proibidopython agente_marketing.py # com termo proibidoExecução interrompida e erro registrado.
Registro de execuçõescat execucoes.logEntradas, saídas e status registrados em formato JSON.

Troubleshooting

SintomaCausa provávelCorreção
Erro de autenticação na APIChave de API inválida ou variável de ambiente não definidaVerifique e exporte a chave correta.
Arquivo campanha.mp3 não criadoFalha na chamada à ElevenLabs ou voice_id incorretoConfirme o voice_id e a resposta da API.
ID do vídeo não retornadoParâmetros obrigatórios ausentes na requisição HeyGenInclua avatar_id e audio_url válidos.
Execução não registra no logPermissões de escrita no diretório ou erro no código de loggingAjuste permissões e revise a função registrar_execucao.
Guardrail não bloqueia termo proibidoLista de proibidos não carregada corretamenteGaranta que os termos estejam definidos antes da validação.

Segurança e hardening

  • Nunca inclua chaves de API em arquivos de código ou logs
  • Restrinja permissões do arquivo execucoes.log para acesso apenas do usuário
  • Garanta que dados pessoais só sejam processados com base legal e minimização
  • Valide todas as entradas do usuário antes de enviar a APIs externas
  • Revise manualmente qualquer conteúdo gerado antes de publicação

Checklist final

Referências

  1. Claude Agent SDK (Python) · Code.claude (code.claude.com)
  2. Anthropic API Reference · Platform.claude (platform.claude.com)
  3. ElevenLabs API Reference · Elevenlabs (elevenlabs.io)
  4. HeyGen API Reference · Developers.heygen (developers.heygen.com)
  5. Python Official Documentation · 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
5 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.