GPT-6 Astra is now live on CometAPI →
technology/أبحاث CometAPI

كيفية استخدام Seedance 2.0 API

Seedance 2.0 API هو أحدث نموذج توليد فيديو متعدد الوسائط بالذكاء الاصطناعي من ByteDance (أُطلق في 9 أبريل 2026). يقبل النصوص والصور ومقاطع الفيديو والصوت في طلب واحد لإنتاج فيديوهات MP4 سينمائية مدتها 4–15 ثانية مع مزامنة صوتية أصلية، وتحكم في الكاميرا بمستوى المخرج، واتساق استثنائي للحركة. لاستخدامه: سجّل في CometAPI.com، واحصل على مفتاح API، وقدّم مهمة غير متزامنة عبر REST، واستعلم بشكل متكرر حتى الاكتمال، ثم نزّل الفيديو من عنوان URL.

CometAPI
Annaفريق أبحاث نماذج AI وAPI
تم التحديث Sep 3, 2026 9 دقائق للقراءة
كيفية استخدام Seedance 2.0 API
استخدم هذا النمط

أجرِ أول استدعاء لـ API.

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، نموذج توليد الفيديو متعدد الوسائط الرائد من ByteDance، أُطلق رسميًا في 9 أبريل 2026، وهو متاح الآن عبر المنصات الرئيسية بما في ذلك fal.ai. يحوّل هذا الأداة القوية المعتمدة على الذكاء الاصطناعي النصوص والصور والمراجع الصوتية والمرئية إلى مقاطع سينمائية مدتها 4–15 ثانية مع مزامنة صوت أصلية، وتحكم على مستوى المخرج في الكاميرا، وفيزياء واقعية—وكل ذلك في تمريرة توليد واحدة. سواءً كنت مطورًا تبني تدفقات عمل فيديو مؤتمتة، أو مسوّقًا ينشئ محتوى فيروسيًا، أو صانع أفلام يختبر نماذج للمشاهد، فإن Seedance 2.0 API يوفّر نتائج بجودة الإنتاج أسرع من أي وقت مضى.

ما هو Seedance 2.0؟ الميزات والقدرات الرئيسية

Seedance 2.0 هو نموذج الجيل التالي الموحد من ByteDance للتوليد المشترك للصوت والفيديو متعدد الوسائط. وعلى عكس الإصدارات السابقة أو المنافسين المقيّدين بإدخالات نصية أو صورة واحدة، فهو يدعم أصلاً حتى 9 صور + 3 مقاطع فيديو + 3 مقاطع صوت (إجمالي 12 أصلًا) في طلب واحد.

تشمل القدرات الأساسية:

  • التوليد المشترك للصوت والفيديو بشكل أصلي: الموسيقى، والحوار، والمؤثرات الصوتية، ومزامنة حركة الشفاه تُنشأ مع الفيديو—لا حاجة لمرحلة ما بعد الإنتاج.
  • تحكم على مستوى المخرج: حركات كاميرا دقيقة (dolly zoom، لقطات تتبع، تبديل POV، لقطات محمولة باليد)، الإضاءة، الظلال، والفيزياء.
  • سرد متعدد اللقطات: قصّات وانتقالات طبيعية ضمن مقاطع 4–15 ثانية.
  • مواصفات الإخراج: MP4 بدقة 480p/720p، نسب عرض إلى ارتفاع (16:9، 9:16، 1:1، إلخ)، دقة حتى 2K في بعض الشرائح.

أنماط العمل الثلاثة الرئيسية:

  • text_to_video: معتمد على النص فقط.
  • first_last_frames: صورتان كإطارَي البداية/النهاية.
  • omni_reference: متعدد الوسائط كامل مع بنية @reference للتحكم الدقيق.

تُظهر اختبارات SeedVideoBench-2.0 أن Seedance 2.0 يتصدر في ثبات الحركة، والالتزام بالموجهات، واتساق الشخصيات مقارنةً بسابقيه. ويتموضع كبديل قوي لـ Sora لمخرجات سينمائية غامرة. حتى 15 أبريل 2026، ذكر المطورون أزمنة توليد تقل عن دقيقتين للمقاطع ذات 10 ثوانٍ، مع فيزياء واقعية وجودة صوتية متفوقة مقارنة بالسابق.

البدء: الوصول إلى Seedance 2.0 API عبر CometAPI

يتوفر Seedance 2.0 عبر مزودين متعددين، لكن CometAPI.com يبرز للمطورين. كبوابة موحدة لأكثر من 500 نموذج ذكاء اصطناعي (بما في ذلك مولدات الفيديو مثل Sora 2 وGemini video)، يقدّم CometAPI:

  • واجهات REST متوافقة مع OpenAI.
  • مفتاح API واحد لجميع النماذج.
  • تسعير تنافسي مع أرصدة مجانية للمبتدئين.
  • SDKs مدمجة، معالجة مهام غير متزامنة، ولوحات مراقبة للاستخدام.
  • بلا قفل مورّد—بدّل النماذج عبر تغيير معرف النموذج فقط.

المصادقة على API وسير العمل الأساسي

تستخدم معظم المزودات واجهات REST قائمة على المهام غير المتزامنة:

  • POST لإنشاء مهمة → يعيد task_id.
  • GET /tasks/{task_id} للاستطلاع على الحالة (queued → processing → completed).
  • استرجاع video_url عند النجاح.

المصادقة: ترويسة Bearer token أو X-API-Key.

الإعداد خطوة بخطوة على CometAPI

1) الإعداد على CometAPI

قم بزيارة CometAPI.com وسجّل حسابًا (يحصل المستخدمون الجدد على أرصدة مجانية).

اذهب إلى لوحة التحكم → API Tokens → Create new key.

انسخ مفتاح sk- واضبطه كمتغير بيئة (COMETAPI_KEY).

استخدم نقاط النهاية الموحدة بأسلوب /v1/chat/completions أو نقاط الفيديو المخصصة لـ Seedance 2.0 (اسم النموذج: bytedance/seedance-2.0 أو seedance-2-preview).

يوفّر هذا النهج ساعات من الوقت مقارنة بإدارة مفاتيح منفصلة لـ fal.ai وPiAPI، إلخ. كما يوفّر CometAPI مسارات منخفضة الكمون وأرصدة مجمّعة ملائمة للتوسع الإنتاجي.

2) أعد صياغة موجّه قوي

يستجيب Seedance 2.0 بشكل أفضل عندما يتصرف الموجّه كملخص مخرج صغير. اذكر ما هو الموضوع، وماذا يجب أن تفعل الكاميرا، وما النمط الذي تريده، وما الذي يجب أن يبقى ثابتًا، وما الذي يجب ألا يتغير. وبما أن النموذج يدعم مراجع متعددة، يمكنك أيضًا إرفاق مرجع إطار، ومرجع حركة، ومرجع صوت بدلًا من حشر كل شيء في موجّه نصي واحد.

صيغة عملية للموجّه تبدو هكذا: الموضوع + الفعل + حركة الكاميرا + الأسلوب البصري + الإضاءة + ملاحظات المرجع + القيود. على سبيل المثال، بدلًا من كتابة “إعلان سيارة أنيق”، اكتب “سيارة سيدان كهربائية لامعة متوقفة على سطح مبتل ليلًا، دفع بطيء للكاميرا إلى الداخل، انعكاسات نيون، إضاءة إعلان تجاري فاخرة، بلا اهتزاز كاميرا، أبقِ السيارة في المنتصف، 16:9.” هذا النوع من الموجهات يتوافق بشكل أفضل مع تموضع النموذج على مستوى المخرج.

3) إرسال طلب توليد غير متزامن

إليك مثال curl نظيف لطلب بأسلوب 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)

يتبع الدليل الخاص بـ CometAPI لـ Seedance 2.0 نمط نقاط النهاية نفسه ويُظهر عناصر تحكم output مثل resolution: "1080p" وduration_s: 12 كجزء من بنية الطلب.

4) الاستطلاع حتى الاكتمال وتنزيل النتيجة

التدفق المعتاد هو: إرسال المهمة، تخزين معرف المهمة، استطلاع الحالة، ثم استرجاع رابط الفيديو. يعيد مسار المهمة معرف مهمة ويتم التحقق من الحالة باستخدام GET /volc/v3/contents/generations/tasks/{task_id} حتى تنتهي المهمة.

أوضاع توليد Seedance 2.0 مشروحة

ModeBest ForInput ExampleMax References
text_to_videoتوليد سريع للأفكارنص فقط0
first_last_framesلوحات القصة مع الإطارات المفتاحية1–2 صور + موجّه2
omni_referenceتحكم سينمائي احترافيصور + فيديو + صوت + نص12

خطوة بخطوة: نص إلى فيديو مع مثال Python

إليك مثال Python يمكنك تكييفه:

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)

يتوافق هذا النمط مع سير العمل غير المتزامن الموثق في صفحات Seedance على CometAPI: أرسل المهمة، استطلع المهمة، ثم اقرأ حمولة النتيجة عند اكتمال المهمة.

من صورة إلى فيديو وإطارات البداية/النهاية

أضف image_urls أو reference_images إلى الحمولة:

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
}

مثال متقدم متعدد الوسائط 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"
    }
}

أفضل ممارسات هندسة الموجهات لـ Seedance 2.0

  • كن محددًا: “dolly zoom بطيء من لقطة واسعة إلى لقطة قريبة، إضاءة ساعة ذهبية، فيزياء واقعية.”
  • استخدم المراجع: دائمًا اسبقها بـ @assetN.
  • لغة الكاميرا: “لقطة تتبع محمولة، rack focus، دوران ناعم.”
  • إشارات صوتية: “زامن القصات مع نزول الجهير، حوار واضح مع مزامنة الشفاه.”
  • التحكم بطول المقطع: حدّد “مقطع 8 ثوانٍ، 5 لقطات.”

نصيحة احترافية: اختبر الموجهات أولًا في ساحة مزوّد الخدمة (يوفّر CometAPI اختبارًا بنقرة واحدة).

جدول مقارنة: Seedance 2.0 مقابل أبرز المنافسين (2026)

الميزةSeedance 2.0Kling 3.0Runway Gen-4Luma Ray 2 / Sora 2
الصوت الأصلي⭐⭐⭐⭐⭐ (الأفضل)⭐⭐⭐⭐⭐⭐⭐⭐⭐
مراجع متعددة الوسائطحتى 12 ملفًامحدودةصور فقطيتفاوت
الحد الأقصى للمدة15s10–15s8–16s8–20s
تحكم بالكاميراعلى مستوى المخرجقويممتازجيد
اتساق الحركةرائد في الصناعةجيد جدًاجيدممتاز
الأفضل لأجلسرد سينمائياتساق الشخصياتصقل فنيواقعية فوتوغرافية

يفوز Seedance 2.0 في الصوت الأصلي والتحكم متعدد الوسائط.

حالات استخدام واقعية

  • التسويق: عروض منتجات مع تعليق صوتي متزامن.
  • وسائل التواصل الاجتماعي: محتوى قصير فيروسي مع قصّات مدفوعة بالموسيقى.
  • ما قبل التصوير السينمائي: من لوحة القصة إلى فيديو مع اتساق الشخصيات.
  • التعليم: شروحات متحركة مع سرد متزامن حركة الشفاه.

يذكر مستخدمو CometAPI تسريعًا بنسبة 40% في وتيرة التكرار عبر التبديل بين Seedance 2.0 ونماذج مكملة ضمن قاعدة كود واحدة.

أفضل الممارسات، التوسّع والتعامل مع الأخطاء

  • نفّذ تراجعًا أسيًا في الاستطلاع.
  • استخدم مفاتيح idempotency لإعادة المحاولات.
  • راقب الاستخدام عبر لوحة CometAPI.
  • إزالة العلامة المائية متاحة في بعض الشرائح.
  • الامتثال لإرشادات المحتوى (لا محتوى غير قانوني/خادع).

مقتطف 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")

استكشاف المشكلات الشائعة وإصلاحها

  • المهمة عالقة في قائمة الانتظار: تحقّق من حالة المزوّد؛ استخدم شريحة سريعة.
  • اتساق ضعيف: أضف المزيد من صور المراجع مع صيغة @.
  • عدم تزامن الصوت: صِف الإيقاع بوضوح في الموجّه.
  • تكلفة مرتفعة: بدّل إلى نماذج معاينة سريعة للاختبار.

الخلاصة والخطوات التالية

يمثل Seedance 2.0 API قفزة إلى الأمام في توليد فيديو قابل للتحكم مع صوت أصلي. مع الأمثلة البرمجية أعلاه ومنصة CometAPI.com الموحدة، يمكنك البدء في بناء تدفقات عمل فيديو إنتاجية اليوم—غالبًا في أقل من 30 دقيقة.

هل أنت جاهز للتجربة؟ توجّه إلى CometAPI.com، احصل على أرصدتك المجانية، وأنشئ أول فيديو Seedance 2.0 على الفور. سواءً كنت منشئًا منفردًا، وكالة، أو فريقًا مؤسسيًا، يقدّم CometAPI أقل قدر من الاحتكاك وأعلى قيمة للوصول إلى Seedance 2.0 وأكثر من 500 نموذج آخر.

ابدأ في بناء فيديوهات سينمائية بالذكاء الاصطناعي اليوم—حملتك الفيروسية القادمة (أو ما قبل تصوير فيلمك) تبعد مجرد نداء API واحد.

تابع التعلّم

اربط هذه المقالة بالقرار التالي.

عرض جميع الموضوعات
نُشر في Apr 17, 2026
آخر تحديث Sep 3, 2026
729 مشاهدات
تمت المراجعة للوضوح ودقة المصدر ومصطلحات API الحالية.

هل أنت مستعد لخفض تكاليف تطوير الذكاء الاصطناعي بنسبة 20%؟

ابدأ مجاناً في دقائق. رصيد تجريبي مجاني مدرج. لا حاجة لبطاقة ائتمانية.

اقرأ المزيد