Comment Écrire des Prompts Seedance 2 Qui Ne Seront Pas Signalés

Ashley Innocent

Ashley Innocent

23 February 2026

Comment Écrire des Prompts Seedance 2 Qui Ne Seront Pas Signalés

Apidog pour les entreprises

Déploiement sur site

SSO & RBAC

Conforme SOC 2

Explorer Apidog Enterprise

Vous avez créé l'invite vidéo IA parfaite. La scène est cinématographique, le travail de caméra est délibéré et les détails visuels sont précis. Vous la soumettez à l'API de Seedance 2 – et elle est rejetée. Aucune explication claire. Aucune violation de politique spécifique. Juste une erreur générique de "politique de contenu".

Cela arrive à 37% des requêtes API de Seedance 2, selon les données d'utilisation des principales plateformes hébergeant le service. Le plus frustrant ? La plupart de ces invites rejetées ne violent en fait pas les politiques de contenu de ByteDance. Elles déclenchent un faux positif dans le filtre de contenu basé sur un LLM qui évalue chaque requête avant que la génération vidéo ne commence.

Contrairement aux filtres traditionnels basés sur des mots-clés, Seedance 2 utilise un modèle linguistique pour interpréter l'intention et le contexte de votre invite entière. Cela crée de nouveaux défis pour les développeurs qui créent des applications au-dessus de l'API : vous ne pouvez pas simplement maintenir une liste noire de mots interdits. Vous devez comprendre comment le filtre lit vos invites comme des scènes.

Ce guide décompose les schémas derrière ce taux de rejet de 37 % et vous montre comment concevoir des invites qui passent la modération de contenu du premier coup. Nous couvrirons l'architecture technique du système de filtrage, les stratégies éprouvées pour construire un contexte sûr, et comment tester systématiquement vos invites à l'aide d'outils de développement API.

💡
Tests à grande échelle ? Téléchargez Apidog pour créer des collections de tests réutilisables pour les invites de l'API Seedance 2. Apidog vous permet de tester des variations, de suivre les schémas de rejet, d'automatiser les tests de régression et de déboguer les réponses API, ce qui est crucial lorsque vous optimisez les invites pour la production.
bouton

Comprendre le système de filtre de contenu de Seedance 2

Comment fonctionne réellement le filtre

La modération de contenu de Seedance 2 ne recherche pas de mots-clés. Elle utilise un grand modèle linguistique pour lire votre invite et évaluer le contexte de la scène que vous décrivez.

Cela change tout concernant l'ingénierie des invites.

Le filtre interprète :

Un mot comme "fusil" ne signalera pas automatiquement votre invite. Mais "une personne tire avec un fusil" sans contexte environnant le fera, car le filtre n'a rien d'autre à analyser qu'une action violente isolée.

Le but n'est pas de supprimer des mots. Le but est de construire un contexte qui soit clairement non-dangereux.

Le processus d'évaluation du LLM

Lorsque vous soumettez une invite via l'API Seedance 2, voici ce qui se passe :

  1. Analyse d'image (si une image est fournie) : La détection de visage s'exécute en premier ; les visages photographiques sont rejetés immédiatement.
  2. Analyse de l'invite : Le LLM lit l'intégralité de votre invite textuelle comme une seule scène.
  3. Classification de l'intention : Le modèle évalue si la scène dépeint un contenu interdit.
  4. Évaluation du contexte : Le modèle vérifie si un cadrage cinématographique/créatif est présent.
  5. Décision finale : Réussite → la génération vidéo commence ; Échec → l'API renvoie une erreur 400.

Ce processus en plusieurs étapes signifie que vous pouvez échouer à différents points de contrôle. Comprendre où votre invite échoue vous aide à la corriger.

Catégories de contenu actuellement interdites

Basé sur les politiques mises à jour de ByteDance (février 2026) :

CatégorieExemplesStatut
Visages humains réelsPhotos de personnes identifiablesStrictement bloqué
Ressemblances de célébritésActeurs nommés, personnalités publiquesBloqué
Personnages protégés par le droit d'auteurDisney, Marvel, etc.Bloqué
Violence sans contexteActions violentes isoléesExamen minutieux
Mineurs dans n'importe quel contexteDescripteurs d'âge + toute actionSensibilité maximale
Contenu politiquePoliticiens nommés, drapeauxBloqué
Contenu expliciteReprésentations sexuelles ou graphiquesBloqué

L'idée clé : le contexte compte plus que le contenu. Une scène de film de guerre historiquement exacte peut passer ; un pistolet isolé sans contexte ne le peut pas.

Tester l'API Seedance 2 avec Apidog

Avant de plonger dans les stratégies d'invite, mettons en place des tests systématiques. Lorsque vous travaillez avec des filtres de contenu, vous devez tester les variations d'invite à grande échelle et suivre ce qui passe ou échoue.

Configuration de l'API Seedance 2 dans Apidog

Étape 1 : Créer un nouveau projet

  1. Ouvrez Apidog et créez un projet nommé "Test API Seedance 2".
  2. Cela permet d'organiser tous vos points de terminaison de génération vidéo.
Créer un nouveau projet sur Apidog

Étape 2 : Configurer l'authentification

L'API Seedance 2 (accessible via des plateformes comme WaveSpeed, fal.ai ou Replicate) utilise généralement l'authentification par jeton Bearer :

  1. Accédez aux paramètres d'environnement dans Apidog.
  2. Ajoutez une variable d'environnement :
Paramètres d'environnement Apidog montrant la configuration de SEEDANCE_API_KEY

Étape 3 : Créer un point de terminaison de génération vidéo

Ajoutez une nouvelle requête POST avec ces paramètres :

Étape 4 : Créer une collection d'invites de test

Créez plusieurs requêtes sauvegardées pour tester les variations d'invite :

{
  "prompt": "plan large cinématographique, grain de film 35mm, anamorphique 2.39:1, un cavalier à cheval dans un vaste paysage enneigé, lumière diffuse et nuageuse, tons désaturés et sourds",
  "duration": 10,
  "aspect_ratio": "16:9",
  "quality": "high"
}

Avec Apidog, vous pouvez :

Essayez Apidog gratuitement pour construire votre flux de travail de test d'invites Seedance 2.

Stratégie 1 : Construire un contexte sûr autour des éléments sensibles

Ne supprimez pas les éléments sensibles de votre scène. N'édulcorez pas les moments dramatiques. Au lieu de cela, entourez-les d'un contexte qui rend l'intention indubitable.

Le problème : les actions isolées

Le LLM lit votre invite entière comme une scène unifiée. Si la scène globale est perçue comme un voyage paisible, un moment culturel ou un récit cinématographique, une seule action en son sein ne la brisera pas.

❌ Invite échouée :

une personne tire avec un fusil en l'air

Pourquoi ça échoue :

Le filtre privilégie la prudence car il n'a rien d'autre à évaluer.

✅ Invite réussie :

un cavalier à cheval galopant à travers un vaste paysage montagneux enneigé, poncho flottant au vent, le cavalier lève un vieux fusil au-dessus de sa tête et tire une fois vers le ciel gris en guise de signal, le son résonnant dans la vallée vide, cinématographique, grain de film 35mm, anamorphique 2.39:1

Pourquoi ça passe :

Même action. Contexte différent. Le LLM lit la scène complète et comprend que vous décrivez un plan de film, pas une représentation de violence réelle.

Le Principe : Ne réduisez pas votre invite, développez-la. Donnez au filtre suffisamment de contexte pour comprendre ce que vous créez.

Stratégie 2 : Décrire les personnages par leur rôle, pas par leur âge

Cette stratégie s'applique lorsque vous utilisez des entrées d'image comme images de référence. Lorsque Seedance 2 a déjà un visuel de votre personnage, vous n'avez pas besoin de décrire qui il est – l'image le fait. Votre invite décrit ce qu'il fait.

Le filtre de protection des mineurs

Seedance 2 dispose de filtres de protection des mineurs extrêmement stricts. Dès que le LLM interprète un personnage comme un enfant, l'ensemble de l'invite est examiné avec une sensibilité maximale, même si l'image aurait pu passer d'elle-même.

Mots qui déclenchent une haute sensibilité :

La solution : descriptions basées sur les rôles

Faites référence au personnage par son rôle dans la scène. L'image porte déjà l'identité visuelle.

❌ Invite échouée (avec entrée d'image) :

un jeune garçon chevauchant un cheval à travers des montagnes enneigées

Pourquoi ça échoue :

✅ Invite réussie (avec la même image) :

un cavalier sur un cheval gris se déplaçant à travers des montagnes enneigées, portant un poncho rayé coloré et des bottes en cuir, une sacoche usée sur le cheval

Pourquoi ça passe :

Plus d'exemples

❌ Échoue :

un enfant seul dans la nature

✅ Réussit :une petite silhouette enveloppée dans une cape de laine, debout dans un vaste paysage montagneux, ciel couvert, plan d'établissement large

Le principe : Lorsque vous utilisez des entrées d'image, laissez l'image véhiculer l'identité. Votre invite décrit l'action et la scène, jamais l'âge du personnage.

Stratégie 3 : Chaque phrase doit construire le contexte

La Stratégie 1 dit de construire le contexte. Cette stratégie dit de ne pas le gaspiller.

Le LLM évalue l'ensemble de votre invite comme une seule scène. Chaque phrase renforce le contexte sûr que vous construisez, ou introduit du bruit que le filtre pourrait mal interpréter.

Ce qu'il faut couper

Ces éléments n'aident pas à passer la modération :

Le filtre ne se soucie pas de pourquoi votre personnage est dans les montagnes. Il se soucie de ce que la caméra voit.

Le Principe : Soyez dense, pas long. Chaque phrase doit soit décrire ce que la caméra voit, soit ancrer la scène comme créative/cinématographique. Si une phrase ne fait ni l'un ni l'autre, coupez-la.

Invites JSON structurées

Une façon d'appliquer cette discipline est de structurer votre invite en JSON. L'API Seedance 2 accepte les invites formatées en JSON, et séparer votre monde visuel de la description de votre plan permet de tout organiser :

{
  "visual_world": {
    "light": "lumière de neige plate et nuageuse, pas de soleil direct, ombres douces et diffuses",
    "color": "tons naturels désaturés et sourds, blancs et gris froids, tons chauds uniquement sur la peau et le tissu",
    "film": "grain 35mm, objectifs vintage Cooke, douce halation sur les hautes lumières, anamorphique 2.39:1",
    "atmosphere": "calme, vaste, isolé"
  },
  "sequence": {
    "duration": "10 secondes",
    "pacing": "commence immobile, monte en coupes rapides, se termine par une immobilité soudaine",
    "shots": {
      "shot_1": {
        "duration": "3 secondes",
        "camera": "statique, fixée, sans mouvement",
        "action": "Cavalier en poncho rayé coloré assis sur un cheval gris au bord d'un ruisseau glacé, cheval buvant, pics enneigés en arrière-plan, ciel couvert, complètement immobile",
        "transition": "CUT BRUT"
      },
      "shot_2": {
        "duration": "3 secondes",
        "camera": "plan large par derrière, angle bas",
        "action": "Cavalier sur cheval gris galopant vite dans la neige profonde, neige projetée, sapins sombres flanquent les deux côtés",
        "transition": "CUT BRUT"
      },
      "shot_3": {
        "duration": "4 secondes",
        "camera": "composition large et fixe, verrouillée",
        "action": "Champ de neige plat et ouvert, un loup gris immobile sur la gauche faisant face à droite, le cavalier sur le cheval arrêté sur la droite faisant face à gauche, tous deux immobiles, vapeur d'haleine s'élevant, immobilité totale"
      }
    }
  }
}

Chaque champ sert un objectif. Rien n'est gaspillé. Le monde visuel définit le contexte cinématographique une seule fois, et chaque plan est une description claire et ciblée de ce que la caméra voit.

Stratégie 4 : Entrées d'image et détection de visage

Seedance 2 détecte activement les visages dans les images téléchargées et les rejette avant même que le LLM n'évalue votre invite. C'est la principale raison de rejet pour les requêtes avec des entrées d'image.

Le système de détection de visage

ByteDance a mis en œuvre une détection faciale stricte en réponse aux préoccupations concernant les deepfakes et à la pression légale des studios d'Hollywood. Le système :

  1. Analyse les images téléchargées pour les traits du visage.
  2. Détecte les visages même de profil ou partiellement obscurcis.
  3. Rejette immédiatement les visages photographiques.
  4. Autorise les visages illustrés/stylisés avec une tolérance variable.

Ce qui est bloqué

❌ Rejet garanti :

✅ Peut passer :

Stratégies de correction

Option 1 : Recadrer pour supprimer les visages

Montrer le personnage de dos :
- Nuque
- Épaules
- Détails vestimentaires
- Environnement autour d'eux

Option 2 : Utiliser des plans larges

Reculez la caméra pour que les traits du visage
ne soient pas détectables par l'algorithme :
- Paysage avec petite silhouette
- Accent sur l'environnement
- Échelle et atmosphère

Option 3 : Remplacer par une illustration

Convertir d'abord la référence photo en style illustré :
- Utilisez un outil IA image-vers-image
- Appliquez des filtres artistiques lourds
- Supprimez les caractéristiques biométriques photoréalistes

Si votre image continue d'être rejetée, le détecteur de visage se déclenche avant que le LLM ne lise votre invite. Corrigez l'image d'abord, puis soumettez-la à nouveau.

Stratégie 5 : Utiliser le langage cinématographique comme ancrage contextuel

Lorsque votre invite ressemble à une direction cinématographique — avec des angles de caméra, des spécifications d'objectif, des descriptions d'éclairage et des rapports d'aspect — le LLM interprète l'intégralité de l'invite comme un contexte de production créative/cinématographique.

Ce contexte est intrinsèquement plus sûr. Les films dépeignent toutes sortes de scènes dramatiques. Le filtre est plus permissif lorsqu'il lit une invite comme une description de plan plutôt que comme un scénario du monde réel.

Vocabulaire cinématographique efficace

Angles et mouvements de caméra :

Objectif et format :

Descripteurs d'éclairage :

Esthétique cinématographique :

Avant et après

❌ Sans cadrage cinématographique :

une personne à cheval tire avec un pistolet dans les montagnes

✅ Avec cadrage cinématographique :

plan large cinématographique, grain de film 35mm, anamorphique 2.39:1, un cavalier à cheval dans un vaste paysage enneigé, lumière diffuse et nuageuse, le cavalier lève un fusil et tire une fois en l'air en guise de signal, fumée s'élevant, son résonnant, tons désaturés et sourds

Même contenu. Mais le cadrage cinématographique indique au LLM : c'est un film, pas une menace.

Le Principe : Langage cinématographique = contexte créatif = tolérance de filtre plus élevée.

Exemples d'implémentation API

Voici comment implémenter ces stratégies lors de l'appel programmatique de l'API Seedance 2.

Exemple Python : Tester les variations d'invite

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):
    """
    Soumet une requête de génération vidéo et renvoie la réponse.
    """
    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} RÉUSSI")
            return response.json()
        else:
            print(f"❌ {test_name} ÉCHOUÉ : {response.status_code}")
            print(f"Erreur : {response.json().get('error', 'Erreur inconnue')}")
            return None

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

# Tester différentes stratégies d'invite
prompts = {
    "minimal_context": "personne tire fusil",

    "basic_context": "chasseur tire fusil dans forêt",

    "cinematic_context": """plan large cinématographique, grain de film 35mm,
    chasseur expérimenté dans une clairière de forêt automnale, lève un fusil vintage
    et tire sur une cible lointaine, lumière de l'heure dorée filtrant à travers les arbres,
    anamorphique 2.39:1, tons terreux sourds"""
}

# Lancer les tests
results = {}
for test_name, prompt in prompts.items():
    results[test_name] = generate_video(prompt, test_name)

# Analyser les résultats
passing_rate = sum(1 for r in results.values() if r is not None) / len(results)
print(f"\nTaux de réussite : {passing_rate * 100:.1f}%")

Exemple JavaScript : Invites JSON structurées

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('Échec de la génération :', error);
    return null;
  }

  return await response.json();
}

// Exemple d'invite structurée
const structuredPrompt = {
  visual_world: {
    light: 'lumière de neige plate et nuageuse, ombres douces et diffuses',
    color: 'tons naturels désaturés et sourds, blancs et gris froids',
    film: 'grain 35mm, objectifs vintage Cooke, anamorphique 2.39:1',
    atmosphere: 'calme, vaste, isolé',
  },
  sequence: {
    duration: '10 secondes',
    shots: {
      shot_1: {
        duration: '5 secondes',
        camera: 'plan large statique, fixe',
        action: 'Cavalier en poncho rayé sur cheval gris au bord d\'un ruisseau glacé, cheval buvant, pics enneigés en arrière-plan, complètement immobile',
      },
      shot_2: {
        duration: '5 secondes',
        camera: 'plan large par derrière, angle bas',
        action: 'Cavalier à cheval galopant dans la neige profonde, neige projetée, sapins sombres flanquant les deux côtés',
      },
    },
  },
};

// Générer la vidéo
const result = await generateVideoWithStructure(structuredPrompt);
console.log('Résultat de la génération vidéo :', result);

Restrictions de contenu actuelles (février 2026)

Basé sur les politiques mises à jour de ByteDance et les rapports de l'industrie, voici les restrictions actuelles :

Strictement interdit

  1. Visages humains réels dans les images : Les visages photographiques sont immédiatement rejetés.
  2. Ressemblances de célébrités : Acteurs, musiciens, personnalités publiques nommées.
  3. Personnages protégés par le droit d'auteur : Disney, Marvel, DC, Nintendo, etc.
  4. Contenu politique : Politiciens nommés, drapeaux, symboles politiques.
  5. Contenu sexuel explicite : Nudité, actes sexuels, imagerie suggestive.
  6. Violence graphique : Gore, torture, violence extrême sans contexte.
  7. Mineurs dans n'importe quel contexte : Tout descripteur d'âge + toute action.

Examen minutieux (contexte requis)

  1. Armes : Nécessitent un cadrage cinématographique clair et un objectif précis.
  2. Scènes de conflit : Nécessitent une esthétique cinématographique et un ancrage créatif.
  3. Figures isolées : Mieux dans un contexte environnemental.
  4. Actions ambiguës : Clarifier avec la description de la scène.

Changements récents (2026)

Contexte légal

ByteDance est soumise à une pression juridique continue de la part des studios d'Hollywood concernant l'utilisation non autorisée de matériel protégé par le droit d'auteur. La Motion Picture Association a déclaré que Seedance 2.0 avait procédé à une "utilisation non autorisée à grande échelle" d'œuvres protégées par le droit d'auteur pour les données d'entraînement.

Ces restrictions sont susceptibles de se renforcer davantage en réponse aux développements juridiques.

Résumé des meilleures pratiques

Faites ceci

Construisez un contexte cinématographique : Utilisez la terminologie du cinéma, les angles de caméra, les descriptions d'éclairage.
Décrivez ce que la caméra voit : Concentrez-vous uniquement sur les éléments visuels.
Utilisez des descriptions de personnages basées sur les rôles : "cavalier", "silhouette", "voyageur" au lieu des âges.
Structurez les invites en JSON : Séparez le monde visuel des descriptions de plans.
Testez systématiquement : Utilisez Apidog pour suivre ce qui passe ou échoue.
Recadrez les visages des images : Montrez les personnages de dos ou en plans larges.
Donnez un objectif clair aux actions : "tire avec un fusil en guise de signal" et non juste "tire avec un fusil".
Utilisez des références illustrées : Les images stylisées passent plus souvent que les photos.

Ne faites pas ceci

N'utilisez pas de descripteurs d'âge : "garçon", "fille", "enfant", "jeune" déclenchent un examen maximal.
N'incluez pas d'histoire de fond : Le filtre ne se soucie pas de la motivation des personnages.
Ne téléchargez pas de visages photographiques : Rejet instantané.
Ne laissez pas les actions ambiguës : Donnez du contexte pour chaque élément dramatique.
Ne sautez pas le cadrage cinématographique : Le langage cinématographique crée un contexte sûr.
N'utilisez pas de mots-clés nus : "personne tire fusil" échouera ; construisez une scène.
Ne faites pas référence à des célébrités : Les personnes nommées ou les personnages protégés par le droit d'auteur sont bloqués.

Prêt à créer des flux de travail fiables de génération vidéo IA ? Téléchargez Apidog pour tester systématiquement les invites de l'API Seedance 2, déboguer les erreurs de modération de contenu et créer des intégrations prêtes pour la production avec des tests visuels et une validation automatisée.

bouton

Pratiquez le Design-first d'API dans Apidog

Découvrez une manière plus simple de créer et utiliser des API

Comment Écrire des Prompts Seedance 2 Qui Ne Seront Pas Signalés