ה־API של Reely
סרטון מדבר נכנס, ריל בעברית יוצא: כתוביות, כותרת פתיחה, מוזיקה והסרת שקטים, בכל הפורמטים. המחיר ידוע לפני החיוב, ומפתח הבדיקה חינמי.
- כתובת בסיס
- https://app.reely.co.il/api/v1
- אימות
- Authorization: Bearer rly_…
- כסף
- באגורות: 1320 הם ₪13.20
מפתח בדיקה או מפתח חי
מפתח בדיקה (rly_test_…) חינמי: הוא מחזיר ריל קטן עם סימן מים, בלי מוזיקה, B-roll או קריינות, עד 20 רינדורים ביום. מפתח חי (rly_live_…) מחייב את היתרה שלכם, באותו מחיר כמו באפליקציה.
רואים את המפתח פעם אחת, כשהוא נוצר. שמרו אותו במשתנה סביבה, לא בקוד ולא בדפדפן. ליצירת מפתח
קריאה ראשונה
GET /v1/me מחזיר את החשבון שמאחורי המפתח. אם הוא עונה, הכול מחובר.
מי אני
export REELY_API_KEY='rly_test_…'
curl 'https://app.reely.co.il/api/v1/me' \
-H "Authorization: Bearer $REELY_API_KEY"מסרטון לריל
מעלים את הקובץ
מבקשים כתובת העלאה, ושולחים אליה את הקובץ ב־
PUTעם הכותרות שב־headers. עד 500MB, ב־MP4, MOV או WebM. בחיבור לא יציב,multipart: trueמחזיר כתובת לכל חלק של 16MB.כתובת העלאה
curl -X POST 'https://app.reely.co.il/api/v1/uploads' \ -H "Authorization: Bearer $REELY_API_KEY" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{ "filename": "talk.mp4", "size_bytes": 48213504, "content_type": "video/mp4" }'העלאת הקובץ
curl -X PUT "$UPLOAD_URL" \ -H "Content-Type: video/mp4" \ --data-binary @talk.mp4יוצרים סרטון
POST /v1/videosעם ה־upload_id. Reely בודק את הקובץ, מתמלל בעברית ומציע כותרות. זה חינם.סרטון מההעלאה
curl -X POST 'https://app.reely.co.il/api/v1/videos' \ -H "Authorization: Bearer $REELY_API_KEY" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{ "upload_id": "vid_8f14e45f-ceea-4e7a-9b1c-2f7a0c3d9e61" }'מחכים שיהיה מוכן
בודקים את
GET /v1/videos/{video_id}כל כמה שניות, עד ש־statusהואready. התמלול מחכה ב־/transcription.מצב הסרטון
curl 'https://app.reely.co.il/api/v1/videos/vid_8f14e45f-ceea-4e7a-9b1c-2f7a0c3d9e61' \ -H "Authorization: Bearer $REELY_API_KEY"מתמחרים
POST /v1/renders/estimateמחזיר את המחיר המדויק, לפי אורך הריל הסופי והתוספות. הציגו אותו לפני שממשיכים.הערכת מחיר
curl -X POST 'https://app.reely.co.il/api/v1/renders/estimate' \ -H "Authorization: Bearer $REELY_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "video_id": "vid_8f14e45f-ceea-4e7a-9b1c-2f7a0c3d9e61", "style": "karaoke", "extras": { "broll": { "on": true } } }'מאשרים במחיר
POST /v1/rendersעםexpected_amount_agorotמההערכה ו־Idempotency-Key. הסכום נשמר עכשיו, נגבה כשהריל מוכן, ומשתחרר אם הרינדור נכשל. אם המחיר השתנה בינתיים, לא נגבה כלום והתשובה היא409 price-changedעם המחיר החדש.רינדור
curl -X POST 'https://app.reely.co.il/api/v1/renders' \ -H "Authorization: Bearer $REELY_API_KEY" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{ "video_id": "vid_8f14e45f-ceea-4e7a-9b1c-2f7a0c3d9e61", "expected_amount_agorot": 1320, "style": "karaoke", "hook": "שלוש טעויות שעולות לכם כסף", "extras": { "broll": { "on": true } } }'מורידים
בודקים את
GET /v1/renders/{render_id}עד ש־statusהואdone, ואז מורידים מ־download_url./formatsמכין 4:5, 1:1, 16:9 ו־4:3 בחינם, ו־/captions.srtמחזיר את הכתוביות.מצב הרינדור
curl 'https://app.reely.co.il/api/v1/renders/ren_c9f0f895-fb98-4b91-8f2e-6d1b7a3c4e52' \ -H "Authorization: Bearer $REELY_API_KEY"
ניסיון חוזר בלי חיוב כפול
כל קריאה שיוצרת משהו מקבלת Idempotency-Key: מחרוזת ייחודית לבקשה, למשל UUID. ברינדור זו חובה. אם החיבור נפל, שלחו שוב את אותה בקשה עם אותו מפתח: תקבלו את התשובה הראשונה, והחיוב לא יוכפל. אותו מפתח עם בקשה אחרת מחזיר 422 idempotency-key-reused.
שגיאות
כל שגיאה היא application/problem+json לפי RFC 9457: type קבוע שמוביל להסבר, title באנגלית, detail בעברית שאפשר להציג למשתמש, ו־call_id שמוצאים ביומן הקריאות. כשלא נגבה כסף, זה כתוב בהסבר של כל שגיאה.
402, אין מספיק יתרה
{
"type": "https://app.reely.co.il/developers/docs/errors#insufficient-credits",
"title": "Insufficient credits",
"status": 402,
"detail": "אין מספיק יתרה לרינדור הזה.",
"code": "insufficient-credits",
"available_agorot": 600,
"shortfall_agorot": 720,
"call_id": "call_5f2c8a91d3e04b7a9c1e6f20"
}קצב, תקציבים ומגבלות
- 120 קריאות בדקה לכל מפתח, מהן 30 שעולות כסף. כל תשובה מחזירה
RateLimit-Limit,RateLimit-Remainingו־RateLimit-Reset, ומעבר למגבלה מקבלים429עםRetry-After. - לפרויקט יש תקציב חודשי. ב־80% וב־100% נשלחת התראה, וכשהוא נגמר, קריאות שעולות כסף נעצרות לפני כל חיוב.
- למפתח אפשר לתת מגבלת חיוב כוללת ותאריך תפוגה. החלפת סוד משאירה את הישן פעיל עוד 24 שעות, כדי שתספיקו לעדכן.
מה עוד
הפניה מלאה
כל נתיב, כל שדה וכל תשובה, מתוך אותו מקור שה־API עצמו בודק מולו.
להפניהיכולות ומחירים
מה כל קריאה עושה, ומה כל דבר עולה, מהמחירון שהאפליקציה מחייבת לפיו.
ליכולותOpenAPI 3.1
לייצור לקוח, ל־Postman או לכל כלי שקורא את התקן.
openapi.jsonמסוף המפתחים
מפתחות, פרויקטים עם תקציב, ויומן של כל קריאה: מה נשלח, מה חזר ומה חויב.
למסוף