עוזרי AI
Claude, ChatGPT, Cursor וכל עוזר שמדבר MCP מתחברים ל־Reely בכתובת אחת ועובדים בשבילכם: מעלים סרטון, מתמחרים ומרנדרים ריל, רק במחיר שאישרתם.
- כתובת השרת
- https://app.reely.co.il/mcp
- פרוטוקול
- MCP ב־Streamable HTTP. כל בקשה עומדת בפני עצמה.
- אימות
- כניסה ואישור בדפדפן (OAuth 2.1), או מפתח API: Authorization: Bearer rly_…
- כסף
- אותם מחירים כמו באפליקציה וב־API, ושום חיוב בלי מחיר מאושר.
מחברים עוזר
מוסיפים את Reely
בהגדרות של העוזר מוסיפים שרת MCP, שלפעמים נקרא שם Connector או מחבר, עם הכתובת
https://app.reely.co.il/mcp. לכל עוזר יש מדריך עם המסכים שלו:נכנסים ומאשרים
העוזר פותח את Reely בדפדפן. נכנסים לחשבון ומחליטים מה מותר לו: לראות תמיד, ליצור ולרנדר רק אם הסימון נשאר. על כל עוזר שמתחבר נשלחת אליכם הודעה.
מבקשים במילים
מעכשיו העוזר משתמש ב־Reely כשמבקשים ממנו, למשל: «תכין ריל מהסרטון האחרון שהעליתי, עם כתוביות קריוקי, ותגיד לי כמה זה עולה». לפני כל חיוב הוא מראה את המחיר ומחכה לאישור.
מנתקים בחיבורים: ההרשאה נמחקת מיד, והקריאה הבאה של העוזר נדחית. יציאה מ־Reely בדפדפן לא מנתקת עוזרים.
עם מפתח API
לסוכן שרץ בשרת או ב־CI, או לכלי שלא נכנס דרך הדפדפן: שולחים מפתח API בכותרת Authorization. ב־MCP יש לו אותן הרשאות, אותו תקציב פרויקט ואותן מגבלות קצב כמו ב־API, ומפתח בדיקה חינמי גם כאן.
שמרו את המפתח במשתנה הסביבה REELY_API_KEY, ותנו לכל מכונה מפתח משלה: כך מבטלים אחד בלי לעצור את השאר. ליצירת מפתח
Claude Code
claude mcp add --transport http --scope user reely https://app.reely.co.il/mcp \
--header "Authorization: Bearer $REELY_API_KEY"Gemini CLI
gemini mcp add --transport http --scope user \
--header "Authorization: Bearer $REELY_API_KEY" reely https://app.reely.co.il/mcpCursor, בקובץ ~/.cursor/mcp.json
{
"mcpServers": {
"reely": {
"url": "https://app.reely.co.il/mcp",
"headers": {
"Authorization": "Bearer ${env:REELY_API_KEY}"
}
}
}
}VS Code, בקובץ .vscode/mcp.json
{
"inputs": [
{
"type": "promptString",
"id": "reely-key",
"description": "Reely API key",
"password": true
}
],
"servers": {
"reely": {
"type": "http",
"url": "https://app.reely.co.il/mcp",
"headers": {
"Authorization": "Bearer ${input:reely-key}"
}
}
}
}VS Code שואל את המפתח בפעם הראשונה ושומר אותו מוצפן, כך שהוא לא נכנס לקובץ.
בדיקה: אילו כלים המפתח מקבל
curl -sS https://app.reely.co.il/mcp \
-H "Authorization: Bearer $REELY_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'התשובה היא רשימת הכלים של המפתח. 401 אומר שהמפתח שגוי, פג או בוטל.
מחיר לפני כל חיוב
כלי שעולה כסף לא רץ במחיר שלא אושר. לכל אחד מהם יש כלי הערכה חינמי, והוא מקבל את הסכום מההערכה ב־expected_amount_agorot:
- רינדור ריל
estimate_renderואזcreate_render- יצירת תמונת AI
estimate_image_generationואזgenerate_image- ניתוח הקלטה ארוכה
estimate_clip_analysisואזanalyze_clip
- הכלי שמחייב מסומן כפעולה שדורשת אישור (
destructiveHint), ועוזרים שמכבדים את הסימון שואלים אתכם לפני שהם מריצים אותו. - אם המחיר השתנה מאז ההערכה, לא נגבה כלום: התשובה היא שגיאה עם המחיר החדש, והעוזר שואל שוב.
- אותם פרטים בתוך 24 שעות מחזירים את התוצאה הראשונה במקום לחייב שוב. כדי לחזור על אותה עבודה בכוונה, העוזר שולח
idempotency_keyחדש. - הסכום נשמר כשהעבודה מתחילה, נגבה כשהיא מוכנה, ומשתחרר אם היא נכשלת.
קריאה ל־create_render
{
"jsonrpc": "2.0",
"id": 7,
"method": "tools/call",
"params": {
"name": "create_render",
"arguments": {
"video_id": "vid_8f14e45f-ceea-4e7a-9b1c-2f7a0c3d9e61",
"expected_amount_agorot": 1320,
"style": "karaoke",
"hook": "שלוש טעויות שעולות לכם כסף",
"extras": {
"broll": {
"on": true
}
}
}
}
}סרטון מהמחשב או מקישור
עוזר שרץ במחשב שלכם, כמו Claude Code, Cursor או Gemini CLI, מעלה קובץ בשלושה צעדים: start_upload מחזיר כתובת העלאה חתומה ופקודת curl מוכנה, העוזר מריץ אותה, ו־finish_upload יוצר את הסרטון. עד 500MB, ב־MP4, MOV או WebM, בתוך 15 דקות.
עוזר בצ׳אט, כמו Claude או ChatGPT, לא מגיע לקבצים שלכם. הוא מבקש קישור ומייבא אותו ב־import_from_link: קישור שיתוף פתוח של Google Drive, Dropbox או OneDrive, או קישור ישיר לקובץ.
הכלים
כל כלי הוא קריאה אחת ל־API, עם אותן בדיקות ואותו חיוב, והיא נרשמת ביומן הקריאות. העוזר מקבל רק את הכלים של מה שפתוח בחשבון ושל ההרשאות שאישרתם: בלי «יצירה» הוא יכול רק לראות.
חשבון
whoamiקריאההחשבון והמפתח של הקריאה
מה העוזר קורא עליו
Returns the Reely account this assistant is connected to (name, email, live or test). Use it to confirm the connection.
get_balanceקריאהיתרת קרדיטים
מה העוזר קורא עליו
The account's credit balance in shekels (available, and held for renders in progress).
get_pricesבלי מפתחמחירון
מה העוזר קורא עליו
Reely's price list in shekels: a reel is priced per finished second (music, captions and every format included), plus optional B-roll and narration.
list_brandsקריאהמותגים
מה העוזר קורא עליו
Lists the user's brands (name, colours, logo). When the user names a brand ("בסגנון של המותג X"), find its id here and pass it as brand_id.
העלאות
start_uploadיצירההתחלת העלאה
מה העוזר קורא עליו
Starts uploading a video file from the user's computer (MP4, MOV or WebM, up to 500 MB). Only for an assistant that can run commands where the file is (Claude Code, Cursor, Gemini CLI, a terminal, an automation): a chat assistant can't reach the user's files, so it asks for a share link and uses import_from_link instead. Returns a signed upload_url; PUT the file's bytes to it with the exact command in the answer, within 15 minutes, then call finish_upload with the upload's id. Free.
import_from_linkיצירהייבוא סרטון מקישור
מה העוזר קורא עליו
Brings the user's video into Reely from a link. A chat assistant can't send a file from the user's device, so this is the way in: ask for a link to a video they own or have the rights to, either a Google Drive, Dropbox or OneDrive share link set to "anyone with the link", or a direct link to an MP4, MOV, WebM or MKV file. Up to 2 hours and 5 GB. YouTube and Instagram links are refused. Free. Then call get_import every few seconds until its status is ready or failed. A video of up to 4 minutes becomes a studio video: pass its video_id to get_video (wait for ready), then estimate_render and create_render. A longer recording (a lecture, a podcast) comes back with long_recording true and a clip_id: call estimate_clip_analysis with it, then analyze_clip once the user agrees to the price.
get_importקריאהמצב ייבוא
GET /api/v1/imports/{import_id}
מה העוזר קורא עליו
An import's progress: importing (with progress 0-100), checking, then ready or failed. Poll it every few seconds after import_from_link. When ready with a video_id, the video is in the studio: poll get_video until it is ready, then estimate_render and create_render. When ready with long_recording true, it is a clip: call estimate_clip_analysis with its clip_id and show the user the price. When failed, tell the user error.message (Hebrew): it says what went wrong and what to do. Nothing was charged.
סרטונים
finish_uploadיצירהיצירת סרטון מקובץ שהועלה
מה העוזר קורא עליו
Call it once the file's PUT to upload_url has succeeded: Reely checks the file, transcribes what is said in Hebrew and suggests opening titles. Free. Then call get_video every few seconds until its status is ready (usually under a minute), and price a reel with estimate_render. Pass brand_id (from list_brands) to make it in that brand.
list_videosקריאהרשימת סרטונים
מה העוזר קורא עליו
Lists the user's videos (newest first) with their status. Use it to find a video the user refers to by name ("הסרטון של המאפייה").
get_videoקריאהסרטון
מה העוזר קורא עליו
A video's processing status (ready means it can be rendered), its suggested opening titles and its reels.
get_transcriptionקריאהתמלול
GET /api/v1/videos/{video_id}/transcription
מה העוזר קורא עליו
The Hebrew transcript of a video, with word timings. Use it to write a title or a post from what was said.
רינדורים
estimate_renderקריאההצעת מחיר לרינדור
חינם. מחזיר את המחיר ל־
create_render.מה העוזר קורא עליו
Prices a reel for a ready video, in shekels, without spending. ALWAYS call this first and show the user the price (formatted, e.g. ₪1.20) before calling create_render.
create_renderיצירהרינדור ריל
עולה כסף, ורק במחיר מ־
estimate_render.מה העוזר קורא עליו
Renders the reel and SPENDS the user's credits. Only call it after estimate_render, after the user agreed to that exact price; pass the amount as expected_amount_agorot. If the price changed you get the new one and nothing is charged: ask again.
get_renderקריאהרינדור
GET /api/v1/renders/{render_id}
מה העוזר קורא עליו
A reel's progress (queued, rendering, done, failed) and, once done, its download link. Poll every 5–10 seconds; a reel takes about a minute.
make_formatsיצירהכל הפורמטים
POST /api/v1/renders/{render_id}/formats
מה העוזר קורא עליו
Makes the finished reel in 4:5, 1:1, 16:9 and 4:3 too, for free. The reel must be done.
get_captionsקריאהקובץ כתוביות
GET /api/v1/renders/{render_id}/captions.srt
מה העוזר קורא עליו
The finished reel's captions as SRT text.
הקלטות ארוכות
list_clipsקריאההקלטות ארוכות
מה העוזר קורא עליו
Lists the user's long recordings (lectures, podcasts, webinars), newest first, with their status. Use it to find the recording the user means ("ההרצאה מאתמול").
get_clipקריאההקלטה ארוכה
מה העוזר קורא עליו
A long recording's status. While analyzing, poll it every 10-20 seconds (a one-hour lecture takes a few minutes). Once analyzed it lists the moments for reels, strongest first: show the user each moment's title, hook, why and duration, and let them choose; then call create_clip_reels with the chosen moment ids. It also has the chapters and youtube_chapters, a ready chapter list for a YouTube description.
estimate_clip_analysisקריאההצעת מחיר לניתוח
POST /api/v1/clips/{clip_id}/analysis/estimate
חינם. מחזיר את המחיר ל־
analyze_clip.מה העוזר קורא עליו
Prices the analysis of a long recording, in shekels, without spending: transcription, the moments for reels and chapters, priced per minute. ALWAYS call it first and show the user the price (formatted, e.g. ₪9.60) before calling analyze_clip. The recording's status must be ready.
analyze_clipיצירהניתוח הקלטה ארוכה
POST /api/v1/clips/{clip_id}/analysis
עולה כסף, ורק במחיר מ־
estimate_clip_analysis.מה העוזר קורא עליו
Starts the analysis of a long recording and SPENDS the user's credits. Only call it after estimate_clip_analysis, after the user agreed to that exact price; pass the amount as expected_amount_agorot. If the price changed you get the new one and nothing is charged: ask again. Then poll get_clip until its status is analyzed. A failed analysis is never charged.
adjust_momentיצירההזזת רגע
POST /api/v1/clips/{clip_id}/moments/{moment_id}
מה העוזר קורא עליו
Moves a moment's start and end, in seconds on the recording's clock, when the user wants its reel to start earlier or end later. Both snap to word boundaries; the moment stays 15 to 90 seconds. Free. Only before create_clip_reels made its reel.
name_speakerיצירהשם לדובר
POST /api/v1/clips/{clip_id}/speakers/{speaker_id}
מה העוזר קורא עליו
Names one of the voices in an analyzed long recording, so its reels show the name when that person first talks and the transcript uses it. Ask the user who each speaker is (a suggested_name is a guess from the recording) before calling it, and before create_clip_reels. Free.
create_clip_reelsיצירהרילים מרגעים
POST /api/v1/clips/{clip_id}/reels
מה העוזר קורא עליו
Turns the moments the user chose into reels waiting in the studio, one studio video each. Free: nothing is rendered or charged yet. Then poll get_video for each video_id until it is ready, and render each with estimate_render and create_render once the user agrees to the price (each reel is priced by its length, like any reel).
get_clip_transcriptקריאהתמלול הקלטה ארוכה
GET /api/v1/clips/{clip_id}/transcription
מה העוזר קורא עליו
The Hebrew transcript of an analyzed long recording, in paragraphs under its chapter titles. Use it to write a summary, a post or show notes from what was said. A two-hour recording's transcript is long.
יצירות
estimate_image_generationקריאההצעת מחיר לתמונת AI
POST /api/v1/generate/image/estimate
חינם. מחזיר את המחיר ל־
generate_image.מה העוזר קורא עליו
Prices one AI image, in shekels, without spending. ALWAYS call it first and show the user the price (formatted, e.g. ₪0.35) before calling generate_image. Every shape costs the same.
generate_imageיצירהיצירת תמונת AI
עולה כסף, ורק במחיר מ־
estimate_image_generation.מה העוזר קורא עליו
Makes an AI picture from a description and SPENDS the user's credits. Only call it after estimate_image_generation, after the user agreed to that exact price; pass the amount as expected_amount_agorot. Describe the subject, setting, light and style; the picture has no text in it. If the price changed you get the new one and nothing is charged: ask again. Then poll get_generation until it's ready. A failed picture is never charged.
get_generationקריאהיצירה
GET /api/v1/generations/{generation_id}
מה העוזר קורא עליו
An AI image's or shot's status. While it's being made, poll it (every few seconds for a picture, every 10 seconds for a shot). Once ready, show the user the url, a link to the file that works for 24 hours. A failed one says why and was not charged.
פרסום
create_ad_packיצירההכנת חבילת מודעה
מה העוזר קורא עליו
Makes a free ad pack from one of the user's finished reels: the reel's versions in 9:16, 4:5 and 1:1, with three primary texts, three headlines and a call-to-action button written in the brand's voice, zipped for Meta's Ads Manager. Use it when the user wants to advertise a reel ("מודעה", "קמפיין", "לקדם"). It doesn't run an ad or spend anything. Then call get_ad_pack every few seconds until status is done and give the user zip.url.
get_ad_packקריאהחבילת מודעה
GET /api/v1/ad-packs/{ad_pack_id}
מה העוזר קורא עליו
An ad pack's progress (queued, cutting, writing, zipping, done or failed) and, once done, zip.url: a link to the ZIP for Ads Manager, valid for an hour. Poll it every few seconds after create_ad_pack. When it failed, tell the user error.message (Hebrew).
list_ad_packsקריאהחבילות מודעה
מה העוזר קורא עליו
Lists the user's ad packs, newest first, with their status. Use it to find the pack the user means; get_ad_pack has its ZIP.
קולות
list_voicesקריאהרשימת הקולות
מה העוזר קורא עליו
Lists the Hebrew voices a reel's narration can be read in: id, Hebrew name, gender, tone and a one-line Hebrew description, with a sample to listen to. When the user wants narration ("קריינות", "קול"), pick the voice that fits what they asked for, or the one they name, and pass its id as extras.voice.voice to both estimate_render and create_render. Hebrew is gendered: write a first-person script in the voice's gender.
ללקוחות OAuth
למי שבונה לקוח MCP. העוזרים המוכרים כבר עושים את כל זה בעצמם.
- גילוי
/.well-known/oauth-protected-resource/mcp(RFC 9728) מוביל ל־/.well-known/oauth-authorization-server(RFC 8414), ושם כל הכתובות.- רישום
client_idשהוא כתובת https של מסמך מטא־דאטה (CIMD), או רישום דינמי ב־/api/auth/oauth2/register(RFC 7591).- הרשאה
authorization_codeעם PKCE ב־S256בלבד.- משאב
resource=https://app.reely.co.il/mcp(RFC 8707) בבקשת ההרשאה ובבקשת הטוקן. טוקן בלעדיו לא מתקבל ב־/mcp.- הרשאות
read,createו־offline_accessכדי להישאר מחובר. הרשאה שאף כלי עוד לא צריך לא ניתנת.- טוקנים
- טוקן גישה תקף שעה. טוקן רענון תקף 30 יום ומתחלף בכל שימוש, ואת אותו רענון אפשר לשלוח שוב עד 30 שניות אחריו.
- כתובות חזרה
- https; http רק למחשב עצמו (
localhost,127.0.0.1או[::1]), בכל פורט; או scheme של אפליקציה בצורת דומיין הפוך, כמוcom.example.app:/callback(RFC 8252). scheme של מילה אחת מתקבל רק מאפליקציות שאנחנו מכירים, Cursor, VS Code ו־Windsurf, כי מילה אחת יכולה להיות של דפדפן שמעביר את האישור הלאה לאתר. כתובת אחרת נדחית ברישום עםinvalid_redirect_uri. - ניתוק
401עםWWW-Authenticateשמפנה ל־resource_metadata: מתחילים הרשאה מחדש.- דפדפן
- CORS פתוח לכל מקור, עם הטוקן בכותרת בלבד ובלי עוגיות.