Como Criar Prompts Seedance 2 Que Não Serão Sinalizados

Ashley Innocent

Ashley Innocent

23 fevereiro 2026

Como Criar Prompts Seedance 2 Que Não Serão Sinalizados

Apidog para empresas

Implantação local

SSO & RBAC

Conforme SOC 2

Explorar Apidog Enterprise

Você criou o prompt de vídeo de IA perfeito. A cena é cinematográfica, o trabalho de câmera é intencional e os detalhes visuais são precisos. Você o envia para a API do Seedance 2 — e ele é rejeitado. Nenhuma explicação clara. Nenhuma violação específica de política. Apenas um erro genérico de "política de conteúdo".

Isso acontece em 37% das solicitações da API do Seedance 2, de acordo com dados de uso das principais plataformas que hospedam o serviço. A parte frustrante? A maioria desses prompts rejeitados não viola, de fato, as políticas de conteúdo da ByteDance. Eles acionam um falso positivo no filtro de conteúdo baseado em LLM que avalia cada solicitação antes do início da geração do vídeo.

Ao contrário dos filtros tradicionais baseados em palavras-chave, o Seedance 2 usa um modelo de linguagem para interpretar a intenção e o contexto do seu prompt completo. Isso cria novos desafios para desenvolvedores que constroem aplicativos sobre a API: você não pode simplesmente manter uma lista de bloqueio de palavras proibidas. Você precisa entender como o filtro seus prompts como cenas.

Este guia detalha os padrões por trás dessa taxa de rejeição de 37% — e mostra como projetar prompts que passem na moderação de conteúdo na primeira tentativa. Cobriremos a arquitetura técnica do sistema de filtro, estratégias comprovadas para construir contexto seguro e como testar sistematicamente seus prompts usando ferramentas de desenvolvimento de API.

💡
Testando em escala? Baixe o Apidog para construir coleções de testes reutilizáveis para prompts da API Seedance 2. O Apidog permite testar variações, rastrear padrões de rejeição, automatizar testes de regressão e depurar respostas da API — essencial ao otimizar prompts para produção.
button

Compreendendo o Sistema de Filtro de Conteúdo do Seedance 2

Como o Filtro Realmente Funciona

A moderação de conteúdo do Seedance 2 não busca por palavras-chave. Ele usa um modelo de linguagem grande para ler seu prompt e avaliar o contexto da cena que você está descrevendo.

Isso muda tudo sobre engenharia de prompt.

O filtro interpreta:

Uma palavra como "rifle" não sinalizará automaticamente seu prompt. Mas "uma pessoa atira com um rifle" sem contexto circundante sim — porque o filtro não tem nada para trabalhar, exceto uma ação violenta isolada.

O objetivo não é remover palavras. O objetivo é construir um contexto que seja claramente não prejudicial.

O Processo de Avaliação do LLM

Quando você envia um prompt via API do Seedance 2, é isso que acontece:

  1. Análise de Imagem (se entrada de imagem fornecida): A detecção facial é executada primeiro; rostos fotográficos são rejeitados imediatamente.
  2. Análise do Prompt: O LLM lê seu prompt de texto completo como uma única cena.
  3. Classificação de Intenção: O modelo avalia se a cena retrata conteúdo proibido.
  4. Avaliação de Contexto: O modelo verifica se há enquadramento cinematográfico/criativo presente.
  5. Decisão Final: Aprova → a geração do vídeo começa; Reprova → a API retorna erro 400.

Esse processo em várias etapas significa que você pode falhar em diferentes pontos de verificação. Entender onde seu prompt falha ajuda a corrigi-lo.

Categorias Atuais de Conteúdo Proibido

Com base nas políticas atualizadas da ByteDance (fevereiro de 2026):

CategoriaExemplosStatus
Rostos humanos reaisFotos de pessoas identificáveisBloqueado estritamente
Semelhanças com celebridadesAtores nomeados, figuras públicasBloqueado
Personagens protegidos por direitos autoraisDisney, Marvel, etc.Bloqueado
Violência sem contextoAções violentas isoladasAlto escrutínio
Menores em qualquer contextoDescritores de idade + qualquer açãoSensibilidade máxima
Conteúdo políticoPolíticos nomeados, bandeirasBloqueado
Conteúdo explícitoRepresentações sexuais ou gráficasBloqueado

A principal percepção: o contexto importa mais do que o conteúdo. Uma cena de filme de guerra historicamente precisa pode passar; uma arma isolada sem contexto não pode.

Testando a API Seedance 2 com Apidog

Antes de mergulhar nas estratégias de prompt, vamos configurar testes sistemáticos. Ao trabalhar com filtros de conteúdo, você precisa testar variações de prompt em escala e acompanhar o que passa versus o que falha.

Interface do Apidog mostrando um exemplo de solicitação de API para Seedance 2

Configurando a API Seedance 2 no Apidog

Passo 1: Criar um Novo Projeto

  1. Abra o Apidog e crie um projeto chamado "Seedance 2 API Testing"
  2. Isso mantém todos os seus endpoints de geração de vídeo organizados
Crie um Novo Projeto no apidog

Passo 2: Configurar Autenticação

A API Seedance 2 (acessada via plataformas como WaveSpeed, fal.ai ou Replicate) normalmente usa autenticação por token Bearer:

  1. Navegue até as Configurações de Ambiente no Apidog
  2. Adicione a variável de ambiente:
Configurações de ambiente do Apidog mostrando a configuração de SEEDANCE_API_KEY

Passo 3: Criar Endpoint de Geração de Vídeo

Adicione uma nova solicitação POST com estas configurações:

Passo 4: Construir uma Coleção de Prompts de Teste

Crie várias solicitações salvas para testar variações de prompt:

{
  "prompt": "tomada cinematográfica ampla, grão de filme 35mm, anamórfico 2.39:1, um cavaleiro a cavalo em uma vasta paisagem nevada, luz difusa nublada, tons dessaturados e suaves",
  "duration": 10,
  "aspect_ratio": "16:9",
  "quality": "high"
}

Com o Apidog, você pode:

Experimente o Apidog gratuitamente para construir seu fluxo de trabalho de teste de prompt do Seedance 2.

Estratégia 1: Construa um Contexto Seguro em Torno de Elementos Sensíveis

Não remova elementos sensíveis de sua cena. Não amenize momentos dramáticos. Em vez disso, cerque-os com um contexto que torne a intenção inconfundível.

O Problema: Ações Isoladas

O LLM lê seu prompt inteiro como uma cena unificada. Se a cena geral for lida como uma jornada pacífica, um momento cultural ou uma narrativa cinematográfica — uma ação dentro dela não a quebrará.

❌ Prompt Falho:

uma pessoa atira com um rifle para o céu

Por que falha:

O filtro assume cautela porque não tem mais nada para avaliar.

✅ Prompt Aprovado:

um cavaleiro em um cavalo galopando por uma vasta paisagem de montanhas nevadas, poncho esvoaçando ao vento, o cavaleiro levanta um rifle antigo sobre a cabeça e dispara uma vez para o céu cinzento como um sinal, o som ecoando pelo vale vazio, cinematográfico, grão de filme 35mm, anamórfico 2.39:1

Por que passa:

Mesma ação. Contexto diferente. O LLM lê a cena completa e entende que você está descrevendo uma tomada de filme, não retratando violência no mundo real.

O Princípio: Não simplifique seu prompt — construa-o. Dê ao filtro contexto suficiente para entender o que você está criando.

Estratégia 2: Descreva Personagens por Função, Não por Idade

Essa estratégia se aplica ao usar entradas de imagem como quadros de referência. Quando o Seedance 2 já tem um visual do seu personagem, você não precisa descrever quem ele é — a imagem faz isso. Seu prompt descreve o que eles fazem.

O Filtro de Proteção de Menores

O Seedance 2 possui filtros de proteção de menores extremamente rigorosos. No momento em que o LLM interpreta um personagem como criança, o prompt inteiro é examinado com sensibilidade máxima — mesmo que a imagem tivesse passado por si só.

Palavras que acionam alta sensibilidade:

A Solução: Descrições Baseadas em Função

Refira-se ao personagem pela sua função na cena. A imagem já carrega a identidade visual.

❌ Prompt Falho (com entrada de imagem):

um jovem cavalgando por montanhas nevadas

Por que falha:

✅ Prompt Aprovado (com a mesma imagem):

um cavaleiro em um cavalo cinza se movendo por montanhas nevadas, vestindo um poncho listrado colorido e botas de couro, uma alforje desgastada no cavalo

Por que passa:

Mais Exemplos

❌ Falha:

uma criança sozinha na selva

✅ Passa:

uma pequena figura envolta em um manto de lã, em uma vasta paisagem montanhosa, céu nublado, tomada ampla de estabelecimento

O Princípio: Ao usar entradas de imagem, deixe a imagem carregar a identidade. Seu prompt descreve a ação e a cena — nunca a idade do personagem.

Estratégia 3: Cada Frase Deve Construir Contexto

A Estratégia 1 diz construa contexto. Esta estratégia diz não o desperdice.

O LLM avalia seu prompt inteiro como uma cena. Cada frase ou fortalece o contexto seguro que você está construindo — ou introduz ruído que o filtro pode interpretar mal.

O Que Cortar

Esses elementos não ajudam a passar na moderação:

O filtro não se importa por que seu personagem está nas montanhas. Ele se importa com o que a câmera vê.

O Princípio: Seja denso, não longo. Cada frase deve descrever o que a câmera vê ou ancorar a cena como criativa/cinematográfica. Se uma frase não faz nenhum dos dois, corte-a.

Prompts JSON Estruturados

Uma maneira de impor essa disciplina é estruturar seu prompt como JSON. A API do Seedance 2 aceita prompts formatados em JSON, e separar seu mundo visual de sua descrição de tomada mantém tudo organizado:

{
  "visual_world": {
    "light": "luz de neve nublada e plana, sem sol direto, sombras suaves e difusas",
    "color": "naturais suaves dessaturados, brancos e cinzas frios, tons quentes apenas na pele e tecido",
    "film": "grão de 35mm, lentes Cooke vintage, halo suave nos destaques, anamórfico 2.39:1",
    "atmosphere": "silenciosa, vasta, isolada"
  },
  "sequence": {
    "duration": "10 segundos",
    "pacing": "começa parado, constrói para cortes rápidos, termina em quietude repentina",
    "shots": {
      "shot_1": {
        "duration": "3 segundos",
        "camera": "estática, travada, sem movimento",
        "action": "Cavaleiro com poncho listrado colorido sentado em cavalo cinza ao lado de um riacho gelado, cavalo bebendo, picos nevados ao fundo, céu nublado, completamente parado",
        "transition": "CORTE SECO"
      },
      "shot_2": {
        "duration": "3 segundos",
        "camera": "tomada ampla por trás, ângulo baixo",
        "action": "Cavaleiro em cavalo cinza galopando rápido por neve profunda, neve levantando, pinheiros escuros ladeando ambos os lados",
        "transition": "CORTE SECO"
      },
      "shot_3": {
        "duration": "4 segundos",
        "camera": "composição ampla e imóvel, travada",
        "action": "Campo de neve plano e aberto, um lobo cinza parado à esquerda virado para a direita, o cavaleiro no cavalo parado à direita virado para a esquerda, ambos imóveis, vapor da respiração subindo, quietude total"
      }
    }
  }
}

Cada campo tem um propósito. Nada é desperdiçado. O mundo visual estabelece o contexto cinematográfico uma vez, e cada tomada é uma descrição limpa e focada do que a câmera vê.

Estratégia 4: Entradas de Imagem e Detecção Facial

O Seedance 2 detecta ativamente rostos em imagens carregadas e os rejeita antes mesmo que o LLM avalie seu prompt. Esta é a principal razão de rejeição para solicitações com entradas de imagem.

O Sistema de Detecção Facial

A ByteDance implementou uma detecção facial rigorosa em resposta a preocupações com deepfake e pressão legal de estúdios de Hollywood. O sistema:

  1. Analisa imagens carregadas em busca de características faciais.
  2. Detecta rostos mesmo de perfil ou parcialmente obscurecidos.
  3. Rejeita rostos fotográficos imediatamente.
  4. Permite rostos ilustrados/estilizados com tolerância variável.

O Que É Bloqueado

❌ Rejeição garantida:

✅ Pode passar:

Estratégias de Correção

Opção 1: Cortar para Remover Rostos

Mostre o personagem por trás:
- Parte de trás da cabeça
- Ombros
- Detalhes de roupa
- Ambiente ao redor

Opção 2: Usar Tomadas Amplas

Afaste a câmera para que as características faciais
não sejam detectáveis pelo algoritmo:
- Paisagem com figura pequena
- Ênfase ambiental
- Escala e atmosfera

Opção 3: Substituir por Ilustração

Converta a referência fotográfica para um estilo ilustrado primeiro:
- Use uma ferramenta de IA de imagem para imagem
- Aplique filtros artísticos pesados
- Remova características biométricas fotorrealistas

Se sua imagem continua sendo rejeitada, o detector facial está sendo acionado antes que o LLM leia seu prompt. Corrija a imagem primeiro e depois reenvie.

Estratégia 5: Use a Linguagem Cinematográfica como Âncora de Contexto

Quando seu prompt se parece com uma direção de filme — com ângulos de câmera, especificações de lente, descrições de iluminação e proporções de aspecto — o LLM interpreta o prompt inteiro como um contexto de produção criativa/cinematográfica.

Este contexto é inerentemente mais seguro. Filmes retratam todos os tipos de cenas dramáticas. O filtro é mais permissivo quando lê um prompt como uma descrição de cena em vez de um cenário do mundo real.

Vocabulário Cinematográfico Que Funciona

Ângulos e movimentos de câmera:

Lente e formato:

Descritores de iluminação:

Estética de filme:

Antes e Depois

❌ Sem enquadramento cinematográfico:

uma pessoa a cavalo atira uma arma nas montanhas

✅ Com enquadramento cinematográfico:

tomada cinematográfica ampla, grão de filme 35mm, anamórfico 2.39:1, um cavaleiro a cavalo em uma vasta paisagem nevada, luz difusa nublada, o cavaleiro levanta um rifle e dispara uma vez para o céu como um sinal, fumaça subindo, som ecoando, tons dessaturados e suaves

Mesmo conteúdo. Mas o enquadramento cinematográfico diz ao LLM: isso é um filme, não uma ameaça.

O Princípio: Linguagem de filme = contexto criativo = maior tolerância do filtro.

Exemplos de Implementação da API

Veja como implementar essas estratégias ao chamar a API Seedance 2 programaticamente.

Exemplo Python: Testando Variações de Prompt

import requests
import os

API_KEY = os.environ.get("SEEDANCE_API_KEY")
BASE_URL = "https://api.fal.ai/v1/seedance/video"

def generate_video(prompt, test_name):
    """
    Submit uma requisição de geração de vídeo e retorna a resposta.
    """
    headers = {
        "Authorization": f"Bearer {API_KEY}",
        "Content-Type": "application/json"
    }

    payload = {
        "prompt": prompt,
        "duration": 10,
        "aspect_ratio": "16:9",
        "quality": "high"
    }

    try:
        response = requests.post(BASE_URL, json=payload, headers=headers)

        if response.status_code == 200:
            print(f"✅ {test_name} APROVADO")
            return response.json()
        else:
            print(f"❌ {test_name} REPROVADO: {response.status_code}")
            print(f"Erro: {response.json().get('error', 'Erro desconhecido')}")
            return None

    except Exception as e:
        print(f"❌ {test_name} ERRO: {str(e)}")
        return None

# Testar diferentes estratégias de prompt
prompts = {
    "minimal_context": "pessoa atira com rifle",

    "basic_context": "caçador atira com rifle na floresta",

    "cinematic_context": """tomada cinematográfica ampla, grão de filme 35mm,
    caçador envelhecido em clareira de floresta de outono, levanta rifle vintage
    e atira em alvo distante, luz da hora dourada filtrando pelas árvores,
    anamórfico 2.39:1, tons de terra suaves"""
}

# Executar testes
results = {}
for test_name, prompt in prompts.items():
    results[test_name] = generate_video(prompt, test_name)

# Analisar resultados
passing_rate = sum(1 for r in results.values() if r is not None) / len(results)
print(f"\nTaxa de aprovação: {passing_rate * 100:.1f}%")

Exemplo JavaScript: Prompts JSON Estruturados

const SEEDANCE_API_KEY = process.env.SEEDANCE_API_KEY;
const BASE_URL = 'https://api.fal.ai/v1/seedance/video';

async function generateVideoWithStructure(promptStructure) {
  const response = await fetch(BASE_URL, {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${SEEDANCE_API_KEY}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      prompt: promptStructure,
      duration: 10,
      aspect_ratio: '16:9',
    }),
  });

  if (!response.ok) {
    const error = await response.json();
    console.error('Geração falhou:', error);
    return null;
  }

  return await response.json();
}

// Exemplo de prompt estruturado
const structuredPrompt = {
  visual_world: {
    light: 'luz de neve nublada e plana, sombras suaves e difusas',
    color: 'naturais suaves dessaturados, brancos e cinzas frios',
    film: 'grão de 35mm, lentes Cooke vintage, anamórfico 2.39:1',
    atmosphere: 'silenciosa, vasta, isolada',
  },
  sequence: {
    duration: '10 segundos',
    shots: {
      shot_1: {
        duration: '5 segundos',
        camera: 'tomada ampla estática, travada',
        action: 'Cavaleiro com poncho listrado em cavalo cinza ao lado de riacho gelado, cavalo bebendo, picos nevados ao fundo, completamente parado',
      },
      shot_2: {
        duration: '5 segundos',
        camera: 'tomada ampla por trás, ângulo baixo',
        action: 'Cavaleiro em cavalo galopando por neve profunda, neve levantando, pinheiros escuros ladeando ambos os lados',
      },
    },
  },
};

// Gerar vídeo
const result = await generateVideoWithStructure(structuredPrompt);
console.log('Resultado da geração de vídeo:', result);

Restrições Atuais de Conteúdo (Fevereiro de 2026)

Com base nas políticas atualizadas da ByteDance e relatórios da indústria, aqui estão as restrições atuais:

Estritamente Proibido

  1. Rostos humanos reais em imagens: Rostos fotográficos rejeitados imediatamente.
  2. Semelhanças com celebridades: Atores, músicos, figuras públicas nomeados.
  3. Personagens protegidos por direitos autorais: Disney, Marvel, DC, Nintendo, etc.
  4. Conteúdo político: Políticos nomeados, bandeiras, símbolos políticos.
  5. Conteúdo sexual explícito: Nudez, atos sexuais, imagens sugestivas.
  6. Violência gráfica: Gore, tortura, violência extrema sem contexto.
  7. Menores em qualquer contexto: Qualquer descritor de idade + qualquer ação.

Alto Escrutínio (Contexto Necessário)

  1. Armas: Requerem enquadramento cinematográfico claro e propósito.
  2. Cenas de conflito: Necessitam de estética de filme e ancoragem criativa.
  3. Figuras isoladas: Melhores em contexto ambiental.
  4. Ações ambíguas: Esclarecer com descrição da cena.

Mudanças Recentes (2026)

A ByteDance enfrenta pressão legal contínua de estúdios de Hollywood em relação ao uso não autorizado de material protegido por direitos autorais. A Motion Picture Association afirmou que o Seedance 2.0 se envolveu em "uso não autorizado em larga escala" de obras protegidas por direitos autorais para dados de treinamento.

É provável que essas restrições se tornem ainda mais rigorosas em resposta a desenvolvimentos legais.

Resumo das Melhores Práticas

Faça Isso

Construa contexto cinematográfico: Use terminologia de filme, ângulos de câmera, descrições de iluminação.
Descreva o que a câmera vê: Foque apenas em elementos visuais.
Use descrições de personagens baseadas em função: "cavaleiro", "figura", "viajante" em vez de idades.
Estruture prompts como JSON: Separe o mundo visual das descrições de cena.
Teste sistematicamente: Use Apidog para rastrear o que passa versus o que falha.
Corte rostos das imagens: Mostre personagens por trás ou em tomadas amplas.
Dê propósito claro às ações: "atira com rifle como um sinal" e não apenas "atira com rifle".
Use referências ilustradas: Imagens estilizadas passam mais frequentemente do que fotos.

Não Faça Isso

Não use descritores de idade: "menino", "menina", "criança", "jovem" acionam escrutínio máximo.
Não inclua história de fundo: O filtro não se importa com a motivação do personagem.
Não carregue rostos fotográficos: Rejeição instantânea.
Não deixe ações ambíguas: Dê contexto para cada elemento dramático.
Não ignore o enquadramento do filme: A linguagem cinematográfica cria um contexto seguro.
Não use palavras-chave nuas: "pessoa atira arma" falhará; construa uma cena.
Não faça referência a celebridades: Pessoas nomeadas ou personagens protegidos por direitos autorais são bloqueados.

Pronto para construir fluxos de trabalho confiáveis de geração de vídeo com IA? Baixe o Apidog para testar prompts da API Seedance 2 sistematicamente, depurar erros de moderação de conteúdo e criar integrações prontas para produção com testes visuais e validação automatizada.

button

Pratique o design de API no Apidog

Descubra uma forma mais fácil de construir e usar APIs