דילוג לתוכן
תיעוד ה־API

יומן שינויים

מה השתנה ב־API, בחיבור לעוזרי AI וב־webhooks, מהחדש לישן.

  1. תזמון ופרסום של פוסטים, גם דרך ה־API

    GET /v1/social_accounts מחזיר את החשבונות שחיברתם, כל אחד עם הרשת והמותג שלו. POST /v1/posts עם render_id של ריל או carousel_id של קרוסלה מיוצאת, account_ids ו־when שומר טיוטה, מתזמן לשעה (scheduled_at לפי השעון שלכם, כמו 2026-11-03T19:00), מכניס לתור של המותג או מפרסם עכשיו. בלי caption נלקח הטקסט של הריל. כל פוסט נבדק לפי הכללים של כל רשת, ו־422 מפרט כל שדה שצריך לתקן.

    GET /v1/posts מחזיר את הלוח בטווח תאריכים, ו־GET /v1/posts/{post_id} את הסטטוס בכל חשבון ואת הקישור לפוסט כשהוא עולה. POST /v1/posts/{post_id} משנה פוסט עד שהוא יוצא, DELETE /v1/posts/{post_id} מוריד אותו מהלוח, ו־POST /v1/posts/{post_id}/restore מחזיר אותו תוך 2 דקות. ב־MCP אלה הכלים list_social_accounts, list_posts, create_post, get_post, update_post, delete_post ו־restore_post.

    פרסום לא עולה כסף. POST /v1/posts צריך Idempotency-Key, כדי שניסיון חוזר לא יפרסם פעמיים, ומפתח בדיקה שומר טיוטות בלבד. את החשבונות מחברים באפליקציה.

    לתיעוד: פוסט חדש
  2. תרגום ודיבוב, גם דרך ה־API

    POST /v1/dubs עם video_id ועד 4 שפות ב־languages מתחיל דיבוב של אחד הסרטונים שלכם: Reely שומע את השורות ואת הדוברים, ומתרגם כל שפה בחינם, גם עם מפתח בדיקה. סרטון שכבר יש לו דיבוב מקבל את השפות החדשות באותו דיבוב. קראו את GET /v1/dubs/{dub_id} עד שהסטטוס של כל שפה הוא review.

    GET /v1/dubs/{dub_id}/lines עם language מחזיר את השורות, ולכל אחת fit: אם היא נכנסת בזמן שהמשפט המקורי לקח. POST לאותה כתובת משנה שורות, ו־POST /v1/dubs/{dub_id}/speakers/{speaker_id} נותן לדובר קול מ־GET /v1/voices, או שם. ב־MCP אלה הכלים start_dub, get_dub_lines, edit_dub_lines ו־set_dub_speaker.

    POST /v1/dubs/{dub_id}/estimate עם language מחזיר בחינם מה עולה לדבב את השפה, ו־POST /v1/dubs/{dub_id}/voice מדבב אותה עם expected_amount_agorot ו־Idempotency-Key. רק מפתח חי מדבב. הסכום מוחזק ויורד רק כשהסרטון המדובב מוכן, ב־file.download_url של השפה, ודיבוב שנכשל לא עולה כלום. GET /v1/prices מחזיר עכשיו גם dub.

    ב־Webhooks יש אירוע לכל שפה: dub.review כשהתרגום מחכה לכם, dub.ready כשהיא מדובבת ו־dub.failed כשלא, עם dub_id ו־language. language הוא null כשהסרטון עצמו לא נשמע. שפה מוכנה נשלחת גם כ־video.ready עם kind dub, כך שכתובת שכבר מקבלת video.ready מקבלת גם אותה.

    קול משובט, האישור לשפתיים, הרקע והכתוביות נקבעים בעמוד הדיבוב באפליקציה. DELETE /v1/dubs/{dub_id}/languages/{language} מוחק שפה אחת, ו־DELETE /v1/dubs/{dub_id} את הדיבוב כולו.

    לתיעוד: תרגום ודיבוב של סרטון
  3. אווטר מדבר, גם דרך ה־API

    GET /v1/avatars מחזיר את האווטרים שלכם, כל אחד עם התמונה שלו. POST /v1/avatar_videos/estimate עם text ו־voice, קול מ־GET /v1/voices, מחזיר את המחיר לפי אורך הדיבור, ו־POST /v1/avatar_videos עם avatar_id, אותו טקסט, אותו קול ו־expected_amount_agorot יוצר את הסרטון במחיר שאישרתם. הסרטון מוכן תוך כמה דקות: GET /v1/avatar_videos/{avatar_video_id} מחזיר את download_url, ותמיד את ai_label, הסימון שהדמות והקול נוצרו ב־AI.

    POST /v1/avatar_videos/{avatar_video_id}/reel פותח סרטון מוכן בסטודיו כריל, בחינם, ו־DELETE /v1/avatar_videos/{avatar_video_id} מוחק אותו. ב־MCP אלה הכלים list_avatars, estimate_avatar_video, create_avatar_video, list_avatar_videos, get_avatar_video, create_avatar_video_reel ו־delete_avatar_video.

    ב־Webhooks: avatar.video_ready כשהסרטון מוכן ו־avatar.video_failed כשהוא לא נוצר, עם avatar_video_id. סרטון מוכן נשלח גם כ־video.ready עם kind avatar_video, כך שכתובת שכבר מקבלת video.ready מקבלת גם אותו.

    מפתח בדיקה מקבל הצעת מחיר ולא יוצר סרטון. את האווטרים עצמם יוצרים באפליקציה.

    לתיעוד: יצירת סרטון של אווטר מדבר
  4. Webhook: הקלטה ארוכה מחכה לשפת הדיבור

    אירוע חדש, clips.waiting: ניתוח של הקלטה ארוכה, שאושר באפליקציה עוד לפני שהאורך היה ידוע, לא התחיל, כי Reely לא שמע בוודאות שמדברים בה בעברית. שום סכום לא הוחזק. ב־data יש clip_id ו־brand_id, ולא השפה שנשמעה.

    שאלו את האדם באיזו שפה מדברים בהקלטה: detected_language ב־GET /v1/clips/{clip_id} רק מציע. POST /v1/clips/{clip_id}/analysis/estimate עם השפה הזאת ב־language מחזיר את המחיר, ו־POST /v1/clips/{clip_id}/analysis מתחיל את הניתוח.

    לתיעוד: Webhooks
  5. תמונות מהסרטון עצמו, בקרוסלות ובבאנרים

    ל־image_source של קרוסלה ושל באנר יש ערך חדש, frame: התמונות הן רגעים מהסרטון שממנו הם נכתבו, בלי עלות. בוחרים אותו באפליקציה, כשכותבים מריל. ה־API יוצר אותם כמו קודם, עם stock, ai או none. אוטומציה שבודקת את image_source מול רשימה סגורה של ערכים צריכה להכיר אותו.

    לתיעוד: קרוסלה אחת
  6. המגבלה של המפתח, גם ב־GET /v1/me

    ב־key של GET /v1/me יש עכשיו limit_agorot, המגבלה לכל חיי המפתח כפי שנקבעה במסוף (null כשאין), ו־spent_agorot, כמה המפתח כבר הוציא ממנה: מה שחויב ומה שמוחזק לעבודה שעוד רצה. שניהם סופרים את כל הסיבובים של המפתח, כמו המסוף, וכמו הבדיקה שעוצרת קריאה עם 402 key-limit-reached. כך אוטומציה יכולה להראות כשהיא מתחברת כמה נשאר למפתח שלה.

    לתיעוד: החשבון והמפתח של הקריאה
  7. קרוסלות עם תמונות AI, גם דרך ה־API

    POST /v1/carousels/estimate עם type, slides ו־image_source מחזיר בחינם, גם עם מפתח בדיקה, מה הקרוסלה עולה: הכתיבה בלי עלות, ועם image_source ai יש תמונת AI לשקופית הפתיחה ולכל שקופית שמציגה תמונה. כמה תמונות ב־pictures, והמחיר שלהן ב־amount_agorot. export_amount_agorot הוא מחיר הייצוא הראשון. ב־MCP זה הכלי estimate_carousel.

    POST /v1/carousels מקבל עכשיו גם image_source ai, עם expected_amount_agorot שהוא amount_agorot של ההערכה. מחיר אחר מקבל 409 price-changed בלי חיוב, ובקשה בלי הסכום מקבלת 422. כל תמונה נשמרת בצד בנפרד ונגבית כשהיא נוצרת, ותמונה שהכתיבה לא צריכה חוזרת ליתרה מיד. יומן הקריאות, התקציב של הפרויקט והמגבלה של המפתח סופרים כל אחת מהן.

    עם stock או none ה־REST נשאר כמו שהיה: expected_amount_agorot לא חובה, ואם שולחים אותו הוא 0. הכלי create_carousel ב־MCP מבקש אותו תמיד, כך שעוזר מתמחר כל קרוסלה לפני שהוא יוצר אותה, כמו כל באנר.

    לתיעוד: הצעת מחיר לקרוסלה
  8. Webhooks דרך ה־API: אוטומציה פותחת וסוגרת כתובת בעצמה

    POST /v1/webhooks פותח כתובת Webhook עם url ו־events, ומחזיר את secret רק בתשובה הזאת. DELETE /v1/webhooks/{webhook_id} סוגר אותה, ו־GET /v1/webhooks מונה את הכתובות שהמפתח פתח. GET /v1/webhooks/events מחזיר את האירועים שפתוחים בחשבון, ולכל אחד sample עם נתונים מומצאים, כדי שטריגר יכיר את השדות לפני האירוע הראשון.

    הכללים של המסוף חלים גם כאן: https בפורט 443 לכתובת ציבורית, בבדיקה כשהכתובת נפתחת ובכל שליחה. כל מפתח רואה רק את הכתובות שהוא פתח, עד 50 לחשבון בנוסף ל־10 של המסוף. כשהמפתח מבוטל או שתוקפו פג, הכתובות שלו נכבות מיד, עם הודעה אחת, ולא נספרות יותר. כתובת שאוטומציה פתחה ועונה 410 נמחקת, וכתובת מהמסוף שעונה 410 נעצרת מיד.

    פתיחת כתובת לא מקבלת Idempotency-Key. אם התשובה לא הגיעה, הבקשה החוזרת מקבלת 409 webhook-exists עם webhook_id: מוחקים את הכתובת הזאת ופותחים אותה מחדש. נדרשת הרשאת webhooks חדשה, שרק מפתחות מקבלים. חיבור של עוזר AI לא מקבל אותה.

    לתיעוד: Webhooks
  9. קרוסלות, גם דרך ה־API

    POST /v1/carousels כותב קרוסלה במותג שלכם מטקסט, מקישור לעמוד או מאחד הסרטונים שלכם, עם type, slides ו־image_source (stock או none), ועם Idempotency-Key. הכתיבה בלי עלות, והקרוסלה מוכנה בערך בתוך דקה: קראו את GET /v1/carousels/{carousel_id} עד ש־status הוא ready, ותקבלו את השקופיות כטקסט, כיתוב והאשטגים.

    משלמים על קרוסלה רק בייצוא הראשון: POST /v1/carousels/{carousel_id}/export עם expected_amount_agorot, הסכום ש־export_amount_agorot הראה. כש־export.status הוא done, ב־export.files יש PNG לכל שקופית, PDF ללינקדאין ו־ZIP, בקישורים חתומים ל־24 שעות. ייצוא אחרי תיקון בעורך בלי עלות.

    רק מפתח חי יוצר ומייצא קרוסלות. תמונות AI לקרוסלה, וכל שינוי, נעשים בעורך של Reely: הקישור אליו ב־app_url. GET /v1/carousels מונה את הקרוסלות שלכם, ו־DELETE /v1/carousels/{carousel_id} מוחק קרוסלה.

    לתיעוד: יצירת קרוסלה
  10. באנרים, גם דרך ה־API

    POST /v1/banners כותב באנר במותג שלכם ב־9 גדלים, סטטי או מונפש. POST /v1/banners/estimate עם template, motion ו־image_source מחזיר בחינם את המחיר: היצירה בלי עלות, או במחיר של תמונת AI אם בחרתם בה, ו־export_amount_agorot הוא מחיר הייצוא הראשון. שולחים את amount_agorot של ההערכה כ־expected_amount_agorot, עם Idempotency-Key.

    ההצעה, הכפתור והפרט (offer, cta, detail) הם תמיד המילים שלכם, ואף פעם לא ממציאים אותם. הייצוא, POST /v1/banners/{banner_id}/export, נותן PNG לכל גודל ו־ZIP, ובבאנר מונפש גם MP4 של 15 שניות לריבוע, לפיד ולסטורי.

    רק מפתח חי יוצר ומייצא באנרים, וההערכה חינם גם עם מפתח בדיקה. GET /v1/banners מונה את הבאנרים שלכם, ו־DELETE /v1/banners/{banner_id} מוחק באנר.

    לתיעוד: יצירת באנר
  11. מפתח שחוזר אחרי 24 שעות עם בקשה אחרת

    Idempotency-Key שנשלח שוב אחרי יותר מ־24 שעות עם בקשה אחרת מתחיל עכשיו עבודה חדשה, כמו שהתיעוד אומר. עד היום POST /v1/renders, POST /v1/generate/image ו־POST /v1/generate/video החזירו במקרה כזה, עם 200, את הריל, התמונה או השוט שהמפתח יצר בפעם הראשונה. אף אחד לא חויב פעמיים.

    בתוך 24 השעות דבר לא משתנה: ניסיון חוזר מקבל את התשובה הראשונה, ובקשה אחרת עם אותו מפתח מקבלת 422 idempotency-key-reused. עדיף תמיד מפתח חדש, למשל UUID, לכל בקשה.

    לתיעוד: התחלה מהירה
  12. קריינות מטקסט, גם דרך ה־API

    טקסט שאחד הקולות בעברית קורא, כקובץ MP3 או WAV עם כתוביות. POST /v1/narrations/estimate עם text, voice ו־format מחזיר את המחיר ואת אורך הדיבור, בחינם, ו־POST /v1/narrations יוצר את הקריינות עם expected_amount_agorot ו־Idempotency-Key. את מזהי הקולות מחזיר GET /v1/voices. ב־MCP אלה הכלים estimate_narration ו־create_narration.

    קראו את GET /v1/narrations/{narration_id} עד ש־status הוא ready: download_url חתום ל־24 שעות, ו־captions_url מחזיר את הכתוביות כ־SRT. GET /v1/narrations מונה את הקריינויות שלכם, ו־DELETE /v1/narrations/{narration_id} מוחק את הטקסט ואת הקבצים.

    רק מפתח חי יוצר קריינות: עם מפתח בדיקה ההערכה חינם, והיצירה עונה 409. הסכום מוחזק בזמן היצירה ויורד רק כשהקריינות מוכנה, וקריינות שנכשלה לא עולה כלום. GET /v1/prices מחזיר עכשיו גם narration.

    לתיעוד: יצירת קריינות
  13. החלפת שפת הדיבור, גם דרך ה־API

    Reely שמע סרטון בשפה הלא נכונה? POST /v1/videos/{video_id}/language עם ה־language הנכונה (he, en, ru או ar), או הכלי change_spoken_language ב־MCP, והוא מקשיב לו שוב בשפה הזאת וכותב מחדש את התמלול, הכתוביות וכותרות הפתיחה. הוא לא מתרגם, ומילים שתוקנו ביד לא נשמרות.

    זה חינם, עד 3 פעמים לסרטון, וניסיון שנכשל לא נספר. התשובה היא 202 עם changed: true: קראו את הסרטון עד ש־status שוב ready. בקשה חוזרת לאותה שפה בטוחה: 200 עם changed: false, ושום החלפה לא נספרת. כשההחלפות נגמרות התשובה היא 409 עם הקוד language-change-limit-reached, והמגבלה לא מתאפסת. הסרטון צריך להיות מוכן, והקובץ המקורי שלו נשמר 30 יום: אחרי זה התשובה היא 410.

    בסרטון יש עכשיו language_changes_left, כמה החלפות נשארו, ו־language_change_failed, השפה שההחלפה האחרונה ניסתה כשהיא נכשלה; אז המילים נשארו בשפה שמוצגת.

    לתיעוד: שינוי שפת הדיבור
  14. Webhooks: הודעה חתומה לשרת שלכם כשמשהו קורה בחשבון

    במסוף המפתחים, בלשונית Webhooks, מוסיפים כתובת https ובוחרים אירועים, למשל video.ready (סרטון מוכן מכל סוג, עם data.kind), render.failed או balance.low. כל משלוח חתום לפי Standard Webhooks, בכותרות webhook-id, webhook-timestamp ו־webhook-signature, בסוד whsec_ משלו לכל כתובת.

    משלוח שלא קיבל 2xx תוך 15 שניות נשלח שוב, עם אותו מזהה ואותו גוף, עד 8 ניסיונות במשך יותר מיממה. יומן המשלוחים שומר כל ניסיון 30 יום, ומהמסוף אפשר לשלוח שוב ולשלוח אירוע בדיקה.

    לתיעוד: Webhooks
  15. Reely מזהה לבד את שפת הדיבור

    בלי language, POST /v1/videos כבר לא מתמלל מראש בעברית: Reely מקשיב לתחילת הסרטון, ואם שמע שם אנגלית, רוסית או ערבית, הוא מקשיב גם לקטע נוסף ממנו. הסרטון מתומלל בשפה אחרת רק כששני הקטעים שמעו אותה; כשהם לא מסכימים, או כש־Reely לא בטוח, הוא מתומלל בעברית, כמו קודם.

    כך גם בכלי finish_upload ב־MCP, ובסרטון שמגיע מקישור, דרך POST /v1/imports. language ששלחתם עדיין קובע, ואז Reely לא מנחש. שמע שפה לא נכונה? אפשר להחליף אותה בסטודיו של Reely אחרי שהסרטון נכנס.

    language בסרטון ובתמלול אומר באיזו שפה הסרטון תומלל בפועל: קראו אותו, ואל תניחו עברית.

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

    POST /v1/clips/{clip_id}/analysis/estimate ו־POST /v1/clips/{clip_id}/analysis מקבלים language: he, en, ru או ar. הפתיחים, הפרקים והתמלול יוצאים בשפה הזאת. title ו־why של רגע נשארים בעברית, למי שבוחר.

    ב־GET /v1/clips/{clip_id}, language_unconfirmed הוא true כש־Reely לא שומע בוודאות שמדברים בהקלטה בעברית, ו־detected_language מציע את מה שנשמע, או null כששמענו שפה שעוד לא נתמכת או שלא שמענו שפה בבירור. עד שנשלח language, ההערכה והניתוח עונים 409 עם הבעיה language-unconfirmed, ושום סכום לא מוחזק. שואלים את האדם, לא מנחשים.

    analysis_languages אומר באילו שפות אפשר להתחיל ניתוח עכשיו. הקלטה שנותחה בשפה ש־Reely בחר מנותחת שוב פעם אחת בחינם: שולחים redo: true עם language, וההערכה מחזירה free: true ו־amount_agorot 0. redo בלי language עונה 422.

    error.code של ניתוח יכול להיות גם no_audio, להקלטה בלי פס קול. אחרי no_speech או no_moments, retryable הוא true רק כשנשארה שפה שעוד לא ניסינו.

    לתיעוד: ניתוח הקלטה ארוכה
  17. ייבוא מקישור מקבל את שפת הדיבור

    POST /v1/imports מקבל language, כמו POST /v1/videos. סרטון של עד 4 דקות נכנס לסטודיו בשפה הזאת, והקלטה ארוכה מנותחת בה. בלי language, סרטון קצר מתומלל כמו סרטון שהועלה בלי שפה, והקלטה ארוכה שלא שמענו בה עברית בוודאות מחכה שיבחרו את השפה שלה.

    language חוזר ב־GET /v1/imports/{import_id}: השפה שנשלחה עם הייבוא, או זו שבחרו מאז לניתוח ההקלטה. null כשלא בחרו שפה, גם אם Reely שמע שפה וניתח בה.

    לתיעוד: ייבוא סרטון מקישור
  18. רגע שהריל שלו נמחק חוזר להיות פנוי

    כשמוחקים את הסרטון שנוצר מרגע, video_id של הרגע ב־GET /v1/clips/{clip_id} חוזר להיות null, ואפשר ליצור ממנו ריל שוב. קודם הוא הצביע על הסרטון שנמחק.

    לתיעוד: הקלטה ארוכה
  19. דפדוף ממזהה לא מוכר ברשימת חבילות המודעה מחזיר שגיאה

    כש־starting_after היה מזהה שאינו של אף חבילת מודעה בחשבון, GET /v1/ad-packs והכלי list_ad_packs ב־MCP החזירו דף ריק עם has_more: false, כך שנראה שהרשימה נגמרה. כש־starting_after היה ריק, הם החזירו שוב את הדף הראשון. מעכשיו בשני המקרים התשובה היא שגיאה invalid-input (סטטוס 422), עם starting_after ב־errors[0].path. גם מזהה של חבילה שנמחקה מאז מחזיר את השגיאה, כי חבילה נמחקת לגמרי: מתחילים שוב מהדף הראשון.

    לתיעוד: חבילות מודעה
  20. דפדוף ממזהה לא מוכר ברשימת הסרטונים מחזיר שגיאה

    GET /v1/videos והכלי list_videos ב־MCP החזירו את הדף הראשון כש־starting_after היה ריק, או מזהה שאין בחשבון סרטון שלו, כך שמי שהמשיך לדפדף קיבל שוב את אותם סרטונים. מעכשיו התשובה היא שגיאה invalid-input (סטטוס 422), עם starting_after ב־errors[0].path. סרטון שנמחק בינתיים עדיין מוביל לדף שאחריו.

    לתיעוד: רשימת סרטונים
  21. דפדוף ברשימת הסרטונים לא מדלג על סרטונים

    בדפדוף עם starting_after, GET /v1/videos והכלי list_videos ב־MCP דילגו על סרטונים שנוצרו באותה אלפית שנייה כמו הסרטון שממנו ממשיכים. מעכשיו כל סרטון מגיע פעם אחת, מהחדש לישן.

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

    GET /v1/clips והכלי list_clips ב־MCP החזירו את הדף הראשון כש־starting_after היה ריק, או מזהה שאין בחשבון הקלטה שלו, כך שמי שהמשיך לדפדף קיבל שוב את אותן הקלטות. מעכשיו התשובה היא שגיאה invalid-input (סטטוס 422), עם starting_after ב־errors[0].path. הקלטה שנמחקה בינתיים עדיין מובילה לדף שאחריה.

    לתיעוד: רשימת ההקלטות הארוכות
  23. דפדוף ברשימת ההקלטות הארוכות לא מדלג על הקלטות

    בדפדוף עם starting_after, GET /v1/clips והכלי list_clips ב־MCP דילגו על הקלטות שנוצרו באותה אלפית שנייה כמו ההקלטה שממנה ממשיכים. מעכשיו כל הקלטה מגיעה פעם אחת, מהחדשה לישנה.

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

    GET /v1/videos והכלי list_videos ב־MCP החזירו he ב־language של כל סרטון מוכן, גם כשמדברים בו אנגלית, רוסית או ערבית. מעכשיו כל סרטון ברשימה מגיע עם השפה שלו, כמו ב־GET /v1/videos/{video_id}.

    לתיעוד: רשימת סרטונים
  25. סרטונים גם באנגלית, ברוסית ובערבית

    POST /v1/videos מקבל language, השפה שמדברים בה בסרטון: he, en, ru או ar. בלי language, Reely מתמלל אותו בעברית, כמו קודם. גם הכלי finish_upload ב־MCP מקבל אותו. סרטון שמגיע מקישור, דרך POST /v1/imports, עדיין מתומלל בעברית, ואפשר להחליף את שפת הדיבור שלו בסטודיו של Reely אחרי שהוא נכנס. הקלטה ארוכה מתומללת בעברית בלבד.

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

    language חוזר בסרטון ובתמלול. בסרטון הוא null כל עוד השפה לא ידועה; בתמלול הוא היה תמיד he, ועכשיו הוא יכול להיות כל אחת מארבע השפות.

    לתיעוד: יצירת סרטון מקובץ שהועלה
  26. עוזר שרץ במחשב מעלה סרטון דרך MCP

    שני כלים חדשים בשרת ה־MCP: start_upload מחזיר כתובת העלאה חתומה ופקודת curl מוכנה, העוזר מריץ אותה, ו־finish_upload יוצר את הסרטון. עד 500MB, ב־MP4, MOV או WebM, בתוך 15 דקות.

    הם לעוזר שמריץ פקודות במחשב שבו הקובץ נמצא, כמו Claude Code, Cursor או Gemini CLI. עוזר בצ׳אט, כמו Claude או ChatGPT, לא מגיע לקבצים שבמחשב.

    לתיעוד: עוזרי AI

העמוד לא נטען עד הסוף.