SeedanceSeedance 2.0 Mini API
← Back to blog
Seedance 2.0 MiniNSFWContent PolicyModeration

Does Seedance 2.0 Mini Support NSFW? Content Policy Explained

Seedance 2.0 Mini's content policy — what's blocked by default, what's available for adult platforms, and how to handle safety filter rejections in your API code.

Short answer: Seedance 2.0 Mini blocks explicit NSFW content by default. The same content policy that applies to Seedance 2.0 Standard applies to Mini — the tier difference affects speed and cost, not content restrictions.

Content Policy by Category

Sexual Content

Content typeDefault APIEnterprise adult tier
Suggestive / implied (clothed, non-explicit)✓ Allowed✓ Allowed
Artistic nudity (classical, non-sexual)Varies by prompt✓ Allowed
Explicit nudity✗ Blocked✓ Available
Explicit sexual acts✗ Blocked✓ Available
Sexual content involving minors (CSAM)✗ Hard block✗ Hard block
Non-consensual scenarios✗ Hard block✗ Hard block

Violence and Gore

Content typePolicy
Action, combat, fight scenes (cinematic)✓ Allowed
Horror imagery, psychological thriller✓ Allowed
Graphic gore, extreme body horror✗ Blocked
Real-person targeting✗ Hard block

Deepfakes and Real People

  • Placing a real person in a sexual scenario → Hard block
  • Generating realistic video of a public figure saying or doing things they didn't → Blocked
  • Clearly stylized content, fictional characters, original character creation → Unrestricted

How the Filter Works in Code

The safety filter triggers during generation, not at submission. Handle it in your polling loop:

import requests
import time

headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer YOUR_ATLASCLOUD_API_KEY"
}

class ContentPolicyError(Exception):
    pass

class GenerationError(Exception):
    pass

def generate_video(prompt: str, **kwargs) -> str:
    payload = {
        "model": "bytedance/seedance-2.0/text-to-video",
        "prompt": prompt,
        "width": kwargs.get("width", 1280),
        "height": kwargs.get("height", 720),
        "duration": kwargs.get("duration", 6),
        "fps": 24,
    }

    r = requests.post(
        "https://api.atlascloud.ai/api/v1/model/generateVideo",
        headers=headers, json=payload
    )
    r.raise_for_status()
    pid = r.json()["data"]["id"]

    while True:
        result = requests.get(
            f"https://api.atlascloud.ai/api/v1/model/prediction/{pid}",
            headers={"Authorization": "Bearer YOUR_ATLASCLOUD_API_KEY"}
        ).json()

        status = result["data"]["status"]
        if status in ["completed", "succeeded"]:
            return result["data"]["outputs"][0]
        elif status == "failed":
            error = result["data"].get("error", "")
            if any(t in error.lower() for t in ["policy", "safety", "nsfw", "blocked", "content"]):
                raise ContentPolicyError(
                    "Prompt blocked by content safety filter. Please revise and try again."
                )
            raise GenerationError(f"Generation failed: {error}")
        time.sleep(2)


try:
    url = generate_video("Your prompt here")
    print("Video:", url)
except ContentPolicyError as e:
    print(f"Content policy: {e}")  # Show user-friendly message
except GenerationError as e:
    print(f"Technical error: {e}")  # Log and alert ops

Note: Update "model" to "bytedance/seedance-2.0-mini/text-to-video" when Mini API is generally available. The content policy and error handling are identical across all tiers.

What You Can Generate on the Default API

The default Seedance 2.0 Mini API is well-suited for creative and commercial content with mature themes:

  • Romance and intimacy scenes (non-explicit)
  • Swimwear, lingerie, and fashion content
  • Action, combat, and thriller sequences
  • Horror and suspense with mature themes
  • Artistic figure studies in appropriate contexts
  • Violence in cinematic narrative contexts

Most e-commerce, social media, advertising, and entertainment production workflows fall comfortably within the default policy.

Enterprise Adult Content Access

If your platform requires explicit content generation (adult entertainment, art platforms, age-verified content services), Atlas Cloud offers enterprise API access with expanded content permissions. Requirements:

  1. Age verification and access controls on your platform
  2. Compliance review by Atlas Cloud
  3. Acceptance of additional terms of service

Standard API keys cannot generate explicit content regardless of prompt phrasing — the restriction is server-side. Contact Atlas Cloud to begin the enterprise review process.

Summary

QuestionAnswer
Does Mini support explicit content?No by default; yes for verified adult platforms
Is the policy different from Standard?No — same policy across all Seedance 2.0 tiers
Can you bypass with prompt engineering?No — enforcement is server-side
Is CSAM ever available?No — hard block across all tiers, no exceptions

Get started with Atlas Cloud → | View pricing