# הפקות Studio

> בימו סרט דרך עוזר AI כהפקת Studio, בדקו את התוכנית בחינם, צרו פריימים ותנועה עם אומדן מחיר, והמשיכו לערוך ב-Studio.

Source: https://nodaro.ai/he/docs/mcp/studio-productions

**הפקת Studio** היא סרט שעוזר AI יכול לביים מתוך שיחה, ושאתם ממשיכים לערוך בעורך ה-Studio ב-[studio.nodaro.ai](https://studio.nodaro.ai). ההפקה היא רשימה של סצנות לפי הסדר, ולכל סצנה יש פריים, תנועה אופציונלית, והתוכנית, המראות, הליהוק והקול שיצרו אותם. עוזר יכול לכתוב טיוטה של הסרט, להעביר אותה אליכם ולחזור לעבוד עליה אחרי שהזזתם שלוש סצנות ממקומן. הפקות Studio הן יכולת של Nodaro Cloud.

בחרו במסלול הזה לבקשות כמו ״צור לי סרט, סצנה או רצף, ותן לי להמשיך לערוך אותם״. לסרט שנכתב כמסמך JSON אחד, ראו את הדף [Recast](https://nodaro.ai/docs/mcp/recast); לתהליך על הקנבס, ראו את הדף [במאי הקולנוע](https://nodaro.ai/docs/mcp/film-director).

## שני אוצרות מילים
העורך ומסמך ההפקה קוראים לאותם דברים בשמות שונים. המשתמש רואה רק את העורך, ולכן העוזר מדבר במילים של העורך ושומר את השמות של המסמך לקריאות לכלים.

| המשתמש אומר | המסמך אומר |
| --- | --- |
| **סרט** | ההפקה |
| **סצנה**, כמו ״סצנה 3״, כרטיס בציר הזמן | רשומה ב-`shots[]`, שמזוהה לפי `shot_id` |
| **הפריים** של סצנה, שהתוצאות שלו הן טייקים | `still` |
| **התנועה** של סצנה, שהתוצאות שלה הן טייקים | `clip` |
| **השוטים** שבתוך תנועה | `beats[]`, שנקבעים עם `set_beats` |

- **סצנה N היא תמיד הרשומה מספר N ב-`shots[]`.** הבקשה ״שנה את השם של סצנה 3״ היא `rename_shot` על הרשומה הזו, והבקשה ״מחק את סצנה 3״ היא `remove_shot` עליה.
- **המילה שוט פירושה שוט בתוך תנועה**, כלומר רשומה ב-`beats[]` של הסצנה שהמשתמש מסתכל עליה, ואף פעם לא רשומה ב-`shots[]`. כשאין סצנה בתצוגה, או שבתנועה שלה יש פחות שוטים ממה שהמשתמש ציין, העוזר שואל במקום לנחש.
- **הפריים של סצנה הוא ה-`still` שלה.** פריים מתוכנן הוא משהו אחר: תוכנית לפריים שהמשתמש בודק ומאשר, שנוצרת עם `generate_studio_keyframe`. פריים הפתיחה ופריים הסיום של סצנה הם נקודות הקצה של התנועה שלה.
- **אישורי הביצוע משתמשים במילים של המסמך.** שמות הפעולות ואישורי הביצוע (`receipts`) של עריכה אומרים "shot" כשהכוונה לסצנה; העוזר לא צריך לחזור על הניסוח הזה מול המשתמש.

## מחזור העבודה
### קריאת המדריך
הכלי `get_studio_production_skill` מחזיר את המדריך בארבעה חלקים: `operating` (הכלים, מחזור העבודה והפעולות), `authoring` (פורמט התוכנית), `catalog` (כל בורר, מודל ואפשרות) ו-`schema` (ה-JSON Schema של התוכנית). המדריך נוצר מהפריסה הפעילה, ולכן הוא תואם לשרת שאתם משתמשים בו. הכלי חינמי.

### בדיקת התוכנית
הכלי `validate_studio_plan` בודק תוכנית בחינם, לא שומר כלום, ומשווה את השמות שבליהוק לספרייה שלכם. תקנו את השגיאה בכל `errors[].path` עד שהתוכנית תקינה, לפני שמוציאים קרדיטים.

### יצירת ההפקה
הכלי `create_studio_production` יוצר סרט חדש, עם הסצנות של התוכנית אם מעבירים אחת. הכלי `import_studio_production` מוסיף את הסצנות של תוכנית לסרט קיים. שני הכלים חינמיים. לסיפור בלי תוכנית, `describe_studio_production` מבקש מהבמאי לכתוב את הסצנות, כהרצה של LLM.

### קריאה חוזרת
הכלי `get_studio_production` מחזיר את הסרט במצבו הנוכחי, ואת השדה `pending` עם מה שעדיין רץ. עם הרשאת כתיבה, הקריאה מכניסה קודם להפקה את כל מה שהסתיים, ולכן קריאה חוזרת היא הדרך שבה יצירה שהסתיימה מגיעה לסצנה שלה. העבירו `shot_id` לקריאה זולה של סצנה אחת.

### עריכה באמצעות פעולות
הכלי `edit_studio_production` מחיל אצווה של פעולות. ראו את הסעיף [עריכה בפעולות](#editing-with-operations).

### יצירה
הכלי `generate_studio_still` יוצר את הפריים של סצנה, `generate_studio_clip` את התנועה שלה, `new_studio_shot_from_frame` שולף פריים מתוך תנועה, `voice_studio_shot` מקריא שורה, `revoice_studio_clip` מלהק מחדש את הקולות של תנועה, ו-`score_studio_production` יוצר את הפסקול.

### ייצוא ושיתוף
הכלי `plan_studio_export` מפרט את השלבים שמרכיבים את הסרט, כל אחד עם המחיר שלו. הכלי `share_studio_production` פותח או סוגר קישור שיתוף, ו-`clone_studio_production` יוצר עותק.

שיחה שננטשה לא משאירה שום דבר תקוע. ההפקה היא סרט אמיתי שאפשר לפתוח בעורך, ויצירה שעדיין רצה נכנסת להפקה בפעם הבאה שמישהו מעדכן את ההפקה: אתם, העורך או העוזר הבא.

## עריכה בפעולות
כל שינוי בהפקה הוא **פעולה**, ו-`edit_studio_production` הוא הכלי היחיד שמחיל פעולות. אצווה מוחלת כצעד אחד על הגרסה החדשה ביותר של המסמך.

- **פעולות מזהות דברים לפי מפתחות יציבים**: סצנה לפי המזהה שלה, אלמנט בליהוק לפי ה-slug של התפקיד שלו, תוצאה לפי מזהה המשימה או הכתובת שלה. אף פעם לא לפי מיקום, כי ייתכן שהמשתמש עורך את אותו סרט בדפדפן.
- **אצווה שהורכבה מול גרסה קצת ישנה יותר עדיין מוחלת**, והתשובה מציינת שהיא הוחלה מחדש על הגרסה העדכנית. עם `strict: true` ו-`expected_version`, האצווה נדחית במקום זאת.
- **פעולה שגויה אחת גורמת לדחיית האצווה כולה**, ושום דבר לא נכתב. השגיאה מציינת את הפעולה לפי האינדקס שלה, שנספר מ-0; תקנו אותה ושלחו את האצווה שוב.
- **ב-`receipts` יש שורה אחת בזמן עבר לכל פעולה**, ואותה מציגים למשתמש ששואל מה קרה עכשיו. אישור ביצוע יכול לכלול גם `detail`, והתשובה יכולה לכלול `warningDetails`. בשדות האלה נמצאות אותן שורות כנתונים, ללקוח שמנסח אותן בשפה של המשתמש. השתמשו ב-`summary` וב-`warnings`; אפשר להתעלם מ-`detail` ומ-`warningDetails`.
- **אפשר לבטל חלק מהמחיקות.** סצנה, טייק או פריים מתוכנן שהוסרו עוברים לפח של ההפקה, ואפשר לשחזר אותם. אי אפשר לבטל ניקוי של אלמנט בליהוק, של קול או של הפסקול, מחיקה של גרסת עריכה, הסרה של רצף, מחיקה סופית של פריט בפח וריקון של הפח.
- **שיתוף הוא לא פעולה.** יש לו כלי משלו, כך שאצוות עריכה אף פעם לא יכולה לשנות מי יכול לראות את העבודה.
- **אי אפשר למחוק הפקה.** העברה לארכיון היא פעולה, ואפשר לבטל אותה.

רשימת הפעולות מגיעה מהשרת ולא מודפסת כאן: הכלי `get_studio_production_skill` עם `part: "operating"` מחזיר את מה שהפריסה מקבלת.

### תצוגה מקדימה של אצווה
הכלי `edit_studio_production` עם `dry_run: true` עונה מה האצווה הייתה עושה, ולא כותב כלום. אישור הביצוע של כל פעולה כולל סיווג: הסיווג `S` משנה את המסמך, `D` מוחק, `P` משנה מי יכול לגשת לעבודה, ו-`$` מוציא קרדיטים. מחיקה שהייתה עוברת לפח מסומנת ב-`restorable: true`. הציגו את התצוגה המקדימה למשתמש, ואז שלחו את אותה אצווה בלי `dry_run`.

הכלי בודק קודם שהפריסה תומכת בתצוגות מקדימות, ואם לא, הוא דוחה את הבקשה עם `studio_preview_unavailable` בלי לשלוח כלום. המזהים בתצוגה מקדימה הם לא המזהים של השינוי האמיתי: כדי לבטל, השתמשו במזהי הפח שבאישורי הביצוע של האצווה שהוחלה.

## הוצאת קרדיטים
עוזר שמביים סרט מבצע עשרות קריאות, ולכן שני הרגלים חשובים.

- **קודם אומדן מחיר.** הכלים `generate_studio_still` ו-`generate_studio_clip` מקבלים `dry_run: true`, שמחזיר את המודל ואת המחיר ולא כותב כלום. הערך `credits: null` אומר שהמחיר לא ידוע, לא שהוא חינם. הציגו את המחיר ותנו למשתמש לאשר. לשאר הכלים שמוציאים קרדיטים אין אומדן מחיר: העריכו את המחיר לפי המודל, או שאלו קודם.
- **ניסיון חוזר בטוח.** כל כלי שמוציא קרדיטים מקבל `client_request_id`, בין 8 ל-128 תווים מתוך `A-Za-z0-9_.:-`. קריאה עם אותו אסימון מחזירה את המשימות של הקריאה הראשונה, בלי חיוב נוסף. צרו אסימון חדש לכל בקשה חדשה, ולעולם אל תנסו שוב קריאה שמוציאה קרדיטים בלי אסימון.

כל יצירה עוברת **הרצה, תשאול ואז הכנסה להפקה**:

1. קריאה לפריים או לתנועה מחזירה מיד את מזהי המשימות שלה.
2. המתינו למשימות האלה עם `get_job`, או בדקו את השדה `pending` של ההפקה.
3. קבלו שוב את ההפקה עם `get_studio_production`. עם הרשאת כתיבה, הקריאה מכניסה להפקה כל משימה שהסתיימה, לפני שהיא עונה.
4. הציגו למשתמש מה הגיע.

עם הרשאת קריאה בלבד, הקריאה לא מכניסה כלום להפקה, ומשימה שהסתיימה נשארת ב-`pending` עד שמישהו עם הרשאת כתיבה מעדכן את ההפקה.

## סימוני אישור
כלי שמוציא קרדיטים, או שמשנה מי יכול לראות את העבודה, מציין זאת בהגדרה שלו עצמו, ב-`_meta.nodaro.confirm`. לקוח יכול להציג בקשת אישור לפני כל כלי שיש לו סימון, במקום לנהל רשימה משלו.

| סימון | למה לשאול קודם | כלים |
| --- | --- | --- |
| `$` | הוא עולה קרדיטים. | `describe_studio_production`, `generate_studio_still`, `generate_studio_keyframe`, `generate_studio_clip`, `new_studio_shot_from_frame`, `voice_studio_shot`, `revoice_studio_clip`, `score_studio_production` |
| `P` | הוא משנה מי יכול לראות את העבודה. | `share_studio_production` |

ל-`edit_studio_production` אין סימון: מה שאצווה עושה נקבע לפי הפעולות שבה. כדי לבקש אישור לפני מחיקה, הציגו תצוגה מקדימה של האצווה, שבה כל פעולה מסווגת.

## הרשאות
שמונת הכלים שמוציאים קרדיטים צריכים גם `workflows:write` וגם `workflows:execute`. חיבור שאישר רק אחת מהשתיים לא רואה אף אחד מהם, בלי הסבר, ולכן לצורך יצירה אשרו את שתיהן. קריאה צריכה `workflows:read`, ויצירת הפקה, עריכה, שיתוף ושכפול צריכים `workflows:write`. הדף [מדריך הכלים](https://nodaro.ai/docs/mcp/tools/studio-productions) מפרט את ההרשאה ואת הפרמטרים של כל כלי.

## זמינות
בפריסה שלא מספקת הפקות Studio, כל כלי מהמשפחה מחזיר `not_available`, דחייה פשוטה שאין טעם לנסות שוב. קראו ל-`list_studio_productions` כדי לבדוק לפני שאתם מציעים את היכולת.

## איפה מתועד פורמט התוכנית
לפורמט התוכנית, `nodaro-studio-production`, יש מקום פרסום אחד. אפליקציית ה-Studio מגישה את אותו מדריך לכתיבה, אותו קטלוג ואותו JSON Schema בכתובת [`studio.nodaro.ai/skills/studio-production/`](https://studio.nodaro.ai/skills/studio-production/), כך שעוזר שקורא את `get_studio_production_skill` ואדם שקורא את הדף הזה קוראים את אותו מסמך.

אותו מסלול הפקה זמין גם ב-REST API, בדף ה-API [הפקות Studio](https://nodaro.ai/docs/developers/api/studio-productions), וב-SDK בתור `client.studio.productions`.

## שאלות נפוצות

### מה זה הפקת Studio?

הפקת Studio היא סרט שבנוי מסצנות, ולכל סצנה יש פריים, תנועה אופציונלית, והתוכנית, המראות, הליהוק והקול שיצרו אותם. ההפקה נפתחת בעורך ה-Studio ב-studio.nodaro.ai, כך שעוזר יכול לכתוב טיוטה של ההפקה, ואתם יכולים להמשיך לערוך אותה ידנית.

### למה במקומות מסוימים העוזר קורא לסצנה שוט?

המפתחות של מסמך הפקת ה-Studio קוראים לסצנה "shot". בשיחה, העוזר צריך תמיד להשתמש במילים שלכם (סצנה, פריים, תנועה ושוט), ולשמור את השמות של המסמך רק לקריאות לכלים.

### מתי יצירה שהסתיימה מופיעה בסרט?

יצירה שהסתיימה מופיעה בהפקת ה-Studio כשסשן עם הרשאת כתיבה קורא שוב את ההפקה עם get_studio_production. הקריאה הזו מכניסה להפקה כל משימה שהסתיימה מאז הקריאה הקודמת. הכלים get_job ו-wait_for_job רק מדווחים על הסטטוס.

### האם אפשר לבטל עריכה?

בהפקת Studio אפשר לבטל הרבה מחיקות. סצנה, טייק או פריים מתוכנן שהוסרו עוברים לפח של ההפקה, ואפשר לשחזר אותם. אי אפשר לבטל ניקוי של אלמנט בליהוק, של קול או של הפסקול, מחיקה של גרסת עריכה או ריקון של הפח. תצוגה מקדימה מציינת אילו מחיקות אפשר לשחזר.

### במה הפקת Studio שונה מבמאי הקולנוע?

במאי הקולנוע בונה תהליך על הקנבס. הפקת Studio היא סרט שממשיכים לערוך סצנה אחר סצנה בעורך ה-Studio, ולכן היא מתאימה כשמבקשים מהעוזר סרט שאפשר להמשיך לערוך.
