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

הפניה מלאה

כל נתיב ב־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"required
  • idstringrequired

    The account's id

  • namestringrequired

    The account holder's name

  • emailstringrequired

    The account's email

  • modeenumrequired

    test: free, small and watermarked; live: charged from the balance

    One of: live, test

  • scopesenum[]required

    What this key or connection may do

    One of: read, create, publish

  • keyobject | nullrequired

    The API key making this call; null for an assistant connected by sign-in

  • key.idstringrequired

    The key's id, as shown in the console

  • key.namestringrequired

    The key's name

  • key.project_idstring | nullrequired

    The project whose budget it spends; null for none

  • key.expires_atstring | nullrequired

    When 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"required
  • available_agorotintegerrequired

    What can be spent now, in agorot (1/100 of a shekel)

  • available_formattedstringrequired

    The amount as shown to people

  • reserved_agorotintegerrequired

    Held 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"required
  • currency"ILS"required
  • reelobjectrequired

    The reel itself: priced by the second

  • reel.per_second_agorotintegerrequired

    Per second of the finished reel, after dead air is removed

  • reel.minimum_agorotintegerrequired

    The least a reel costs, however short

  • reel.max_secondsintegerrequired

    The longest reel

  • reel.includesstring[]required

    What every reel comes with at its base price (Hebrew)

  • reel.examplesobject[]required

    What reels of a few lengths cost

  • reel.examples[].secondsintegerrequired
  • reel.examples[].amount_agorotintegerrequired
  • reel.examples[].formattedstringrequired
  • extrasobject[]required

    What costs extra, on top of the reel

  • extras[].idstringrequired

    Its key under extras when you render

  • extras[].labelstringrequired

    Hebrew

  • extras[].amount_agorotintegerrequired
  • extras[].formattedstringrequired
  • freeobject[]required

    What never costs anything

  • free[].idstringrequired
  • free[].labelstringrequired

    Hebrew

  • test_modeobjectrequired

    Test keys: free, with small watermarked output

  • test_mode.amount_agorot0required
  • test_mode.renders_per_dayintegerrequired

    How many test renders a day

  • test_mode.outputstringrequired

    What 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[].idstringrequired

    Stable, e.g. creative.carousel

  • creative[].labelstringrequired

    Hebrew

  • creative[].unitstringrequired

    What one unit is (Hebrew)

  • creative[].amount_agorotintegerrequired
  • creative[].formattedstringrequired
  • creative[].notestring

    What 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"required
  • dataobject[]required

    Newest first

  • data[].object"brand"required
  • data[].idstringrequired

    Pass it as brand_id when you create; an unknown or empty id means the default brand

  • data[].namestringrequired

    The brand's name

  • data[].is_defaultbooleanrequired

    Used when no brand_id is sent

  • data[].colorsobjectrequired

    Hex colours; empty when not set

  • data[].colors.primarystringrequired

    The main colour

  • data[].colors.highlightstringrequired

    The highlighted word's colour

  • data[].colors.textstringrequired

    The caption text colour

  • data[].logo_urlstring | nullrequired

    A signed link valid for 24 hours

  • has_morebooleanrequired

    More 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

הרשאת יצירהחינםIdempotency-Key אפשרי

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 · header

    A unique key per request (a UUID), 8–150 printable ASCII characters. Retrying with the same key returns the first answer and never charges twice.

גוף הבקשה

  • filenamestringrequired

    The file's name, e.g. clip.mp4

  • size_bytesintegerrequired

    The file's exact size in bytes

  • content_typestring

    video/mp4, video/quicktime or video/webm

    Default: "video/mp4"

  • multipartboolean

    Upload in 16 MB parts

    Default: false

התשובה, 201

  • object"upload"required
  • idstringrequired

    Pass it as upload_id to POST /v1/videos once the file is up

  • method"PUT"required

    The HTTP method for the upload URLs

  • upload_urlstring | nullrequired

    PUT the file's bytes here, with these headers. Null for a multipart upload

  • headersobjectrequired

    Send these headers with the PUT, exactly

  • multipartobject | nullrequired

    PUT each part to its url and keep each response's ETag; then POST /v1/uploads/{id}/complete

  • multipart.part_sizeintegerrequired

    Bytes per part; the last part may be smaller

  • multipart.partsobject[]required

    Every part, in order

  • multipart.parts[].part_numberintegerrequired

    Send it back with the part's ETag

  • multipart.parts[].size_bytesintegerrequired

    Exactly how many bytes go in this part

  • multipart.parts[].upload_urlstringrequired

    PUT this part's bytes here

  • expires_atstringrequired

    ISO 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

הרשאת יצירהחינםIdempotency-Key אפשרי

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 · pathrequired

    The upload's id

  • Idempotency-Keystring · header

    A 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_numberintegerrequired

    The part's number, from the upload

  • parts[].etagstringrequired

    The ETag header the part's PUT returned

התשובה, 200

  • object"upload"required
  • idstringrequired

    Pass it as upload_id to POST /v1/videos

  • status"uploaded"required

    The 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

הרשאת יצירהחינםIdempotency-Key אפשרי

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 · header

    A 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_idstringrequired

    From POST /v1/uploads, after the file was PUT

  • brand_idstring

    Which 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"required
  • idstringrequired
  • namestringrequired

    The file's name

  • statusenumrequired

    ready: transcribed, priced and ready to render

    One of: uploading, processing, ready, failed

  • stageenumrequired

    Where processing is, finer than status

    One of: uploading, probing, transcribing, writing_hooks, ready, failed

  • progressintegerrequired

    Percent through processing

  • duration_secondsnumber | nullrequired

    The source clip's length; null until it's read

  • brand_idstring | nullrequired

    The brand its reels are made in; null for the default brand

  • samplebooleanrequired

    The free sample every account starts with

  • hook_suggestionsstring[]required

    Opening titles written from what was said (Hebrew)

  • errorobject | nullrequired

    Why processing failed; null otherwise

  • error.codestring | nullrequired

    A stable code, when there is one

  • error.messagestringrequired

    What went wrong, in Hebrew

  • poster_urlstring | nullrequired

    A still from the clip; a signed link valid for 24 hours

  • rendersobject[]required

    Its reels, newest first

  • renders[].idstringrequired

    A render id; GET /v1/renders/{id} for the reel

  • renders[].statusenumrequired

    done: the file is ready. failed: nothing was charged

    One of: queued, rendering, done, failed

  • renders[].created_atstringrequired

    ISO 8601 timestamp

  • created_atstringrequired

    ISO 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 · query

    How many, 1 to 100

  • starting_afterstring · query

    A video id: list the ones after it

התשובה, 200

  • object"list"required
  • dataobject[]required

    Newest first

  • data[].object"video"required
  • data[].idstringrequired
  • data[].namestringrequired

    The file's name

  • data[].statusenumrequired

    ready: transcribed, priced and ready to render

    One of: uploading, processing, ready, failed

  • data[].stageenumrequired

    Where processing is, finer than status

    One of: uploading, probing, transcribing, writing_hooks, ready, failed

  • data[].progressintegerrequired

    Percent through processing

  • data[].duration_secondsnumber | nullrequired

    The source clip's length; null until it's read

  • data[].brand_idstring | nullrequired

    The brand its reels are made in; null for the default brand

  • data[].samplebooleanrequired

    The free sample every account starts with

  • data[].hook_suggestionsstring[]required

    Opening titles written from what was said (Hebrew)

  • data[].errorobject | nullrequired

    Why processing failed; null otherwise

  • data[].error.codestring | nullrequired

    A stable code, when there is one

  • data[].error.messagestringrequired

    What went wrong, in Hebrew

  • data[].poster_urlstring | nullrequired

    A still from the clip; a signed link valid for 24 hours

  • data[].rendersobject[]required

    Its reels, newest first

  • data[].renders[].idstringrequired

    A render id; GET /v1/renders/{id} for the reel

  • data[].renders[].statusenumrequired

    done: the file is ready. failed: nothing was charged

    One of: queued, rendering, done, failed

  • data[].renders[].created_atstringrequired

    ISO 8601 timestamp

  • data[].created_atstringrequired

    ISO 8601 timestamp

  • has_morebooleanrequired

    More 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 · pathrequired

    The video's id (from POST /v1/videos or GET /v1/videos)

התשובה, 200

  • object"video"required
  • idstringrequired
  • namestringrequired

    The file's name

  • statusenumrequired

    ready: transcribed, priced and ready to render

    One of: uploading, processing, ready, failed

  • stageenumrequired

    Where processing is, finer than status

    One of: uploading, probing, transcribing, writing_hooks, ready, failed

  • progressintegerrequired

    Percent through processing

  • duration_secondsnumber | nullrequired

    The source clip's length; null until it's read

  • brand_idstring | nullrequired

    The brand its reels are made in; null for the default brand

  • samplebooleanrequired

    The free sample every account starts with

  • hook_suggestionsstring[]required

    Opening titles written from what was said (Hebrew)

  • errorobject | nullrequired

    Why processing failed; null otherwise

  • error.codestring | nullrequired

    A stable code, when there is one

  • error.messagestringrequired

    What went wrong, in Hebrew

  • poster_urlstring | nullrequired

    A still from the clip; a signed link valid for 24 hours

  • rendersobject[]required

    Its reels, newest first

  • renders[].idstringrequired

    A render id; GET /v1/renders/{id} for the reel

  • renders[].statusenumrequired

    done: the file is ready. failed: nothing was charged

    One of: queued, rendering, done, failed

  • renders[].created_atstringrequired

    ISO 8601 timestamp

  • created_atstringrequired

    ISO 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 · pathrequired

    The video's id (from POST /v1/videos or GET /v1/videos)

התשובה, 200

  • object"transcription"required
  • video_idstringrequired

    The video it was transcribed from

  • language"he"required

    The spoken language

  • textstringrequired

    Everything that was said, as one text

  • wordsobject[]required

    Each word with its timing, in seconds on the source clip's clock

  • words[].textstringrequired
  • words[].startnumberrequired

    Seconds

  • words[].endnumberrequired

    Seconds

דוגמה

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_idstringrequired

    The video's id (from POST /v1/videos or GET /v1/videos)

  • styleenum

    Caption 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, glow

  • extrasobject

    What to add. Anything left out keeps the video's own default: the ready reel

  • extras.cutsboolean

    Remove dead air and filler words. Free; on by default when there's speech

  • extras.musicobject

    Music under the speech. Included in the price; on by default. Test keys render without it

  • extras.music.onbooleanrequired

    Whether music plays under the speech

  • extras.music.moodenum

    The 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, urban

  • extras.brollobject

    Two AI B-roll shots, placed from what was said. ₪12.00

  • extras.broll.onbooleanrequired

    Whether to add the two shots

  • extras.voiceobject

    A Hebrew AI narration of the script. ₪3.00

  • extras.voice.onbooleanrequired

    Whether to add the narration

  • extras.voice.scriptstring

    What the narrator says, in Hebrew. Left out: the video's saved script

  • extras.voice.voiceenum

    The 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, male

  • extras.platformsenum[]

    Where it will be posted: ig, tt, yt. Sets the safe areas

    One of: ig, tt, yt

התשובה, 200

  • object"estimate"required
  • video_idstringrequired

    The video it prices

  • amount_agorotintegerrequired

    What the render will cost. Send it back as expected_amount_agorot to approve, in agorot (1/100 of a shekel)

  • formattedstringrequired

    The amount as shown to people, e.g. ₪1.20

  • currency"ILS"required
  • reel_secondsnumberrequired

    The finished reel's length, after dead air is removed

  • linesobject[]required

    What the amount is made of: the reel itself, then each paid extra

  • lines[].idstringrequired
  • lines[].labelstringrequired

    Hebrew

  • lines[].amount_agorotintegerrequired
  • list_amount_agorotinteger | nullrequired

    In test mode and on the sample: what a live key would pay

  • test_modebooleanrequired

    Priced 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

הרשאת יצירהעולה כסףIdempotency-Key חובה

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 · headerrequired

    A 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_idstringrequired

    The video's id (from POST /v1/videos or GET /v1/videos)

  • expected_amount_agorotintegerrequired

    The amount from POST /v1/renders/estimate, confirming the price

  • styleenum

    Caption 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, glow

  • hookstring

    The opening title (Hebrew). Empty for none; the video's own when left out

  • extrasobject

    What to add. Anything left out keeps the video's own default: the ready reel

  • extras.cutsboolean

    Remove dead air and filler words. Free; on by default when there's speech

  • extras.musicobject

    Music under the speech. Included in the price; on by default. Test keys render without it

  • extras.music.onbooleanrequired

    Whether music plays under the speech

  • extras.music.moodenum

    The 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, urban

  • extras.brollobject

    Two AI B-roll shots, placed from what was said. ₪12.00

  • extras.broll.onbooleanrequired

    Whether to add the two shots

  • extras.voiceobject

    A Hebrew AI narration of the script. ₪3.00

  • extras.voice.onbooleanrequired

    Whether to add the narration

  • extras.voice.scriptstring

    What the narrator says, in Hebrew. Left out: the video's saved script

  • extras.voice.voiceenum

    The 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, male

  • extras.platformsenum[]

    Where it will be posted: ig, tt, yt. Sets the safe areas

    One of: ig, tt, yt

  • brand_idstring

    Which 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"required
  • idstringrequired
  • video_idstringrequired

    The video it was made from

  • statusenumrequired

    done: the file is ready. failed: nothing was charged

    One of: queued, rendering, done, failed

  • progressintegerrequired

    Percent through rendering

  • aspectstringrequired

    9:16 for the reel; other shapes come from POST /v1/renders/{id}/formats

  • stylestringrequired

    The caption style it was made in

  • hookstring | nullrequired

    The opening title; null for none

  • amount_agorotintegerrequired

    What it costs; charged only when it's done, released if it fails, in agorot (1/100 of a shekel)

  • amount_formattedstringrequired

    The amount as shown to people, e.g. ₪1.20

  • testbooleanrequired

    Made with a test key: free, small and watermarked

  • duration_secondsnumber | nullrequired

    The reel's length, once done

  • download_urlstring | nullrequired

    The MP4; a signed link valid for 24 hours, once done

  • cover_urlstring | nullrequired

    The cover image; a signed link valid for 24 hours, once done

  • captions_urlstring | nullrequired

    The captions as SRT, on the reel's own clock

  • post_textstring | nullrequired

    A caption for the post (Hebrew)

  • errorobject | nullrequired

    Why it failed. A failed render costs nothing

  • error.codestring | nullrequired

    A stable code, when there is one

  • error.messagestringrequired

    What went wrong, in Hebrew

  • formatsobject[]required

    The same reel in other shapes, from POST /v1/renders/{id}/formats

  • formats[].idstringrequired

    A render id; GET /v1/renders/{id} for its file

  • formats[].aspectstringrequired

    4:5, 1:1, 16:9 or 4:3

  • formats[].statusenumrequired

    done: the file is ready. failed: nothing was charged

    One of: queued, rendering, done, failed

  • formats[].download_urlstring | nullrequired

    The MP4; a signed link valid for 24 hours, once done

  • created_atstringrequired

    ISO 8601 timestamp

  • updated_atstringrequired

    ISO 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 · pathrequired

    The render's id

התשובה, 200

  • object"render"required
  • idstringrequired
  • video_idstringrequired

    The video it was made from

  • statusenumrequired

    done: the file is ready. failed: nothing was charged

    One of: queued, rendering, done, failed

  • progressintegerrequired

    Percent through rendering

  • aspectstringrequired

    9:16 for the reel; other shapes come from POST /v1/renders/{id}/formats

  • stylestringrequired

    The caption style it was made in

  • hookstring | nullrequired

    The opening title; null for none

  • amount_agorotintegerrequired

    What it costs; charged only when it's done, released if it fails, in agorot (1/100 of a shekel)

  • amount_formattedstringrequired

    The amount as shown to people, e.g. ₪1.20

  • testbooleanrequired

    Made with a test key: free, small and watermarked

  • duration_secondsnumber | nullrequired

    The reel's length, once done

  • download_urlstring | nullrequired

    The MP4; a signed link valid for 24 hours, once done

  • cover_urlstring | nullrequired

    The cover image; a signed link valid for 24 hours, once done

  • captions_urlstring | nullrequired

    The captions as SRT, on the reel's own clock

  • post_textstring | nullrequired

    A caption for the post (Hebrew)

  • errorobject | nullrequired

    Why it failed. A failed render costs nothing

  • error.codestring | nullrequired

    A stable code, when there is one

  • error.messagestringrequired

    What went wrong, in Hebrew

  • formatsobject[]required

    The same reel in other shapes, from POST /v1/renders/{id}/formats

  • formats[].idstringrequired

    A render id; GET /v1/renders/{id} for its file

  • formats[].aspectstringrequired

    4:5, 1:1, 16:9 or 4:3

  • formats[].statusenumrequired

    done: the file is ready. failed: nothing was charged

    One of: queued, rendering, done, failed

  • formats[].download_urlstring | nullrequired

    The MP4; a signed link valid for 24 hours, once done

  • created_atstringrequired

    ISO 8601 timestamp

  • updated_atstringrequired

    ISO 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

הרשאת יצירהחינםIdempotency-Key אפשרי

The same reel framed for 4:5, 1:1, 16:9 and 4:3. Free. Asking again returns the ones already made.

פרמטרים

  • render_idstring · pathrequired

    The render's id

  • Idempotency-Keystring · header

    A 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"required
  • dataobject[]required

    Newest first

  • data[].idstringrequired

    A render id; GET /v1/renders/{id} for its file

  • data[].aspectstringrequired

    4:5, 1:1, 16:9 or 4:3

  • data[].statusenumrequired

    done: the file is ready. failed: nothing was charged

    One of: queued, rendering, done, failed

  • data[].download_urlstring | nullrequired

    The MP4; a signed link valid for 24 hours, once done

  • has_morebooleanrequired

    More 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 · pathrequired

    The 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 · query

    Only female or only male voices

    One of: female, male

  • toneenum · query

    Only voices with this character

    One of: warm, lively, calm, pro

התשובה, 200

  • object"list"required

    Always list

  • dataobject[]required

    In the catalogue's order: the female voices, then the male, each by tone

  • data[].object"voice"required

    Always voice

  • data[].idstringrequired

    Pass it as extras.voice.voice when you price and render a reel (POST /v1/renders/estimate, POST /v1/renders)

  • data[].namestringrequired

    The voice's persona name, in Hebrew

  • data[].genderenumrequired

    How it sounds. Hebrew is gendered: write a first-person script in the voice's gender

    One of: female, male

  • data[].toneenumrequired

    Its character: warm, lively (energetic), calm, or pro (clear and professional)

    One of: warm, lively, calm, pro

  • data[].descriptionstringrequired

    What it sounds like and what it suits, in Hebrew

  • data[].sample_urlstringrequired

    An MP3 of the voice reading the same short Hebrew text as every other voice, so they can be compared. Public: no key needed

  • has_morebooleanrequired

    Always 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"