Claude Opus 5.5 متاح الآن على SeedRouter

كيف تصنع فيلمًا قصيرًا باستخدام Claude Opus 5.5 وSeedance 2.5

اجعل Claude Opus 5.5 مخرجًا: يكتب قائمة اللقطات والموجّهات، ويرسم GPT Image 2.5 الشخصية، وينتج Seedance 2.5 كل لقطة مع الصوت، بمفتاح API واحد.

اقرأ بصيغة Markdown

لصنع فيلم قصير باستخدام Claude Opus 5.5 وSeedance 2.5، اجعل Opus يتولى الإخراج واترك الرسم والتصوير للنموذجين الآخرين. تعطي Opus فكرة قصة واحدة، فيكتب وصفًا ثابتًا للشخصية، وموجّهًا لورقة الشخصية، وموجّه فيديو لكل لقطة. يحوّل GPT Image 2.5 هذه الموجّهات إلى ورقة شخصية وإطارات أولى. ثم ينتج Seedance 2.5 كل لقطة مع الحوار والصوت مستخدمًا هذه الصور مراجعَ. بعد ذلك تدمج اللقطات في ملف واحد. تعمل النماذج الثلاثة على SeedRouter بمفتاح API نفسه. كل طلب أدناه يتبع مراجع API الخاصة بـ SeedRouter، وقد جرى التحقق منها في 30 سبتمبر 2026.

كيف يعمل سير العمل بين Claude Opus 5.5 وSeedance 2.5؟

الفكرة مأخوذة من سير عمل شاركه أحد صنّاع المحتوى على r/Seedance_AI في سبتمبر 2026 (المنشور الأصلي): «لم أكتب موجّهًا واحدًا بيدي. أعطيت Opus 5.5 فكرة أساسية واحدة وبضع لقطات شاشة مرجعية للأسلوب الذي أردته». كتب Opus موجّهات ورقة الشخصية والإطارات الأولى وحركات الكاميرا وتوقيت الحوار والصوت، ورسم GPT Image 2.5 ورقة الشخصية والإطار الأول، وأنتج Seedance 2.5 اللقطات.

لكل نموذج مهمة واحدة:

الخطوةالنموذجالمدخلاتالمخرجات
1. التخطيطClaude Opus 5.5فكرة القصة، وصور أسلوب اختياريةوصف الشخصية، وموجّه الورقة، وموجّه إطار أول وموجّه فيديو لكل لقطة
2. التصميمGPT Image 2.5موجّه الورقة، ثم موجّهات الإطارات الأولى مع الورقة مرجعًاورقة الشخصية والإطارات الأولى بصيغة روابط صور
3. التصويرSeedance 2.5موجّه الفيديو، مع الورقة والإطار الأول صورًا مرجعيةفيديو واحد بصوت لكل لقطة
4. المونتاجffmpeg أو أي برنامج مونتاجملفات اللقطاتالفيلم النهائي

ترتبط الخطوات عبر الروابط. يعيد GPT Image 2.5 صورًا مستضافة على تخزين SeedRouter، ويقبل Seedance 2.5 الصور المرجعية بصيغة روابط عامة، لذا تنتقل مخرجات الخطوة 2 مباشرة إلى الخطوة 3 دون تنزيل أو رفع.

ما الذي تحتاجه قبل البدء؟

  • مفتاح API من SeedRouter في متغيرات البيئة:
export SEEDROUTER_API_KEY="your-key"
  • Python 3 مع requests وAnthropic SDK: pip install requests anthropic.
  • ffmpeg لدمج اللقطات في النهاية.
  • رصيد. كل استدعاء طلب مدفوع. لا تُحتسب المهام الفاشلة، وتبدأ الحسابات الجديدة برصيد مجاني صغير.

تشترك كل مقتطفات Python أدناه في هذين السطرين:

import os
import requests

HEADERS = {"Authorization": f"Bearer {os.environ['SEEDROUTER_API_KEY']}"}

الخطوة 1: كيف تجعل Claude Opus 5.5 يخطط للّقطات؟

أعطِ Opus موجّه نظام يشرح كيف يقرأ Seedance 2.5 الموجّه، واطلب الخطة بصيغة JSON ليستخدمها السكربت. القواعد في موجّه النظام هذا مأخوذة من أدلة الموجّهات الرسمية لـ Seedance من ByteDance، وهي ملخّصة في دليل موجّهات Seedance 2.5: الفاعل والحدث أولًا، وحركة كاميرا واحدة لكل لقطة، ونطاقات زمنية للّقطات الطويلة، وتسمية الملفات المرجعية بأرقامها.

import json
import anthropic

client = anthropic.Anthropic(
    api_key=os.environ["SEEDROUTER_API_KEY"],
    base_url="https://api.seedrouter.ai",
)

DIRECTOR = """You are the director of a short film made with AI models.
Return only JSON, no other text, in this shape:
{"character": "...", "sheet_prompt": "...",
 "shots": [{"duration": 5, "frame_prompt": "...", "video_prompt": "..."}]}

character: one fixed paragraph describing the main character's face, hair,
build and clothes. Repeat it word for word inside every other prompt.

sheet_prompt: an image prompt for one character reference sheet: a front,
three-quarter, profile and back view, plus four facial expressions, on a plain
light background, with no text other than small panel labels.

shots: 3 to 5 shots, each 4 to 15 seconds.
frame_prompt: an image prompt for the first frame of the shot.
video_prompt: a video prompt for Seedance 2.5. Write it in this order: subject
and action, scene, visual style, camera, audio. Image 1 is the character sheet
and Image 2 is the start frame of the shot; refer to them by those names.
Use one camera move per shot. Say who is holding the camera and how they move.
For shots longer than 5 seconds, split the action into time ranges such as
0-3s. Put dialogue in quotes as: Character's line (emotion): content.
Describe the ambient sound. Do not ask for subtitles or on-screen text.

The character must not look like a real, identifiable person. Use a stylized
look, such as a 3D animated or illustrated character."""

message = client.messages.create(
    model="claude-opus-5-5",
    max_tokens=16000,
    system=DIRECTOR,
    messages=[{
        "role": "user",
        "content": "A lighthouse keeper finds a lost robot on the rocks during a storm and teaches it to wave at passing ships.",
    }],
)
text = "".join(block.text for block in message.content if block.type == "text")
plan = json.loads(text)

بعض التفاصيل مهمة:

  • max_tokens يشمل التفكير. يستخدم Opus 5.5 التفكير التكيفي دائمًا، ومرجع API لـ Opus 5.5 يحتسب رموز التفكير ضمن max_tokens. اترك هامشًا كافيًا، وإلا فقد ينقطع JSON.
  • لا ترسل temperature أو top_p أو top_k، ولا تملأ دور المساعد مسبقًا. يعيد Opus 5.5 خطأ 400 عند قيم أخذ عينات غير القيم الافتراضية وعند رد مملوء مسبقًا. للتحكم في عمق التفكير، استخدم output_config.effort بدلًا من ذلك.
  • «من يحمل الكاميرا» هي النصيحة من المنشور الأصلي. يقول كاتبه إن إخبار Opus بأن «صديقي يصوّر من المقعد الخلفي» جعله يكتب من تلقاء نفسه اهتزازًا خفيفًا للكاميرا وتأطيرًا متأخرًا وتركيزًا تلقائيًا يبحث عن هدفه، وإن «هذه التفصيلة السياقية الواحدة هي ما يزيل مظهر الذكاء الاصطناعي».
  • مراجع الأسلوب اختيارية. يقرأ Opus الصور، لذا يمكنك إضافة لقطات شاشة للمظهر الذي تريده بصيغة كتل image بمصدر URL في دور المستخدم.

إذا فشل json.loads، فاطبع text واطلب من Opus مرة أخرى. قراءة الخطة قبل إنتاج أي شيء هي أيضًا أرخص لحظة لإصلاح القصة: التعديل هنا يكلّف طلبًا نصيًا واحدًا، أما التعديل بعد التصيير فيكلّف فيديو.

الخطوة 2: كيف تنشئ ورقة الشخصية والإطارات الأولى باستخدام GPT Image 2.5؟

أرسل أولًا plan["sheet_prompt"] إلى GPT Image 2.5. ثم أرسل frame_prompt لكل لقطة مع الورقة صورةً مرجعية، حتى تظهر الشخصية نفسها في كل إطار أول. تُرسل مهام الصور إلى /v1/images/generations وتُقرأ نتائجها من /v1/tasks/{id}:

import time

def image(prompt, size, refs=()):
    body = {"model": "gpt-image-2.5-flare", "prompt": prompt, "size": size, "quality": "high"}
    if refs:
        body["images"] = [{"image_url": url} for url in refs]
    task_id = requests.post(
        "https://api.seedrouter.ai/v1/images/generations",
        headers=HEADERS, json=body, timeout=60,
    ).json()["id"]
    while True:
        task = requests.get(
            f"https://api.seedrouter.ai/v1/tasks/{task_id}", headers=HEADERS, timeout=30,
        ).json()
        if task["status"] == "completed":
            return task["output"]["data"][0]["url"]
        if task["status"] == "failed":
            raise RuntimeError(task["error"]["message"])
        time.sleep(3)

sheet = image(plan["sheet_prompt"], "1536x1024")
frames = [image(shot["frame_prompt"], "1792x1008", [sheet]) for shot in plan["shots"]]

لماذا هذه الإعدادات:

  • 1792x1008 هو 16:9. يقبل GPT Image 2.5 قيمة size بصيغة WIDTHxHEIGHT مع ضلعين من مضاعفات 16، لذا يجب كتابة إطار 16:9 بالبكسل؛ و16:9 ليست قيمة size صالحة. اجعلها مطابقة لقيمة ratio التي ستطلبها من Seedance.
  • Flare يكفي لمعظم الأوراق. يوفر Sunburst تحكمًا أدق عبر التعديلات المتتالية لكنه أبطأ؛ ويشرح GPT Image 2.5 Flare مقابل Sunburst متى يستحق الاستخدام.
  • استخدم quality أقل في المسودات. ما دمت تعدّل الشخصية، فإن low أو medium أسرع. انتقل إلى high للصور التي ستصوّر بها.

للإيجاز، تستعلم الدوال أعلاه عن المهمة دون مهلة. في شيفرتك الخاصة، أضف حدًا زمنيًا واحتفظ بمعرّف المهمة، حتى يتمكن التشغيل المتوقف من التحقق من المهمة نفسها بدلًا من الدفع لمهمة جديدة.

الخطوة 3: كيف تنتج كل لقطة باستخدام Seedance 2.5؟

أرسل كل video_prompt إلى Seedance 2.5 مع صورتين مرجعيتين: ورقة الشخصية بوصفها Image 1، والإطار الأول للّقطة بوصفه Image 2، بهذا الترتيب، لأن Seedance يرقّم الملفات المرجعية بحسب ترتيب إرفاقها. لمهام الفيديو نقطة نهاية خاصة، /v1/contents/generations/tasks، وتنتهي بالحالة status: "succeeded":

def shot(prompt, refs, duration):
    content = [{"type": "text", "text": prompt}]
    for url in refs:
        content.append({"type": "image_url", "image_url": {"url": url}, "role": "reference_image"})
    task_id = requests.post(
        "https://api.seedrouter.ai/v1/contents/generations/tasks",
        headers=HEADERS,
        json={
            "model": "dreamina-seedance-2-5",
            "content": content,
            "resolution": "480p",
            "ratio": "16:9",
            "duration": duration,
            "generate_audio": True,
        },
        timeout=60,
    ).json()["id"]
    while True:
        task = requests.get(
            f"https://api.seedrouter.ai/v1/contents/generations/tasks/{task_id}",
            headers=HEADERS, timeout=30,
        ).json()
        if task["status"] == "succeeded":
            return task["content"]["video_url"]
        if task["status"] in ("failed", "expired"):
            raise RuntimeError(task["error"]["message"])
        time.sleep(15)

videos = [shot(s["video_prompt"], [sheet, frame], s["duration"]) for s, frame in zip(plan["shots"], frames)]

خيارات الطلب:

  • صور مرجعية، لا إطار أول مثبّت. يستطيع Seedance 2.5 أيضًا تثبيت اللقطة على إطار أول دقيق (role: "first_frame")، لكن مرجع API لـ Seedance 2.5 ينص على أن أوضاع الإطار الأول «لا يمكن دمجها مع العناصر المرجعية»، فتخسر ورقة الشخصية. عندما تكون الصورتان reference_image، فالموجّه هو الذي يخبر Seedance بأن Image 2 هو الإطار الأول. تتبعه بداية اللقطة عن قرب، لكن ليس بكسلًا ببكسل.
  • 480p للمسودات. أنتج كل اللقطات بدقة 480p أولًا، وأصلح الموجّهات التي لم تنجح، ثم صيّر اللقطات المعتمدة بدقة 720p أو 1080p بالموجّه نفسه.
  • generate_audio: true ينتج الحوار والأصوات المحيطة والمؤثرات من الموجّه، مع الصورة في الوقت نفسه.
  • ratio ثابتة. إذا كانت لكل اللقطات نسبة العرض إلى الارتفاع والدقة نفسها، يستطيع ffmpeg دمجها دون إعادة ترميز.

يمكن أن تمتد اللقطة من 4 إلى 30 ثانية، ويمكن أن تحتوي مهمة واحدة على عدة قطعات إذا أعطى الموجّه كل قطعة نطاقًا زمنيًا. فالمشهد الثاني لدى صانع المحتوى مثلًا ضمّ ست لقطات مقطوعة على ضربات الطبل في 10 ثوانٍ.

كيف تحافظ على الشخصية نفسها في كل لقطة؟

يأتي الاتساق من التكرار، في الموجّه وفي المراجع:

  • كرّر الوصف نفسه. توضع فقرة character من الخطوة 1 حرفيًا في كل موجّه صورة وفيديو. فوصف الشخص نفسه بطريقتين مختلفتين أحد أسباب تشويه النموذج للشخصية أو تكرارها.
  • أرسل الورقة نفسها إلى كل لقطة. الورقة هي دائمًا Image 1. يقبل Seedance 2.5 أوراقًا متعددة الزوايا؛ أما Seedance 2.0 الأقدم فقد يقرأ الورقة متعددة الزوايا على أنها عدة أشخاص، ودليل الموجّهات ينصح بدلًا من ذلك بصورة مقرّبة للوجه وصورة كاملة للجسم لكل شخصية.
  • سمِّ الشخصية بالطريقة نفسها كل مرة، مثل «حارس المنارة من Image 1»، ولا تعتمد على اسم مكتوب داخل الصورة.
  • حافظ على صوت واحد في كل اللقطات. يقبل Seedance 2.5 حتى 10 مراجع صوتية (WAV أو MP3، من 2 إلى 30 ثانية). أرفق المقطع الصوتي نفسه بكل لقطة واربطه في النص، كما في مثال ByteDance: «تُظهر Image 1 البطل John وتستخدم نبرة الصوت من Audio 1».

إذا كان يجب أن تتصل لقطتان دون قفزة ظاهرة، فهناك خيار ثانٍ: اضبط "return_last_frame": true في اللقطة الأولى، وأرسل content.last_frame_url المُعاد بوصفه first_frame للّقطة التالية. هذا يثبّت نقطة الاتصال، لكن اللقطة التالية لا يمكنها استخدام ورقة الشخصية، لذا استخدمه لحركة متصلة داخل مشهد واحد لا لكل قطعة.

هل يمكن استخدام صورة شخص حقيقي بوصفه الشخصية؟

لا. لا يقبل Seedance 2.5 صورًا أو مقاطع فيديو مرجعية تحتوي على وجوه بشرية حقيقية، والمهمة التي تتضمنها تفشل دون احتساب تكلفتها. يشرح مقال خطأ «real person» في Seedance قاعدة ByteDance والخيارات التي تقدمها على منصتها الخاصة.

وهذا يشمل أيضًا شخصيات الذكاء الاصطناعي الواقعية. صوّر المنشور الأصلي امرأة واقعية كالصورة الفوتوغرافية، لكن وثائق ByteDance لا تذكر كيف يتعامل فحص الوجوه مع الوجوه الواقعية التي رسمها نموذج آخر. الشخصية المنمّقة، مثل أسلوب الرسوم المتحركة ثلاثية الأبعاد أو الرسم التوضيحي الذي يطلبه موجّه النظام أعلاه، تُبقي سير العمل بعيدًا عن هذا السؤال. إذا أردت مظهرًا واقعيًا، فجرّب لقطة قصيرة واحدة بدقة 480p قبل أن تخطط لفيلم كامل حولها.

كيف تدمج اللقطات في فيلم واحد؟

نزّل الفيديوهات بالترتيب، واسردها في ملف نصي، وادمجها باستخدام ffmpeg:

names = []
for index, url in enumerate(videos):
    name = f"shot-{index + 1}.mp4"
    with open(name, "wb") as file:
        file.write(requests.get(url, timeout=300).content)
    names.append(name)
with open("shots.txt", "w") as file:
    file.writelines(f"file '{name}'\n" for name in names)
ffmpeg -f concat -safe 0 -i shots.txt -c copy film.mp4

يدمج -c copy الملفات دون إعادة ترميز، وينجح ذلك لأن لكل لقطة الدقة ونسبة الأبعاد والصيغة نفسها. إذا خلطت الإعدادات، فاحذف -c copy ودع ffmpeg يعيد الترميز. روابط الفيديو مستضافة على تخزين SeedRouter، لذا نزّل الملفات التي تريد الاحتفاظ بها.

كم تكلفة فيلم قصير باستخدام Seedance 2.5؟

يحتسب كل نموذج التكلفة بوحدته الخاصة، والأسعار الحالية موجودة في صفحة كل نموذج:

  • Claude Opus 5.5 يحتسب رموز الإدخال والإخراج، بما فيها التفكير. التخطيط لفيلم يحتاج طلبًا واحدًا أو بضعة طلبات. الأسعار.
  • GPT Image 2.5 بنسختيه Flare وSunburst يحتسب سعرًا ثابتًا لكل صورة مُسلَّمة. ورقة واحدة وإطار أول لكل لقطة تعني من أربع إلى ست صور لفيلم قصير. الأسعار.
  • Seedance 2.5 يحتسب رموز الفيديو: ثواني الإخراج × العرض × الارتفاع × 24 ÷ 1024. الثانية الواحدة من فيديو 16:9 تساوي 9,607.5 رمزًا بدقة 480p، و21,600 بدقة 720p، و48,600 بدقة 1080p، ولدقة 1080p سعر خاص. الأسعار.

معظم التكلفة في الفيديو. مسودة 480p تستهلك أقل من نصف رموز 720p، لذا فإن إصلاح الموجّهات بدقة 480p وتصيير النسخة النهائية فقط بدقة أعلى هو أكبر توفير. ويعرض مقال أسعار Seedance API أمثلة حسابية أكثر.

الأسئلة الشائعة

هل يستطيع Claude Opus 5.5 إنشاء الفيديو بنفسه؟

لا. Opus 5.5 نموذج نصي: يقرأ الصور لكنه لا ينتج صورًا ولا فيديو. في سير العمل هذا يكتب الموجّهات، بينما ينتج GPT Image 2.5 وSeedance 2.5 الصور واللقطات المصوّرة.

هل يمكنني استخدام Claude Fable 5.1 بدلًا من Opus 5.5؟

نعم. يقبل Fable 5.1 طلب Messages نفسه، فغيّر model إلى claude-fable-5-1. ويقارن مقال Claude Fable 5.1 vs Fable 5 vs Opus 5.5 بين النماذج الثلاثة.

ما أقصى طول لفيلم قصير باستخدام Seedance 2.5؟

تنتج مهمة Seedance 2.5 الواحدة من 4 إلى 30 ثانية، أو تترك للنموذج اختيار الطول عبر duration: -1. الفيلم الأطول مكوّن من عدة لقطات مدموجة، لذا ليس لطوله حد ثابت.

لماذا تتغير الشخصية بين اللقطات؟

غالبًا لأن الموجّهات تصفها بطرق مختلفة، أو لأن الورقة مفقودة في بعض اللقطات، أو لأن الملفات المرجعية أُرفقت بترتيب يختلف عن ترقيم الموجّه. تأكد من أن كل موجّه فيديو يحتوي على فقرة الشخصية نفسها، وأن الورقة هي الصورة الأولى دائمًا.

هل يمكنني استخدام Seedance 2.0 في سير العمل هذا؟

نعم، ببنية الطلب نفسها ومعرّف النموذج الخاص به. بالنسبة إلى الشخصية، أعطِ Seedance 2.0 صورًا منفصلة للوجه وللجسم كاملًا بدلًا من ورقة متعددة الزوايا. ويسرد مقال Seedance 2.5 vs 2.0 بقية الفروق.

اصنع فيلمك القصير الأول

ابدأ بقصة من ثلاث لقطات بدقة 480p، وراجع اللقطات، ثم صيّر النسخة النهائية بدقة أعلى. تعرض صفحة Seedance 2.5 الأسعار الحالية وPlayground لتجربة لقطة واحدة، والمرجع الكامل للطلبات موجود في وثائق API لـ Seedance 2.5، ووثائق API لـ GPT Image 2.5، ووثائق API لـ Claude Opus 5.5.

أدلة ذات صلة