הפניה מלאה
כל נתיב ב־API, מתוך אותו מקור שה־API בודק מולו כל בקשה. שמות השדות ותיאוריהם באנגלית, כמו בקובץ ה־OpenAPI.
חשבון
מי קורא, כמה נשאר ביתרה, ומה כל דבר עולה.
החשבון והמפתח של הקריאה
GET/api/v1/me
Who you are calling as: the account, the key's name, project and scopes, and whether it is a live or test key.
התשובה, 200
object"account"requiredidstringrequiredThe account's id
namestringrequiredThe account holder's name
emailstringrequiredThe account's email
modeenumrequiredtest: free, small and watermarked; live: charged from the balance
One of:
live,testscopesenum[]requiredWhat this key or connection may do
One of:
read,create,publishkeyobject | nullrequiredThe API key making this call; null for an assistant connected by sign-in
key.idstringrequiredThe key's id, as shown in the console
key.namestringrequiredThe key's name
key.project_idstring | nullrequiredThe project whose budget it spends; null for none
key.expires_atstring | nullrequiredWhen it stops working; null for never
דוגמה
curl 'https://app.reely.co.il/api/v1/me' \
-H "Authorization: Bearer $REELY_API_KEY"יתרת קרדיטים
GET/api/v1/balance
What can be spent now, and what is held for renders still running. Amounts are in agorot.
התשובה, 200
object"balance"requiredavailable_agorotintegerrequiredWhat can be spent now, in agorot (1/100 of a shekel)
available_formattedstringrequiredThe amount as shown to people
reserved_agorotintegerrequiredHeld for renders still running, in agorot (1/100 of a shekel)
currency"ILS"required
דוגמה
curl 'https://app.reely.co.il/api/v1/balance' \
-H "Authorization: Bearer $REELY_API_KEY"מחירון
GET/api/v1/prices
Every price, from the same registry the app charges by. No key needed. A reel is priced by its finished length; music and every format are included.
התשובה, 200
object"price_list"requiredcurrency"ILS"requiredreelobjectrequiredThe reel itself: priced by the second
reel.per_second_agorotintegerrequiredPer second of the finished reel, after dead air is removed
reel.minimum_agorotintegerrequiredThe least a reel costs, however short
reel.max_secondsintegerrequiredThe longest reel
reel.includesstring[]requiredWhat every reel comes with at its base price (Hebrew)
reel.examplesobject[]requiredWhat reels of a few lengths cost
reel.examples[].secondsintegerrequiredreel.examples[].amount_agorotintegerrequiredreel.examples[].formattedstringrequiredextrasobject[]requiredWhat costs extra, on top of the reel
extras[].idstringrequiredIts key under extras when you render
extras[].labelstringrequiredHebrew
extras[].amount_agorotintegerrequiredextras[].formattedstringrequiredfreeobject[]requiredWhat never costs anything
free[].idstringrequiredfree[].labelstringrequiredHebrew
test_modeobjectrequiredTest keys: free, with small watermarked output
test_mode.amount_agorot0requiredtest_mode.renders_per_dayintegerrequiredHow many test renders a day
test_mode.outputstringrequiredWhat a test render looks like
creativeobject[]Carousels, banners and images, each at the price its page charges. Present once the API can make them.
creative[].idstringrequiredStable, e.g. creative.carousel
creative[].labelstringrequiredHebrew
creative[].unitstringrequiredWhat one unit is (Hebrew)
creative[].amount_agorotintegerrequiredcreative[].formattedstringrequiredcreative[].notestringWhat is included, or a minimum (Hebrew)
דוגמה
curl 'https://app.reely.co.il/api/v1/prices' \
-H "Authorization: Bearer $REELY_API_KEY"מותגים
GET/api/v1/brands
The account's brands: name, colours and logo. Pass a brand's id as brand_id when you create, to make it in that brand.
התשובה, 200
object"list"requireddataobject[]requiredNewest first
data[].object"brand"requireddata[].idstringrequiredPass it as brand_id when you create; an unknown or empty id means the default brand
data[].namestringrequiredThe brand's name
data[].is_defaultbooleanrequiredUsed when no brand_id is sent
data[].colorsobjectrequiredHex colours; empty when not set
data[].colors.primarystringrequiredThe main colour
data[].colors.highlightstringrequiredThe highlighted word's colour
data[].colors.textstringrequiredThe caption text colour
data[].logo_urlstring | nullrequiredA signed link valid for 24 hours
has_morebooleanrequiredMore remain: pass the last id as starting_after
דוגמה
curl 'https://app.reely.co.il/api/v1/brands' \
-H "Authorization: Bearer $REELY_API_KEY"העלאות
הקובץ עולה ישירות לאחסון שלנו בכתובת חתומה, בבת אחת או בחלקים.
התחלת העלאה
POST/api/v1/uploads
Returns a signed URL to PUT the file to (up to 500 MB: MP4, MOV or WebM). For large files on a shaky connection, ask for a multipart upload: PUT each part, then complete it. Then create the video with POST /v1/videos.
פרמטרים
Idempotency-Keystring · headerA unique key per request (a UUID), 8–150 printable ASCII characters. Retrying with the same key returns the first answer and never charges twice.
גוף הבקשה
filenamestringrequiredThe file's name, e.g. clip.mp4
size_bytesintegerrequiredThe file's exact size in bytes
content_typestringvideo/mp4, video/quicktime or video/webm
Default:
"video/mp4"multipartbooleanUpload in 16 MB parts
Default:
false
התשובה, 201
object"upload"requiredidstringrequiredPass it as upload_id to POST /v1/videos once the file is up
method"PUT"requiredThe HTTP method for the upload URLs
upload_urlstring | nullrequiredPUT the file's bytes here, with these headers. Null for a multipart upload
headersobjectrequiredSend these headers with the PUT, exactly
multipartobject | nullrequiredPUT each part to its url and keep each response's ETag; then POST /v1/uploads/{id}/complete
multipart.part_sizeintegerrequiredBytes per part; the last part may be smaller
multipart.partsobject[]requiredEvery part, in order
multipart.parts[].part_numberintegerrequiredSend it back with the part's ETag
multipart.parts[].size_bytesintegerrequiredExactly how many bytes go in this part
multipart.parts[].upload_urlstringrequiredPUT this part's bytes here
expires_atstringrequiredISO 8601 timestamp
דוגמה
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"
}'סיום העלאה בחלקים
POST/api/v1/uploads/{upload_id}/complete
Joins a multipart upload's parts into the file. Send each part's ETag if you kept them; otherwise they are read from storage.
פרמטרים
upload_idstring · pathrequiredThe upload's id
Idempotency-Keystring · headerA unique key per request (a UUID), 8–150 printable ASCII characters. Retrying with the same key returns the first answer and never charges twice.
גוף הבקשה
partsobject[]For a multipart upload: every part, in order. Leave it out for a single PUT
parts[].part_numberintegerrequiredThe part's number, from the upload
parts[].etagstringrequiredThe ETag header the part's PUT returned
התשובה, 200
object"upload"requiredidstringrequiredPass it as upload_id to POST /v1/videos
status"uploaded"requiredThe file is in place
דוגמה
curl -X POST 'https://app.reely.co.il/api/v1/uploads/vid_8f14e45f-ceea-4e7a-9b1c-2f7a0c3d9e61/complete' \
-H "Authorization: Bearer $REELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)"סרטונים
סרטון שהועלה עובר בדיקה, תמלול בעברית והצעות לכותרת. חינם.
יצירת סרטון מקובץ שהועלה
POST/api/v1/videos
Once the file is up, this starts the work: probing, Hebrew transcription and opening titles. Poll GET /v1/videos/{video_id} until status is ready (usually under a minute), then estimate and render. Free.
פרמטרים
Idempotency-Keystring · headerA unique key per request (a UUID), 8–150 printable ASCII characters. Retrying with the same key returns the first answer and never charges twice.
גוף הבקשה
upload_idstringrequiredFrom POST /v1/uploads, after the file was PUT
brand_idstringWhich brand to make it in (GET /v1/brands). Leave it out for the account's default brand; an id that isn't this account's is refused with 404 before anything is made or charged
התשובה, 201
object"video"requiredidstringrequirednamestringrequiredThe file's name
statusenumrequiredready: transcribed, priced and ready to render
One of:
uploading,processing,ready,failedstageenumrequiredWhere processing is, finer than status
One of:
uploading,probing,transcribing,writing_hooks,ready,failedprogressintegerrequiredPercent through processing
duration_secondsnumber | nullrequiredThe source clip's length; null until it's read
brand_idstring | nullrequiredThe brand its reels are made in; null for the default brand
samplebooleanrequiredThe free sample every account starts with
hook_suggestionsstring[]requiredOpening titles written from what was said (Hebrew)
errorobject | nullrequiredWhy processing failed; null otherwise
error.codestring | nullrequiredA stable code, when there is one
error.messagestringrequiredWhat went wrong, in Hebrew
poster_urlstring | nullrequiredA still from the clip; a signed link valid for 24 hours
rendersobject[]requiredIts reels, newest first
renders[].idstringrequiredA render id; GET /v1/renders/{id} for the reel
renders[].statusenumrequireddone: the file is ready. failed: nothing was charged
One of:
queued,rendering,done,failedrenders[].created_atstringrequiredISO 8601 timestamp
created_atstringrequiredISO 8601 timestamp
דוגמה
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/api/v1/videos
The account's videos, newest first.
פרמטרים
limitinteger · queryHow many, 1 to 100
starting_afterstring · queryA video id: list the ones after it
התשובה, 200
object"list"requireddataobject[]requiredNewest first
data[].object"video"requireddata[].idstringrequireddata[].namestringrequiredThe file's name
data[].statusenumrequiredready: transcribed, priced and ready to render
One of:
uploading,processing,ready,faileddata[].stageenumrequiredWhere processing is, finer than status
One of:
uploading,probing,transcribing,writing_hooks,ready,faileddata[].progressintegerrequiredPercent through processing
data[].duration_secondsnumber | nullrequiredThe source clip's length; null until it's read
data[].brand_idstring | nullrequiredThe brand its reels are made in; null for the default brand
data[].samplebooleanrequiredThe free sample every account starts with
data[].hook_suggestionsstring[]requiredOpening titles written from what was said (Hebrew)
data[].errorobject | nullrequiredWhy processing failed; null otherwise
data[].error.codestring | nullrequiredA stable code, when there is one
data[].error.messagestringrequiredWhat went wrong, in Hebrew
data[].poster_urlstring | nullrequiredA still from the clip; a signed link valid for 24 hours
data[].rendersobject[]requiredIts reels, newest first
data[].renders[].idstringrequiredA render id; GET /v1/renders/{id} for the reel
data[].renders[].statusenumrequireddone: the file is ready. failed: nothing was charged
One of:
queued,rendering,done,faileddata[].renders[].created_atstringrequiredISO 8601 timestamp
data[].created_atstringrequiredISO 8601 timestamp
has_morebooleanrequiredMore remain: pass the last id as starting_after
דוגמה
curl 'https://app.reely.co.il/api/v1/videos?limit=20' \
-H "Authorization: Bearer $REELY_API_KEY"סרטון
GET/api/v1/videos/{video_id}
A video's status and its reels. status ready means it can be estimated and rendered.
פרמטרים
video_idstring · pathrequiredThe video's id (from POST /v1/videos or GET /v1/videos)
התשובה, 200
object"video"requiredidstringrequirednamestringrequiredThe file's name
statusenumrequiredready: transcribed, priced and ready to render
One of:
uploading,processing,ready,failedstageenumrequiredWhere processing is, finer than status
One of:
uploading,probing,transcribing,writing_hooks,ready,failedprogressintegerrequiredPercent through processing
duration_secondsnumber | nullrequiredThe source clip's length; null until it's read
brand_idstring | nullrequiredThe brand its reels are made in; null for the default brand
samplebooleanrequiredThe free sample every account starts with
hook_suggestionsstring[]requiredOpening titles written from what was said (Hebrew)
errorobject | nullrequiredWhy processing failed; null otherwise
error.codestring | nullrequiredA stable code, when there is one
error.messagestringrequiredWhat went wrong, in Hebrew
poster_urlstring | nullrequiredA still from the clip; a signed link valid for 24 hours
rendersobject[]requiredIts reels, newest first
renders[].idstringrequiredA render id; GET /v1/renders/{id} for the reel
renders[].statusenumrequireddone: the file is ready. failed: nothing was charged
One of:
queued,rendering,done,failedrenders[].created_atstringrequiredISO 8601 timestamp
created_atstringrequiredISO 8601 timestamp
דוגמה
curl 'https://app.reely.co.il/api/v1/videos/vid_8f14e45f-ceea-4e7a-9b1c-2f7a0c3d9e61' \
-H "Authorization: Bearer $REELY_API_KEY"תמלול
GET/api/v1/videos/{video_id}/transcription
The Hebrew transcription, word by word with timings in seconds. Free.
פרמטרים
video_idstring · pathrequiredThe video's id (from POST /v1/videos or GET /v1/videos)
התשובה, 200
object"transcription"requiredvideo_idstringrequiredThe video it was transcribed from
language"he"requiredThe spoken language
textstringrequiredEverything that was said, as one text
wordsobject[]requiredEach word with its timing, in seconds on the source clip's clock
words[].textstringrequiredwords[].startnumberrequiredSeconds
words[].endnumberrequiredSeconds
דוגמה
curl 'https://app.reely.co.il/api/v1/videos/vid_8f14e45f-ceea-4e7a-9b1c-2f7a0c3d9e61/transcription' \
-H "Authorization: Bearer $REELY_API_KEY"רינדורים
מתמחרים, מאשרים במחיר ידוע, ומורידים ריל מוכן, פורמטים וכתוביות.
הצעת מחיר לרינדור
POST/api/v1/renders/estimate
What a render would cost, line by line. Changes nothing. Send amount_agorot back as expected_amount_agorot to render.
גוף הבקשה
video_idstringrequiredThe video's id (from POST /v1/videos or GET /v1/videos)
styleenumCaption style; the video's own when left out
One of:
karaoke,pop,marker,oneword,outline,neon,bubble,typewriter,quiet,box,hormozi,bounce,classic,retro,elegant,underline,cinematic,sticker,dramatic,sport,size,news,handwriting,comic,longshadow,glowextrasobjectWhat to add. Anything left out keeps the video's own default: the ready reel
extras.cutsbooleanRemove dead air and filler words. Free; on by default when there's speech
extras.musicobjectMusic under the speech. Included in the price; on by default. Test keys render without it
extras.music.onbooleanrequiredWhether music plays under the speech
extras.music.moodenumThe music's feel. Each mood draws on a shared bank of beds, so two reels can share one. Left out: the video's own pick
One of:
warm,upbeat,calm,inspiring,dramatic,happy,tech,urbanextras.brollobjectTwo AI B-roll shots, placed from what was said. ₪12.00
extras.broll.onbooleanrequiredWhether to add the two shots
extras.voiceobjectA Hebrew AI narration of the script. ₪3.00
extras.voice.onbooleanrequiredWhether to add the narration
extras.voice.scriptstringWhat the narrator says, in Hebrew. Left out: the video's saved script
extras.voice.voiceenumThe narrator: a voice id from the catalogue. Call GET /v1/voices (MCP: list_voices) first to see each voice's Hebrew name, character and sample. "female" and "male" still work, as tamar and yoav. Left out: the video's own voice, which starts as its brand's
One of:
tamar,hadas,avital,shani,hila,dana,neta,keren,galit,sivan,inbal,michal,orit,efrat,yoav,matan,boaz,guy,ron,eran,ariel,ido,nadav,nir,daniel,yonatan,elad,alon,asaf,uri,female,maleextras.platformsenum[]Where it will be posted: ig, tt, yt. Sets the safe areas
One of:
ig,tt,yt
התשובה, 200
object"estimate"requiredvideo_idstringrequiredThe video it prices
amount_agorotintegerrequiredWhat the render will cost. Send it back as expected_amount_agorot to approve, in agorot (1/100 of a shekel)
formattedstringrequiredThe amount as shown to people, e.g. ₪1.20
currency"ILS"requiredreel_secondsnumberrequiredThe finished reel's length, after dead air is removed
linesobject[]requiredWhat the amount is made of: the reel itself, then each paid extra
lines[].idstringrequiredlines[].labelstringrequiredHebrew
lines[].amount_agorotintegerrequiredlist_amount_agorotinteger | nullrequiredIn test mode and on the sample: what a live key would pay
test_modebooleanrequiredPriced for a test key: free
דוגמה
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/api/v1/renders
Renders the reel at the price you confirm. The amount is held now, charged when the reel is done, and released if it fails. If the price changed, nothing is charged and the answer (409 price-changed) carries the new estimate. Requires an Idempotency-Key.
פרמטרים
Idempotency-Keystring · headerrequiredA unique key per request (a UUID), 8–150 printable ASCII characters. Retrying with the same key returns the first answer and never charges twice.
גוף הבקשה
video_idstringrequiredThe video's id (from POST /v1/videos or GET /v1/videos)
expected_amount_agorotintegerrequiredThe amount from POST /v1/renders/estimate, confirming the price
styleenumCaption style; the video's own when left out
One of:
karaoke,pop,marker,oneword,outline,neon,bubble,typewriter,quiet,box,hormozi,bounce,classic,retro,elegant,underline,cinematic,sticker,dramatic,sport,size,news,handwriting,comic,longshadow,glowhookstringThe opening title (Hebrew). Empty for none; the video's own when left out
extrasobjectWhat to add. Anything left out keeps the video's own default: the ready reel
extras.cutsbooleanRemove dead air and filler words. Free; on by default when there's speech
extras.musicobjectMusic under the speech. Included in the price; on by default. Test keys render without it
extras.music.onbooleanrequiredWhether music plays under the speech
extras.music.moodenumThe music's feel. Each mood draws on a shared bank of beds, so two reels can share one. Left out: the video's own pick
One of:
warm,upbeat,calm,inspiring,dramatic,happy,tech,urbanextras.brollobjectTwo AI B-roll shots, placed from what was said. ₪12.00
extras.broll.onbooleanrequiredWhether to add the two shots
extras.voiceobjectA Hebrew AI narration of the script. ₪3.00
extras.voice.onbooleanrequiredWhether to add the narration
extras.voice.scriptstringWhat the narrator says, in Hebrew. Left out: the video's saved script
extras.voice.voiceenumThe narrator: a voice id from the catalogue. Call GET /v1/voices (MCP: list_voices) first to see each voice's Hebrew name, character and sample. "female" and "male" still work, as tamar and yoav. Left out: the video's own voice, which starts as its brand's
One of:
tamar,hadas,avital,shani,hila,dana,neta,keren,galit,sivan,inbal,michal,orit,efrat,yoav,matan,boaz,guy,ron,eran,ariel,ido,nadav,nir,daniel,yonatan,elad,alon,asaf,uri,female,maleextras.platformsenum[]Where it will be posted: ig, tt, yt. Sets the safe areas
One of:
ig,tt,ytbrand_idstringWhich brand to make it in (GET /v1/brands). Leave it out for the account's default brand; an id that isn't this account's is refused with 404 before anything is made or charged
התשובה, 201
object"render"requiredidstringrequiredvideo_idstringrequiredThe video it was made from
statusenumrequireddone: the file is ready. failed: nothing was charged
One of:
queued,rendering,done,failedprogressintegerrequiredPercent through rendering
aspectstringrequired9:16 for the reel; other shapes come from POST /v1/renders/{id}/formats
stylestringrequiredThe caption style it was made in
hookstring | nullrequiredThe opening title; null for none
amount_agorotintegerrequiredWhat it costs; charged only when it's done, released if it fails, in agorot (1/100 of a shekel)
amount_formattedstringrequiredThe amount as shown to people, e.g. ₪1.20
testbooleanrequiredMade with a test key: free, small and watermarked
duration_secondsnumber | nullrequiredThe reel's length, once done
download_urlstring | nullrequiredThe MP4; a signed link valid for 24 hours, once done
cover_urlstring | nullrequiredThe cover image; a signed link valid for 24 hours, once done
captions_urlstring | nullrequiredThe captions as SRT, on the reel's own clock
post_textstring | nullrequiredA caption for the post (Hebrew)
errorobject | nullrequiredWhy it failed. A failed render costs nothing
error.codestring | nullrequiredA stable code, when there is one
error.messagestringrequiredWhat went wrong, in Hebrew
formatsobject[]requiredThe same reel in other shapes, from POST /v1/renders/{id}/formats
formats[].idstringrequiredA render id; GET /v1/renders/{id} for its file
formats[].aspectstringrequired4:5, 1:1, 16:9 or 4:3
formats[].statusenumrequireddone: the file is ready. failed: nothing was charged
One of:
queued,rendering,done,failedformats[].download_urlstring | nullrequiredThe MP4; a signed link valid for 24 hours, once done
created_atstringrequiredISO 8601 timestamp
updated_atstringrequiredISO 8601 timestamp
דוגמה
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/api/v1/renders/{render_id}
A render's progress, and once done its MP4, cover, captions and post text. Signed links last 24 hours; fetch it again for fresh ones.
פרמטרים
render_idstring · pathrequiredThe render's id
התשובה, 200
object"render"requiredidstringrequiredvideo_idstringrequiredThe video it was made from
statusenumrequireddone: the file is ready. failed: nothing was charged
One of:
queued,rendering,done,failedprogressintegerrequiredPercent through rendering
aspectstringrequired9:16 for the reel; other shapes come from POST /v1/renders/{id}/formats
stylestringrequiredThe caption style it was made in
hookstring | nullrequiredThe opening title; null for none
amount_agorotintegerrequiredWhat it costs; charged only when it's done, released if it fails, in agorot (1/100 of a shekel)
amount_formattedstringrequiredThe amount as shown to people, e.g. ₪1.20
testbooleanrequiredMade with a test key: free, small and watermarked
duration_secondsnumber | nullrequiredThe reel's length, once done
download_urlstring | nullrequiredThe MP4; a signed link valid for 24 hours, once done
cover_urlstring | nullrequiredThe cover image; a signed link valid for 24 hours, once done
captions_urlstring | nullrequiredThe captions as SRT, on the reel's own clock
post_textstring | nullrequiredA caption for the post (Hebrew)
errorobject | nullrequiredWhy it failed. A failed render costs nothing
error.codestring | nullrequiredA stable code, when there is one
error.messagestringrequiredWhat went wrong, in Hebrew
formatsobject[]requiredThe same reel in other shapes, from POST /v1/renders/{id}/formats
formats[].idstringrequiredA render id; GET /v1/renders/{id} for its file
formats[].aspectstringrequired4:5, 1:1, 16:9 or 4:3
formats[].statusenumrequireddone: the file is ready. failed: nothing was charged
One of:
queued,rendering,done,failedformats[].download_urlstring | nullrequiredThe MP4; a signed link valid for 24 hours, once done
created_atstringrequiredISO 8601 timestamp
updated_atstringrequiredISO 8601 timestamp
דוגמה
curl 'https://app.reely.co.il/api/v1/renders/ren_c9f0f895-fb98-4b91-8f2e-6d1b7a3c4e52' \
-H "Authorization: Bearer $REELY_API_KEY"כל הפורמטים
POST/api/v1/renders/{render_id}/formats
The same reel framed for 4:5, 1:1, 16:9 and 4:3. Free. Asking again returns the ones already made.
פרמטרים
render_idstring · pathrequiredThe render's id
Idempotency-Keystring · headerA unique key per request (a UUID), 8–150 printable ASCII characters. Retrying with the same key returns the first answer and never charges twice.
התשובה, 200
object"list"requireddataobject[]requiredNewest first
data[].idstringrequiredA render id; GET /v1/renders/{id} for its file
data[].aspectstringrequired4:5, 1:1, 16:9 or 4:3
data[].statusenumrequireddone: the file is ready. failed: nothing was charged
One of:
queued,rendering,done,faileddata[].download_urlstring | nullrequiredThe MP4; a signed link valid for 24 hours, once done
has_morebooleanrequiredMore remain: pass the last id as starting_after
דוגמה
curl -X POST 'https://app.reely.co.il/api/v1/renders/ren_c9f0f895-fb98-4b91-8f2e-6d1b7a3c4e52/formats' \
-H "Authorization: Bearer $REELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)"קובץ כתוביות
GET/api/v1/renders/{render_id}/captions.srt
The finished reel's captions as an SRT file, on the reel's own clock (after cuts).
פרמטרים
render_idstring · pathrequiredThe render's id
התשובה, 200
קובץ טקסט, application/x-subrip
דוגמה
curl 'https://app.reely.co.il/api/v1/renders/ren_c9f0f895-fb98-4b91-8f2e-6d1b7a3c4e52/captions.srt' \
-H "Authorization: Bearer $REELY_API_KEY"קולות
הקולות שהקריינות בעברית נשמעת בהם: לכל קול שם, אופי ודוגמה להאזנה.
רשימת הקולות
GET/api/v1/voices
The Hebrew voices a reel's narration can be read in, each with a sample to listen to. Pass a voice's id as extras.voice.voice when you price and render the reel. Free.
פרמטרים
genderenum · queryOnly female or only male voices
One of:
female,maletoneenum · queryOnly voices with this character
One of:
warm,lively,calm,pro
התשובה, 200
object"list"requiredAlways list
dataobject[]requiredIn the catalogue's order: the female voices, then the male, each by tone
data[].object"voice"requiredAlways voice
data[].idstringrequiredPass it as extras.voice.voice when you price and render a reel (POST /v1/renders/estimate, POST /v1/renders)
data[].namestringrequiredThe voice's persona name, in Hebrew
data[].genderenumrequiredHow it sounds. Hebrew is gendered: write a first-person script in the voice's gender
One of:
female,maledata[].toneenumrequiredIts character: warm, lively (energetic), calm, or pro (clear and professional)
One of:
warm,lively,calm,prodata[].descriptionstringrequiredWhat it sounds like and what it suits, in Hebrew
data[].sample_urlstringrequiredAn MP3 of the voice reading the same short Hebrew text as every other voice, so they can be compared. Public: no key needed
has_morebooleanrequiredAlways false: every voice comes in one answer
דוגמה
curl 'https://app.reely.co.il/api/v1/voices?gender=female&tone=warm' \
-H "Authorization: Bearer $REELY_API_KEY"