Seedance 2.0 API:文档、定价与快速入门指南

E
Emma Chen·阅读约 2 分钟·Jun 12, 2026
分享到 X
Seedance 2.0 API:文档、定价与快速入门指南

最后更新:2026 年 3 月

Seedance 2.0 API 让开发者能够将 AI 视频生成直接集成到他们的应用程序中。本指南涵盖了 API 的实际功能、与替代方案的比较以及如何开始使用。

Seedance 2.0 API 的功能

Seedance 2.0 API 提供编程方式,通过文本提示和图像生成视频。您无需使用 Web 界面,而是通过 HTTP 请求提交生成任务,轮询完成状态,并获取视频 URL。

核心能力:

  • 文本转视频生成(Seedance 2.0 模型)
  • 图像转视频生成(动画化参考图像)
  • 异步任务提交与状态轮询
  • 输出为 MP4 格式,1080p 高清
  • 每次生成最长约 10 秒

不支持的功能:

  • 无实时流式输出(生成需要时间)
  • 无内置视频编辑
  • 无音频生成(与 Google Veo 3 不同)
  • 生成队列时间因负载而异

Seedance API 与竞品 API 对比

在开始构建之前,诚实地比较您的选择是值得的。

API 输出质量 音频 定价模式 访问权限
Seedance 2.0 强(1080p) ❌ 无 基于积分 现已可用
Runway API 电影级 ❌ 无 $0.05-0.10/秒 开发者访问
Kling API 良好运动 ❌ 无 基于积分 可用
Google Veo 3 (Vertex) 最佳质量 ✅ 有 ~$0.35/秒 Google Cloud
Pika API 较低质量 ❌ 无 基于积分 有限

何时选择 Seedance API:

  • 您希望获得良好质量,但不想处理 Google Cloud 的复杂设置
  • 您正在构建需要可靠积分定价的产品
  • 您希望在一个 API 中访问多个模型(Seedance 1.5 用于速度,2.0 用于质量)

何时考虑替代方案:

  • 需要最高质量 → Google Veo 3 (Vertex AI)
  • 需要原生音频生成 → Google Veo 3
  • 需要高级摄像机控制 → Runway API

快速开始

步骤 1:获取 API 密钥

seedance.tv 注册,并导航到您的账户设置。API 访问权限在付费计划中提供,起价为 $9.9/月

将您的 API 密钥存储为环境变量——切勿在源文件中硬编码:

export SEEDANCE_API_KEY="your-api-key-here"

步骤 2:提交生成任务

API 使用异步模式:您提交一个任务并轮询完成状态。

import requests
import time
import os

API_KEY = os.environ["SEEDANCE_API_KEY"]
BASE_URL = "https://api.seedance.tv/v1"

def generate_video(prompt: str, model: str = "seedance-2.0"):
    """提交文本转视频生成任务。"""
    response = requests.post(
        f"{BASE_URL}/videos",
        headers={
            "Authorization": f"Bearer {API_KEY}",
            "Content-Type": "application/json"
        },
        json={
            "prompt": prompt,
            "model": model,
            "aspect_ratio": "16:9",
            "resolution": "1080p"
        }
    )
    response.raise_for_status()
    return response.json()["job_id"]

步骤 3:轮询完成状态

def wait_for_completion(job_id: str, poll_interval: int = 5, timeout: int = 300):
    """轮询直到视频生成完成。"""
    start_time = time.time()
    
    while time.time() - start_time < timeout:
        response = requests.get(
            f"{BASE_URL}/videos/{job_id}",
            headers={"Authorization": f"Bearer {API_KEY}"}
        )
        response.raise_for_status()
        data = response.json()
        
        status = data["status"]
        
        if status == "completed":
            return data["output_url"]
        elif status == "failed":
            raise Exception(f"生成失败:{data.get('error', '未知错误')}")
        
        # 仍在处理中
        print(f"状态:{status}(已耗时 {int(time.time() - start_time)} 秒)")
        time.sleep(poll_interval)
    
    raise TimeoutError(f"生成未在 {timeout} 秒内完成")

# 使用示例
job_id = generate_video("夜间霓虹灯东京街道的慢速推轨镜头,湿路面上的雨反射,电影级 1080p")
video_url = wait_for_completion(job_id)
print(f"视频就绪:{video_url}")

步骤 4:图像转视频

用于动画化参考图像:

def generate_from_image(image_url: str, prompt: str):
    """动画化参考图像。"""
    response = requests.post(
        f"{BASE_URL}/videos",
        headers={
            "Authorization": f"Bearer {API_KEY}",
            "Content-Type": "application/json"
        },
        json={
            "prompt": prompt,
            "model": "seedance-2.0",
            "image_url": image_url,
            "type": "image-to-video",
            "aspect_ratio": "16:9"
        }
    )
    response.raise_for_status()
    return response.json()["job_id"]

API 的提示工程

输出质量很大程度上取决于提示结构。以下是一致有效的模式:

良好的文本转视频提示结构:

[镜头类型],[主体描述],[动作/运动],[环境],[光照],[风格]

示例:

特写跟踪镜头,女人走在阳光明媚的橄榄林中,头发随风飘动,温暖午后阳光穿过树叶,电影级浅景深

浪费 API 积分的常见错误:

过于模糊:

一个美丽的视频

过多竞争元素:

一个男人和一个女人和一只狗在海滩上,还有日落和波浪和远处的山

缺少运动描述:

桌子上的咖啡杯

更好:桌子上的咖啡杯,蒸汽缓缓升起,左侧柔和的自然窗光,微距镜头

选择合适的模型:

模型 使用场景 积分成本
seedance-2.0 最终输出、客户交付物、品牌视频 较高
seedance-1.5 草稿、迭代、测试概念 较低
kling-3.0 动作场景、角色移动 中等
veo-3.1 参考密集型场景、高细节 中等

推荐工作流程: 使用 seedance-1.5 起草,优化提示,然后使用 seedance-2.0 生成最终版本。这可以在迭代过程中降低 API 成本。

宽高比

ASPECT_RATIOS = {
    "landscape": "16:9",   # YouTube、桌面、广告
    "portrait": "9:16",    # TikTok、Instagram Reels、Shorts
    "square": "1:1",       # Instagram 帖子
    "cinema": "21:9"       # 电影级宽屏
}

错误处理

def safe_generate(prompt: str, max_retries: int = 3):
    """使用重试逻辑处理瞬时故障。"""
    for attempt in range(max_retries):
        try:
            job_id = generate_video(prompt)
            return wait_for_completion(job_id)
        except requests.HTTPError as e:
            if e.response.status_code == 429:
                # 速率限制——退避
                wait = 30 * (attempt + 1)
                print(f"速率限制。等待 {wait} 秒...")
                time.sleep(wait)
            elif e.response.status_code == 402:
                raise Exception("积分不足。请在 seedance.tv 充值")
            else:
                raise
        except TimeoutError:
            if attempt < max_retries - 1:
                print(f"第 {attempt + 1} 次尝试超时,正在重试...")
            else:
                raise
    raise Exception("超过最大重试次数")

速率限制和积分使用

  • 速率限制: 因计划而异。查看您的仪表板了解当前限制。
  • 每次生成的积分: 取决于模型、时长和分辨率。仪表板显示实时积分余额。
  • 生产环境最佳实践: 实施任务队列,而不是同时提交大量请求。错开提交可以避免速率限制错误,并且更具成本效益。

此 API 非常适合的用例

产品视频自动化: 电商平台大规模从产品图像生成视频。输入产品图像 + 品牌语音提示 → 为每个 SKU 自动生成视频片段。

社交媒体管道: 计划内容系统,根据批准的提示列表生成一周的视频内容。结合视频队列工具实现无人值守发布。

广告创意测试: 营销工具生成同一概念的多种视觉解释以进行 A/B 测试。一次批量生成 5 个广告概念变体。

原型生成: 设计和产品团队在投入生产之前生成概念视频。对于早期可视化,比传统制作便宜得多。

构建简单的视频生成管道

import json
from pathlib import Path

def batch_generate(prompts: list[dict], output_dir: str = "./videos"):
    """从提示配置列表生成多个视频。"""
    Path(output_dir).mkdir(exist_ok=True)
    results = []
    
    for i, config in enumerate(prompts):
        print(f"生成中 {i+1}/{len(prompts)}{config['name']}")
        
        try:
            # 草稿使用快速模型,最终使用高级模型
            model = "seedance-2.0" if config.get("final") else "seedance-1.5"
            job_id = generate_video(config["prompt"], model=model)
            url = wait_for_completion(job_id)
            
            results.append({
                "name": config["name"],
                "url": url,
                "status": "success"
            })
            print(f"  ✓ {url}")
            
        except Exception as e:
            results.append({
                "name": config["name"],
                "error": str(e),
                "status": "failed"
            })
            print(f"  ✗ 失败:{e}")
        
        # 提交之间稍作延迟
        time.sleep(2)
    
    # 保存结果
    with open(f"{output_dir}/results.json", "w") as f:
        json.dump(results, f, indent=2)
    
    return results

# 使用示例
prompts = [
    {"name": "hero-shot", "prompt": "...", "final": True},
    {"name": "product-demo", "prompt": "...", "final": False},
]
results = batch_generate(prompts)

常见问题

Seedance 2.0 有官方的公共 API 吗?

Seedance 作为付费计划的一部分提供 API 访问权限。请查看 seedance.tv 上的开发者文档,了解当前的访问详情和端点规范。

定价如何运作?

API 使用从您的积分余额中扣除。不同模型每次生成的积分成本不同。请查看您的仪表板了解每个模型的当前积分费率。

每个视频的生成时间是多少?

通常为 30 秒到 3 分钟,具体取决于模型复杂度和队列负载。Seedance 1.5 更快;Seedance 2.0 需要更长时间但质量更高。

我可以生成超过 10 秒的视频吗?

目前单次 API 调用不支持。对于更长的内容,生成多个片段并使用视频处理库(如 moviepyffmpeg)在您的应用程序中拼接它们。

输出是否适合商业用途?

请查看 seedance.tv 上的当前服务条款,了解商业许可详情。通常,付费计划生成的内容已获得商业使用许可。

Seedance API 与 Runway 的 API 相比如何?

Runway 的 API($0.05-0.10/秒)提供更高级的摄像机控制和 Gen-3 Alpha 模型。Seedance API 使用基于积分的定价,这在预算规划中更可预测。Runway 在电影级润色和摄像机控制方面胜出;Seedance 在模型多样性和定价清晰度方面胜出。对于大多数开发者,建议在您的特定用例上尝试两者——结果因内容类型而异。


开始构建

准备好将 AI 视频集成到您的应用程序中了吗?

在 Seedance 注册 → — 获取免费积分以测试 API,付费计划起价 $9.9/月

准备好创作自己的 AI 视频了吗?

使用 Seedance 将创意、文字提示和图片变成精致视频。如果本文对你有帮助,下一步就是亲自试用产品。

注册即送免费积分,套餐每月 $20 起。