GPT-6 Astra is now live on CometAPI →
technology/Nghiên cứu CometAPI

Cách sử dụng Seedance 2.0 API

Seedance 2.0 API là mô hình tạo video AI đa phương thức mới nhất của ByteDance (ra mắt ngày 9 tháng 4 năm 2026). Nó chấp nhận văn bản, hình ảnh, clip video và âm thanh trong một yêu cầu duy nhất để tạo ra các video MP4 phong cách điện ảnh dài 4–15 giây với đồng bộ âm thanh gốc, điều khiển máy quay ở cấp độ đạo diễn và độ nhất quán chuyển động xuất sắc. Để sử dụng: đăng ký trên CometAPI.com, lấy khóa API, gửi một tác vụ bất đồng bộ qua REST, thăm dò cho đến khi hoàn tất, và tải xuống URL video.

CometAPI
AnnaĐội ngũ nghiên cứu mô hình AI và API
Đã cập nhật Sep 3, 2026 12 phút đọc
Cách sử dụng Seedance 2.0 API
Sử dụng mẫu này

Thực hiện API call đầu tiên.

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_COMETAPI_KEY",
    base_url="https://api.cometapi.com/v1",
)

response = client.chat.completions.create(
    model="gpt-5-mini",
    messages=[{"role": "user", "content": "Build this workflow."}],
)

print(response.choices[0].message.content)

Seedance 2.0, mô hình tạo video đa phương thức chủ lực của ByteDance, đã chính thức ra mắt vào ngày 9 tháng 4 năm 2026 và hiện hoạt động trên các nền tảng lớn bao gồm fal.ai. Công cụ AI mạnh mẽ này biến văn bản, hình ảnh, âm thanh và tham chiếu video thành các đoạn video điện ảnh dài 4–15 giây với đồng bộ âm thanh nguyên sinh, điều khiển máy quay ở cấp đạo diễn và vật lý thế giới thực—tất cả chỉ trong một lần sinh. Dù bạn là nhà phát triển xây dựng quy trình video tự động, marketer tạo nội dung lan truyền hay nhà làm phim dựng thử cảnh, API Seedance 2.0 mang lại kết quả đạt chuẩn sản xuất nhanh hơn bao giờ hết.

Seedance 2.0 là gì? Tính năng và năng lực chính

Seedance 2.0 là mô hình hợp nhất thế hệ mới cho đồng sinh audio‑video đa phương thức của ByteDance. Khác với các phiên bản trước hoặc đối thủ chỉ giới hạn ở văn bản hay một ảnh đầu vào, nó hỗ trợ gốc tối đa 9 hình ảnh + 3 đoạn video + 3 đoạn âm thanh (tổng 12 tư liệu) trong một yêu cầu.

Năng lực cốt lõi gồm:

  • Đồng sinh audio‑video nguyên sinh: Nhạc, hội thoại, hiệu ứng âm thanh và lip‑sync được tạo cùng với video—không cần hậu kỳ.
  • Kiểm soát ở cấp đạo diễn: Chuyển động máy chuẩn xác (dolly zoom, tracking, chuyển POV, cầm tay), ánh sáng, bóng đổ và vật lý.
  • Kể chuyện đa cảnh quay: Cắt cảnh và chuyển cảnh tự nhiên trong các clip 4–15 giây.
  • Thông số đầu ra: MP4 ở 480p/720p, các tỷ lệ khung hình (16:9, 9:16, 1:1, v.v.), độ phân giải lên đến 2K trong một số gói.

Ba chế độ chính:

  • text_to_video: Thuần dựa trên prompt.
  • first_last_frames: 1–2 ảnh làm khung mở đầu/kết thúc.
  • omni_reference: Đa phương thức đầy đủ với cú pháp @reference để kiểm soát chính xác.

Các benchmark trên SeedVideoBench-2.0 cho thấy Seedance 2.0 dẫn đầu về độ ổn định chuyển động, mức độ tuân thủ prompt và tính nhất quán nhân vật so với tiền nhiệm. Nó được định vị như một lựa chọn thay thế Sora mạnh mẽ cho đầu ra điện ảnh, đắm chìm. Tính đến ngày 15 tháng 4 năm 2026, các nhà phát triển báo cáo thời gian sinh dưới 2 phút cho clip 10 giây, với vật lý thế giới thực và chất lượng âm thanh vượt trội so với phiên bản trước.

Bắt đầu: Truy cập Seedance 2.0 API qua CometAPI

Seedance 2.0 có sẵn qua nhiều nhà cung cấp, nhưng CometAPI.com nổi bật đối với nhà phát triển. Là cổng hợp nhất cho 500+ mô hình AI (bao gồm các trình tạo video như Sora 2 và Gemini video), CometAPI cung cấp:

  • Điểm cuối REST tương thích OpenAI.
  • Một khóa API duy nhất cho mọi mô hình.
  • Giá cạnh tranh với tín dụng khởi đầu miễn phí.
  • SDK tích hợp, xử lý job bất đồng bộ và bảng điều khiển sử dụng.
  • Không bị khóa nhà cung cấp—đổi mô hình chỉ bằng cách thay ID mô hình.

Xác thực API và quy trình lõi

Đa số nhà cung cấp dùng REST API dựa trên job bất đồng bộ:

  • POST để tạo tác vụ → trả về task_id.
  • GET /tasks/{task_id} để thăm dò trạng thái (queued → processing → completed).
  • Lấy video_url khi thành công.

Xác thực: Bearer token hoặc header X-API-Key.

Thiết lập từng bước trên CometAPI

1) thiết lập trên CometAPI

Truy cập CometAPI.com và đăng ký (người dùng mới nhận tín dụng miễn phí).

Vào bảng điều khiển → API Tokens → Tạo key mới.

Sao chép khóa sk- của bạn và đặt làm biến môi trường (COMETAPI_KEY).

Dùng điểm cuối hợp nhất kiểu /v1/chat/completions hoặc điểm cuối video chuyên dụng cho Seedance 2.0 (tên mô hình: bytedance/seedance-2.0 hoặc seedance-2-preview).

Cách tiếp cận này tiết kiệm hàng giờ so với việc quản lý nhiều khóa riêng cho fal.ai, PiAPI, v.v. CometAPI cũng cung cấp tuyến độ trễ thấp hơn và gói tín dụng đi kèm, lý tưởng cho mở rộng sản xuất.

2) Chuẩn bị một prompt mạnh

Seedance 2.0 phản hồi tốt nhất khi prompt giống như một bản ghi chú đạo diễn mini. Nêu rõ chủ thể là gì, máy quay phải làm gì, phong cách bạn muốn, điều gì cần giữ nhất quán và điều gì không được thay đổi. Vì mô hình hỗ trợ nhiều tham chiếu, bạn cũng có thể đính kèm tham chiếu khung hình, tham chiếu chuyển động và tham chiếu âm thanh thay vì dồn tất cả vào một prompt văn bản.

Công thức prompt thực tế: chủ thể + hành động + chuyển động máy quay + phong cách thị giác + ánh sáng + ghi chú tham chiếu + ràng buộc. Ví dụ, thay vì viết “một quảng cáo xe hơi phong cách”, hãy viết “một chiếc sedan điện bóng bẩy đậu trên sân thượng ướt át vào ban đêm, dolly‑in chậm, phản chiếu neon, ánh sáng quảng cáo cao cấp, không rung máy, giữ xe ở giữa khung, 16:9.” Loại prompt đó phù hợp hơn nhiều với định vị kiểm soát cấp đạo diễn của mô hình.

3) Gửi yêu cầu sinh bất đồng bộ

Dưới đây là một ví dụ sạch cho yêu cầu theo phong cách Seedance 2.0:

import json
import os
import time

import requests

# Get your CometAPI key from https://www.cometapi.com/console/token, and paste it here
BASE_URL = "https://api.cometapi.com"
OUTPUT_DIR = "./output"
POLL_INTERVAL_SECONDS = 10
RETRY_DELAY_SECONDS = 5
MAX_CREATE_ATTEMPTS = 5
MAX_QUERY_ATTEMPTS = 3
TERMINAL_STATUSES = {"success", "completed", "failed", "error"}
SUCCESS_STATUSES = {"success", "completed"}


def is_progress_complete(progress):
    if isinstance(progress, int):
        return progress >= 100
    if isinstance(progress, float):
        return progress >= 100
    if isinstance(progress, str):
        try:
            return float(progress.rstrip("%")) >= 100
        except ValueError:
            return False
    return False


def is_transient_status(status_code):
    return status_code == 429 or 500 <= status_code < 600


def create_task(files):
    for attempt in range(1, MAX_CREATE_ATTEMPTS + 1):
        response = requests.post(
            f"{BASE_URL}/v1/videos",
            headers=headers,
            files=files,
            timeout=30,
        )
        if response.ok:
            return response
        if not is_transient_status(response.status_code) or attempt == MAX_CREATE_ATTEMPTS:
            response.raise_for_status()
        print(f"Create request returned {response.status_code}, retrying...")
        time.sleep(RETRY_DELAY_SECONDS)

    raise SystemExit("Failed to create task.")


def get_task(task_id):
    for attempt in range(1, MAX_QUERY_ATTEMPTS + 1):
        response = requests.get(
            f"{BASE_URL}/v1/videos/{task_id}",
            headers=headers,
            timeout=15,
        )
        if response.ok:
            return response
        if not is_transient_status(response.status_code) or attempt == MAX_QUERY_ATTEMPTS:
            response.raise_for_status()
        print(f"Status request returned {response.status_code}, retrying...")
        time.sleep(RETRY_DELAY_SECONDS)

    raise SystemExit("Failed to query task.")

if COMETAPI_KEY == "<YOUR_COMETAPI_KEY>":
    print("Set COMETAPI_KEY before running this example.")
    raise SystemExit(0)

headers = {"Authorization": f"Bearer G00igxF5pXVB56lrtvvgn3hGXJA4bsobmX9YMpGukWAwJDiy"}

create_response = create_task(
    {
        "prompt": (None, "A slow cinematic camera push across a coastal landscape at sunrise."),
        "model": (None, "doubao-seedance-2-0"),
        "seconds": (None, "5"),
        "size": (None, "16:9"),
    }
)
create_response.raise_for_status()
create_result = create_response.json()

task_id = create_result.get("id") or create_result.get("task_id")
if not task_id:
    print(json.dumps(create_result, indent=2))
    raise SystemExit("No task id returned.")

print(f"Task created: {task_id}")
print(f"Initial status: {create_result.get('status')}")

while True:
    task_response = get_task(task_id)
    task_response.raise_for_status()
    task = task_response.json()
    status = str(task.get("status") or "unknown")
    normalized_status = status.lower()
    progress = task.get("progress")
    should_try_download = normalized_status in SUCCESS_STATUSES or (
        normalized_status == "unknown" and is_progress_complete(progress)
    )

    print(f"Status: {status}, progress: {progress}")

    if should_try_download or normalized_status in TERMINAL_STATUSES:
        if should_try_download:
            video_url = task.get("video_url") or ""
            content_url = f"{BASE_URL}/v1/videos/{task_id}/content"
            output_path = os.path.join(OUTPUT_DIR, f"{task_id}.mp4")

            os.makedirs(OUTPUT_DIR, exist_ok=True)
            with requests.get(
                content_url,
                headers=headers,
                timeout=120,
                stream=True,
            ) as video_response:
                video_response.raise_for_status()
                with open(output_path, "wb") as output_file:
                    for chunk in video_response.iter_content(chunk_size=8192):
                        if chunk:
                            output_file.write(chunk)

            print(f"Video URL: {video_url}")
            print(f"Content endpoint: {content_url}")
            print(f"Saved to {output_path}")
            print(f"File size: {os.path.getsize(output_path)} bytes")
        else:
            print(json.dumps(task, indent=2))
            raise SystemExit(1)
        break

    time.sleep(POLL_INTERVAL_SECONDS)

Hướng dẫn riêng của CometAPI cho Seedance 2.0 dùng cùng mẫu endpoint và hiển thị các điều khiển output như resolution: "1080p"duration_s: 12 như một phần của cấu trúc yêu cầu.

4) Thăm dò hoàn tất và tải kết quả

Luồng điển hình là: gửi job, lưu task ID, thăm dò trạng thái, rồi lấy URL video. Endpoint tác vụ trả về task ID và trạng thái được kiểm tra với GET /volc/v3/contents/generations/tasks/{task_id} cho đến khi job hoàn tất.

Giải thích các chế độ sinh của Seedance 2.0

ModePhù hợp nhấtVí dụ đầu vàoSố tham chiếu tối đa
text_to_videoPhác ý tưởng nhanhChỉ prompt văn bản0
first_last_framesLên bảng phân cảnh với keyframe1–2 ảnh + prompt2
omni_referenceKiểm soát điện ảnh chuyên nghiệpHình ảnh + video + âm thanh + văn bản12

Từng bước: Text-to-Video với ví dụ mã Python

Dưới đây là một ví dụ Python bạn có thể điều chỉnh:

import osimport timeimport requestsAPI_KEY = os.environ["COMETAPI_API_KEY"]BASE_URL = "https://api.cometapi.com/volc/v3/contents/generations/tasks"headers = {    "Authorization": f"Bearer {API_KEY}",    "Content-Type": "application/json",}payload = {    "model": "doubao-seedance-2-pro",    "content": [        {            "type": "text",            "text": (                "A cinematic drone shot over a rain-soaked neon street at night, "                "slow push-in, realistic reflections, subtle crowd motion."            )        },        {            "type": "image",            "url": "https://example.com/reference-frame.jpg"        }    ],    "output": {        "resolution": "1080p",        "duration_s": 12    }}resp = requests.post(BASE_URL, json=payload, headers=headers, timeout=60)resp.raise_for_status()data = resp.json()task_id = data.get("id") or data.get("task_id")if not task_id:    raise RuntimeError(f"Unexpected response, no task ID found: {data}")status_url = f"{BASE_URL}/{task_id}"for _ in range(60):    status_resp = requests.get(status_url, headers=headers, timeout=30)    status_resp.raise_for_status()    status_data = status_resp.json()    status = status_data.get("status")    if status in {"succeeded", "failed"}:        break    time.sleep(5)print("Final status:", status)if status == "succeeded":    result = status_data.get("result", {})    print("Video URL:", result.get("download_url"))else:    print("Task details:", status_data)

Mẫu này khớp với quy trình bất đồng bộ được tài liệu trên các trang Seedance của CometAPI: gửi job, thăm dò tác vụ, rồi đọc payload kết quả khi job hoàn tất.

Image-to-Video & khung đầu/cuối

Thêm image_urls hoặc reference_images vào payload:

payload = {
    "model": MODEL,
    "prompt": "The character turns and smiles at camera, natural motion",
    "image_urls": ["https://example.com/start-frame.jpg"],  # first frame
    "task_type": "first_last_frames"  # or omni_reference
}

Ví dụ nâng cao đa phương thức Omni-Reference

payload = {
    "model": MODEL,
    "prompt": "A professional chef cooks pasta while explaining steps. Use @image1 for chef face consistency, @video1 for kitchen layout, @audio1 for upbeat Italian music and voiceover.",
    # Upload references via provider dashboard or pre-signed URLs
    "references": {  # Platform-specific field
        "image1": "https://.../chef.jpg",
        "video1": "https://.../kitchen.mp4",
        "audio1": "https://.../music.wav"
    }
}

Thực hành tốt cho Prompt Engineering với Seedance 2.0

  • Hãy cụ thể: “Dolly zoom chậm từ wide sang close‑up, ánh sáng giờ vàng, vật lý chân thực.”
  • Dùng tham chiếu: Luôn tiền tố bằng @assetN.
  • Ngôn ngữ máy quay: “Handheld tracking shot, rack focus, smooth orbit.”
  • Gợi ý âm thanh: “Cắt theo nhịp bass drop, hội thoại rõ với lip‑sync.”
  • Kiểm soát độ dài: Chỉ định “clip 8 giây, 5 cảnh.”

Mẹo nhỏ: Thử prompt trong playground của nhà cung cấp trước (CometAPI hỗ trợ thử chỉ với một cú nhấp).

Bảng so sánh: Seedance 2.0 vs đối thủ hàng đầu (2026)

Tính năngSeedance 2.0Kling 3.0Runway Gen-4Luma Ray 2 / Sora 2
Âm thanh nguyên sinh⭐⭐⭐⭐⭐ (tốt nhất)⭐⭐⭐⭐⭐⭐⭐⭐⭐
Tham chiếu đa phương thứcTối đa 12 tệpHạn chếChỉ hình ảnhThay đổi
Thời lượng tối đa15s10–15s8–16s8–20s
Kiểm soát máy quayCấp đạo diễnMạnhXuất sắcTốt
Nhất quán chuyển độngDẫn đầu ngànhRất tốtTốtXuất sắc
Phù hợp nhấtKể chuyện điện ảnhNhất quán nhân vậtĐánh bóng nghệ thuậtChân thực ảnh

Seedance 2.0 vượt trội về âm thanh nguyên sinh và khả năng kiểm soát đa phương thức.

Tình huống sử dụng thực tế

  • Marketing: Demo sản phẩm với voiceover đồng bộ.
  • Mạng xã hội: Nội dung ngắn lan truyền với nhịp cắt theo nhạc.
  • Tiền kỳ phim: Từ storyboard thành video với nhân vật nhất quán.
  • Giáo dục: Video giải thích hoạt hình với thuyết minh lip‑sync.

Người dùng CometAPI báo cáo tốc độ lặp nhanh hơn 40% nhờ chuyển đổi giữa Seedance 2.0 và các mô hình bổ trợ trong cùng một codebase.

Thực hành tốt, mở rộng và xử lý lỗi

  • Triển khai backoff luỹ thừa cho thăm dò.
  • Dùng idempotency key cho retry.
  • Giám sát sử dụng qua bảng điều khiển CometAPI.
  • Gỡ watermark khả dụng ở một số gói.
  • Tuân thủ kiểm duyệt nội dung (không nội dung bất hợp pháp/lừa đảo).

Đoạn mã xử lý lỗi Python:

try:
    video_url = generate_seedance_video(...)
except requests.exceptions.HTTPError as e:
    if e.response.status_code == 429:
        print("Rate limit – retry after backoff")

Khắc phục sự cố thường gặp

  • Tác vụ kẹt trong hàng đợi: Kiểm tra trạng thái nhà cung cấp; dùng gói nhanh.
  • Độ nhất quán kém: Thêm nhiều ảnh tham chiếu với cú pháp @.
  • Lệch âm thanh: Mô tả rõ nhịp điệu trong prompt.
  • Chi phí cao: Chuyển sang mô hình xem nhanh để thử nghiệm.

Kết luận & Bước tiếp theo

Seedance 2.0 API đánh dấu bước nhảy vọt trong tạo video AI có kiểm soát, ưu tiên âm thanh nguyên sinh. Với các ví dụ mã ở trên và nền tảng hợp nhất CometAPI.com, bạn có thể bắt đầu xây dựng quy trình video sản xuất ngay hôm nay—thường chỉ trong dưới 30 phút.

Sẵn sàng thử? Truy cập CometAPI.com, lấy tín dụng miễn phí và tạo video Seedance 2.0 đầu tiên của bạn ngay. Dù bạn là creator độc lập, agency hay đội ngũ doanh nghiệp, CometAPI mang đến cách tiếp cận Seedance 2.0 và 500+ mô hình khác ít ma sát nhất, giá trị cao nhất.

Bắt đầu xây dựng video AI điện ảnh ngay hôm nay—chiến dịch viral tiếp theo (hoặc tiền kỳ phim truyện) của bạn chỉ cách một lệnh API.

Tiếp tục học

Kết nối bài viết này với quyết định tiếp theo.

Xem tất cả chủ đề
Được xuất bản Apr 17, 2026
Cập nhật lần cuối Sep 3, 2026
728 lượt xem
Đã được xem xét về độ rõ ràng, ghi nguồn và thuật ngữ API hiện tại.

Sẵn sàng giảm 20% chi phí phát triển AI?

Bắt đầu miễn phí trong vài phút. Bao gồm tín dụng dùng thử miễn phí. Không cần thẻ tín dụng.

Đọc thêm