יומן שינויים
מה השתנה ב־API, בחיבור לעוזרי AI וב־webhooks, מהחדש לישן.
תזמון ופרסום של פוסטים, גם דרך ה־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, כדי שניסיון חוזר לא יפרסם פעמיים, ומפתח בדיקה שומר טיוטות בלבד. את החשבונות מחברים באפליקציה.תרגום ודיבוב, גם דרך ה־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עםkinddub, כך שכתובת שכבר מקבלתvideo.readyמקבלת גם אותה.קול משובט, האישור לשפתיים, הרקע והכתוביות נקבעים בעמוד הדיבוב באפליקציה.
לתיעוד: תרגום ודיבוב של סרטוןDELETE /v1/dubs/{dub_id}/languages/{language}מוחק שפה אחת, ו־DELETE /v1/dubs/{dub_id}את הדיבוב כולו.אווטר מדבר, גם דרך ה־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עםkindavatar_video, כך שכתובת שכבר מקבלתvideo.readyמקבלת גם אותו.מפתח בדיקה מקבל הצעת מחיר ולא יוצר סרטון. את האווטרים עצמם יוצרים באפליקציה.
לתיעוד: יצירת סרטון של אווטר מדברWebhook: הקלטה ארוכה מחכה לשפת הדיבור
אירוע חדש,
clips.waiting: ניתוח של הקלטה ארוכה, שאושר באפליקציה עוד לפני שהאורך היה ידוע, לא התחיל, כי Reely לא שמע בוודאות שמדברים בה בעברית. שום סכום לא הוחזק. ב־dataישclip_idו־brand_id, ולא השפה שנשמעה.שאלו את האדם באיזו שפה מדברים בהקלטה:
לתיעוד: Webhooksdetected_languageב־GET /v1/clips/{clip_id}רק מציע.POST /v1/clips/{clip_id}/analysis/estimateעם השפה הזאת ב־languageמחזיר את המחיר, ו־POST /v1/clips/{clip_id}/analysisמתחיל את הניתוח.תמונות מהסרטון עצמו, בקרוסלות ובבאנרים
ל־
לתיעוד: קרוסלה אחתimage_sourceשל קרוסלה ושל באנר יש ערך חדש,frame: התמונות הן רגעים מהסרטון שממנו הם נכתבו, בלי עלות. בוחרים אותו באפליקציה, כשכותבים מריל. ה־API יוצר אותם כמו קודם, עםstock,aiאוnone. אוטומציה שבודקת אתimage_sourceמול רשימה סגורה של ערכים צריכה להכיר אותו.המגבלה של המפתח, גם ב־GET /v1/me
ב־
לתיעוד: החשבון והמפתח של הקריאהkeyשלGET /v1/meיש עכשיוlimit_agorot, המגבלה לכל חיי המפתח כפי שנקבעה במסוף (nullכשאין), ו־spent_agorot, כמה המפתח כבר הוציא ממנה: מה שחויב ומה שמוחזק לעבודה שעוד רצה. שניהם סופרים את כל הסיבובים של המפתח, כמו המסוף, וכמו הבדיקה שעוצרת קריאה עם 402key-limit-reached. כך אוטומציה יכולה להראות כשהיא מתחברת כמה נשאר למפתח שלה.קרוסלות עם תמונות AI, גם דרך ה־API
POST /v1/carousels/estimateעםtype,slidesו־image_sourceמחזיר בחינם, גם עם מפתח בדיקה, מה הקרוסלה עולה: הכתיבה בלי עלות, ועםimage_sourceaiיש תמונת AI לשקופית הפתיחה ולכל שקופית שמציגה תמונה. כמה תמונות ב־pictures, והמחיר שלהן ב־amount_agorot.export_amount_agorotהוא מחיר הייצוא הראשון. ב־MCP זה הכליestimate_carousel.POST /v1/carouselsמקבל עכשיו גםimage_sourceai, עםexpected_amount_agorotשהואamount_agorotשל ההערכה. מחיר אחר מקבל 409price-changedבלי חיוב, ובקשה בלי הסכום מקבלת 422. כל תמונה נשמרת בצד בנפרד ונגבית כשהיא נוצרת, ותמונה שהכתיבה לא צריכה חוזרת ליתרה מיד. יומן הקריאות, התקציב של הפרויקט והמגבלה של המפתח סופרים כל אחת מהן.עם
לתיעוד: הצעת מחיר לקרוסלהstockאוnoneה־REST נשאר כמו שהיה:expected_amount_agorotלא חובה, ואם שולחים אותו הוא 0. הכליcreate_carouselב־MCP מבקש אותו תמיד, כך שעוזר מתמחר כל קרוסלה לפני שהוא יוצר אותה, כמו כל באנר.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נעצרת מיד.פתיחת כתובת לא מקבלת
לתיעוד: WebhooksIdempotency-Key. אם התשובה לא הגיעה, הבקשה החוזרת מקבלת 409webhook-existsעםwebhook_id: מוחקים את הכתובת הזאת ופותחים אותה מחדש. נדרשת הרשאתwebhooksחדשה, שרק מפתחות מקבלים. חיבור של עוזר AI לא מקבל אותה.קרוסלות, גם דרך ה־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}מוחק קרוסלה.מפתח שחוזר אחרי 24 שעות עם בקשה אחרת
Idempotency-Keyשנשלח שוב אחרי יותר מ־24 שעות עם בקשה אחרת מתחיל עכשיו עבודה חדשה, כמו שהתיעוד אומר. עד היוםPOST /v1/renders,POST /v1/generate/imageו־POST /v1/generate/videoהחזירו במקרה כזה, עם 200, את הריל, התמונה או השוט שהמפתח יצר בפעם הראשונה. אף אחד לא חויב פעמיים.בתוך 24 השעות דבר לא משתנה: ניסיון חוזר מקבל את התשובה הראשונה, ובקשה אחרת עם אותו מפתח מקבלת 422
לתיעוד: התחלה מהירהidempotency-key-reused. עדיף תמיד מפתח חדש, למשל UUID, לכל בקשה.קריינות מטקסט, גם דרך ה־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.החלפת שפת הדיבור, גם דרך ה־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, השפה שההחלפה האחרונה ניסתה כשהיא נכשלה; אז המילים נשארו בשפה שמוצגת.Webhooks: הודעה חתומה לשרת שלכם כשמשהו קורה בחשבון
במסוף המפתחים, בלשונית Webhooks, מוסיפים כתובת https ובוחרים אירועים, למשל
video.ready(סרטון מוכן מכל סוג, עםdata.kind),render.failedאוbalance.low. כל משלוח חתום לפי Standard Webhooks, בכותרותwebhook-id,webhook-timestampו־webhook-signature, בסודwhsec_משלו לכל כתובת.משלוח שלא קיבל 2xx תוך 15 שניות נשלח שוב, עם אותו מזהה ואותו גוף, עד 8 ניסיונות במשך יותר מיממה. יומן המשלוחים שומר כל ניסיון 30 יום, ומהמסוף אפשר לשלוח שוב ולשלוח אירוע בדיקה.
לתיעוד: WebhooksReely מזהה לבד את שפת הדיבור
בלי
language,POST /v1/videosכבר לא מתמלל מראש בעברית: Reely מקשיב לתחילת הסרטון, ואם שמע שם אנגלית, רוסית או ערבית, הוא מקשיב גם לקטע נוסף ממנו. הסרטון מתומלל בשפה אחרת רק כששני הקטעים שמעו אותה; כשהם לא מסכימים, או כש־Reely לא בטוח, הוא מתומלל בעברית, כמו קודם.כך גם בכלי
finish_uploadב־MCP, ובסרטון שמגיע מקישור, דרךPOST /v1/imports.languageששלחתם עדיין קובע, ואז Reely לא מנחש. שמע שפה לא נכונה? אפשר להחליף אותה בסטודיו של Reely אחרי שהסרטון נכנס.
לתיעוד: יצירת סרטון מקובץ שהועלהlanguageבסרטון ובתמלול אומר באיזו שפה הסרטון תומלל בפועל: קראו אותו, ואל תניחו עברית.הקלטה ארוכה מנותחת בשפה שמדברים בה
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_agorot0.redoבליlanguageעונה 422.
לתיעוד: ניתוח הקלטה ארוכהerror.codeשל ניתוח יכול להיות גםno_audio, להקלטה בלי פס קול. אחריno_speechאוno_moments,retryableהואtrueרק כשנשארה שפה שעוד לא ניסינו.ייבוא מקישור מקבל את שפת הדיבור
POST /v1/importsמקבלlanguage, כמוPOST /v1/videos. סרטון של עד 4 דקות נכנס לסטודיו בשפה הזאת, והקלטה ארוכה מנותחת בה. בליlanguage, סרטון קצר מתומלל כמו סרטון שהועלה בלי שפה, והקלטה ארוכה שלא שמענו בה עברית בוודאות מחכה שיבחרו את השפה שלה.
לתיעוד: ייבוא סרטון מקישורlanguageחוזר ב־GET /v1/imports/{import_id}: השפה שנשלחה עם הייבוא, או זו שבחרו מאז לניתוח ההקלטה.nullכשלא בחרו שפה, גם אם Reely שמע שפה וניתח בה.רגע שהריל שלו נמחק חוזר להיות פנוי
כשמוחקים את הסרטון שנוצר מרגע,
לתיעוד: הקלטה ארוכהvideo_idשל הרגע ב־GET /v1/clips/{clip_id}חוזר להיותnull, ואפשר ליצור ממנו ריל שוב. קודם הוא הצביע על הסרטון שנמחק.דפדוף ממזהה לא מוכר ברשימת חבילות המודעה מחזיר שגיאה
כש־
לתיעוד: חבילות מודעהstarting_afterהיה מזהה שאינו של אף חבילת מודעה בחשבון,GET /v1/ad-packsוהכליlist_ad_packsב־MCP החזירו דף ריק עםhas_more: false, כך שנראה שהרשימה נגמרה. כש־starting_afterהיה ריק, הם החזירו שוב את הדף הראשון. מעכשיו בשני המקרים התשובה היא שגיאהinvalid-input(סטטוס 422), עםstarting_afterב־errors[0].path. גם מזהה של חבילה שנמחקה מאז מחזיר את השגיאה, כי חבילה נמחקת לגמרי: מתחילים שוב מהדף הראשון.דפדוף ממזהה לא מוכר ברשימת הסרטונים מחזיר שגיאה
לתיעוד: רשימת סרטוניםGET /v1/videosוהכליlist_videosב־MCP החזירו את הדף הראשון כש־starting_afterהיה ריק, או מזהה שאין בחשבון סרטון שלו, כך שמי שהמשיך לדפדף קיבל שוב את אותם סרטונים. מעכשיו התשובה היא שגיאהinvalid-input(סטטוס 422), עםstarting_afterב־errors[0].path. סרטון שנמחק בינתיים עדיין מוביל לדף שאחריו.דפדוף ברשימת הסרטונים לא מדלג על סרטונים
בדפדוף עם
לתיעוד: רשימת סרטוניםstarting_after,GET /v1/videosוהכליlist_videosב־MCP דילגו על סרטונים שנוצרו באותה אלפית שנייה כמו הסרטון שממנו ממשיכים. מעכשיו כל סרטון מגיע פעם אחת, מהחדש לישן.דפדוף ממזהה לא מוכר ברשימת ההקלטות הארוכות מחזיר שגיאה
לתיעוד: רשימת ההקלטות הארוכותGET /v1/clipsוהכליlist_clipsב־MCP החזירו את הדף הראשון כש־starting_afterהיה ריק, או מזהה שאין בחשבון הקלטה שלו, כך שמי שהמשיך לדפדף קיבל שוב את אותן הקלטות. מעכשיו התשובה היא שגיאהinvalid-input(סטטוס 422), עםstarting_afterב־errors[0].path. הקלטה שנמחקה בינתיים עדיין מובילה לדף שאחריה.דפדוף ברשימת ההקלטות הארוכות לא מדלג על הקלטות
בדפדוף עם
לתיעוד: רשימת ההקלטות הארוכותstarting_after,GET /v1/clipsוהכליlist_clipsב־MCP דילגו על הקלטות שנוצרו באותה אלפית שנייה כמו ההקלטה שממנה ממשיכים. מעכשיו כל הקלטה מגיעה פעם אחת, מהחדשה לישנה.רשימת הסרטונים מחזירה את השפה של כל סרטון
לתיעוד: רשימת סרטוניםGET /v1/videosוהכליlist_videosב־MCP החזירוheב־languageשל כל סרטון מוכן, גם כשמדברים בו אנגלית, רוסית או ערבית. מעכשיו כל סרטון ברשימה מגיע עם השפה שלו, כמו ב־GET /v1/videos/{video_id}.סרטונים גם באנגלית, ברוסית ובערבית
POST /v1/videosמקבלlanguage, השפה שמדברים בה בסרטון:he,en,ruאוar. בליlanguage, Reely מתמלל אותו בעברית, כמו קודם. גם הכליfinish_uploadב־MCP מקבל אותו. סרטון שמגיע מקישור, דרךPOST /v1/imports, עדיין מתומלל בעברית, ואפשר להחליף את שפת הדיבור שלו בסטודיו של Reely אחרי שהוא נכנס. הקלטה ארוכה מתומללת בעברית בלבד.התמלול, הכותרות המוצעות והטקסט לפוסט יוצאים בשפה הזאת, והכתוביות שנצרבות בסרטון נקראות בכיוון שלה.
לתיעוד: יצירת סרטון מקובץ שהועלהlanguageחוזר בסרטון ובתמלול. בסרטון הואnullכל עוד השפה לא ידועה; בתמלול הוא היה תמידhe, ועכשיו הוא יכול להיות כל אחת מארבע השפות.ייבוא שנשלח שוב עונה בלי הקישור
POST /v1/importsשנשלח שוב עם אותוIdempotency-Keyמקבל את התשובה של הפעם הראשונה, חוץ מ־url, שמגיעnull, כי Reely לא שומר את הקישור.ביומן הקריאות נשמר רק האתר של הקישור (
לתיעוד: ייבוא סרטון מקישורhttps://www.dropbox.com/[redacted]), ולכן אי אפשר להעתיק קריאה כזאת כ־curl או להריץ אותה שוב מהיומן. שולחים אותה שוב, עם הקישור.ייבוא שוכח את הקישור כשהקובץ נכנס
לתיעוד: מצב ייבואGET /v1/imports/{import_id}: אחרי שהקובץ נכנס,urlמגיעnull, כי Reely שומר רק את האתר של הקישור.filenameהוא השם ש־Reely נותן, "סרטון מ…", ולא שם הקובץ בקישור.עוזר שרץ במחשב מעלה סרטון דרך MCP
שני כלים חדשים בשרת ה־MCP:
start_uploadמחזיר כתובת העלאה חתומה ופקודתcurlמוכנה, העוזר מריץ אותה, ו־finish_uploadיוצר את הסרטון. עד 500MB, ב־MP4, MOV או WebM, בתוך 15 דקות.הם לעוזר שמריץ פקודות במחשב שבו הקובץ נמצא, כמו Claude Code, Cursor או Gemini CLI. עוזר בצ׳אט, כמו Claude או ChatGPT, לא מגיע לקבצים שבמחשב.
לתיעוד: עוזרי AI