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פרומפט הגיליון, ואחריו פרומפטים לפריימי פתיחה עם הגיליון כייחוסגיליון דמות ופריימי פתיחה, ככתובות URL של תמונות
3. צילוםSeedance 2.5פרומפט וידאו, ואיתו הגיליון ופריים הפתיחה כתמונות ייחוסוידאו אחד עם סאונד לכל שוט
4. עריכהffmpeg או כל תוכנת עריכהקובצי השוטיםהסרט המוגמר

השלבים מתחברים דרך כתובות URL. GPT Image 2.5 מחזיר תמונות שמאוחסנות באחסון של SeedRouter, ו-Seedance 2.5 מקבל תמונות ייחוס ככתובות URL ציבוריות, כך שהפלט של שלב 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 כדי שהסקריפט שלכם יוכל להשתמש בה. הכללים בפרומפט המערכת הזה לקוחים ממדריכי הפרומפטים הרשמיים של ByteDance ל-Seedance, ומסוכמים במדריך הפרומפטים ל-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, ואל תמלאו מראש תור של assistant. Opus 5.5 מחזיר שגיאת 400 על ערכי דגימה שאינם ברירת המחדל ועל תשובה שמולאה מראש. כדי לשלוט בעומק החשיבה, השתמשו ב-output_config.effort.
  • "מי מחזיק את המצלמה" הוא הטיפ מהפוסט המקורי. הכותב מספר שכשאמר ל-Opus "חבר שלי מצלם מהמושב האחורי", המודל כתב בעצמו רעידות מצלמה קלות, מסגור שמגיב באיחור ופוקוס אוטומטי שמחפש, ולדבריו "הפרט ההקשרי היחיד הזה הוא מה שמעלים את 'המראה של AI'".
  • ייחוסי סגנון הם אופציונליים. 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 vs 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 ואת האפשרויות שהיא מציעה בפלטפורמה שלה.

זה נוגע גם לדמויות AI ריאליסטיות. הפוסט המקורי צילם אישה פוטוריאליסטית, אבל התיעוד של 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 ורינדור רק של הגרסה הסופית ברזולוציה גבוהה יותר הוא החיסכון הגדול ביותר. המאמר על מחירי ה-API של Seedance מפרט דוגמאות נוספות.

שאלות נפוצות

האם 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.

מדריכים קשורים