Docs

Start here

Export a film

POST/v1/studio/projects/{project}/films/{film}/exportson https://api.auray.ai/v1

Export a film, as it stands at base_rev, into one video of the project — free, as joining a storyboard's scenes is.

Export a film, as it stands at base_rev, into one video of the project — free, as joining a storyboard's scenes is. Its clips are trimmed and joined in order into one MP4 (H.264 and AAC, 1920×1080 across or 1080×1920 up, 24 frames a second), each fitted into the frame and never stretched, with silence where a clip has none and the music laid under the clips' own sound; a poster is drawn from it. Answered 201 at once with the export, queued or running: read it until it is done — item_id is then the video, filed in the project's Film folder and labelled made with AI when any clip was — or failed, with a word saying why. Refused while another export of the film is being made (film_export_running names it), while a clip is withheld or held after a report (content_held), when the film holds no clip or a clip cannot be exported as it is (film_invalid), when the project holds as many items as its limits.items says — its owner's plan's figure (studio_limit_reached), and while video is paused (video_paused). A film made of a clip that is later withheld is withheld with it, and so is its publication. Needs the edit_items capability. Takes a key holding studio:write — Account offers it unticked — or the desktop's own session key. Spends nothing.

#Authentication

Authorization: Bearer auray_sk_… — studio:write — Account offers it unticked; the desktop's session key holds it.

#Request

#Path parameters

NameTypeRequiredDescription
projectstringyes
filmstringyes

#Body

application/json, required.

FieldTypeRequiredDefaultDescription
base_revintegeryes—The rev the film was read at: the revision exported. 1 to ….

#Example request

curl -X POST https://api.auray.ai/v1/studio/projects/3f0c8a52-6a1d-4e8b-9c2d-7e5f4a3b2c1d/films/6d7e8f90-1a2b-4c3d-8e4f-5a6b7c8d9e0f/exports \
  -H "Authorization: Bearer $AURAY_API_KEY" \
  -H "content-type: application/json" \
  -d '{
  "base_rev": 3
}'

#Responses

#201 Created

Created.

FieldTypeRequiredDefaultDescription
objectstringyes—One of "film_export".
idstringyes—
film_idstringyes—The film it was made of; null once that film was deleted — the video stays. May be null.
revintegeryes—The film's revision it was made of. 1 to ….
statestringyes—One of "queued", "running", "done", "failed".
item_idstringyes—The video it filed in the project's Film folder, once done; null before, and once that item was deleted. May be null.
errorstringyes—Why it failed: a clip or the music could not be read, the clips could not be made into one film, the film was larger than a film is kept at, it could not be stored, no film arrived after every try, video was paused before it could start again, a clip was withheld or left the project before it started, its place in the project went, or its film was deleted. Null unless failed. One of "source_unreadable", "render_failed", "too_large", "upload_failed", "timed_out", "paused", "source_withheld", "source_missing", "lost", "cancelled", null. May be null.
out_of_datebooleanyes—Done, and no longer the film as it stands: the film was changed since, or a clip it was made of — or the film itself — has since been withheld.
duration_msintegeryes—The film's length by its document. 0 to ….
expected_secondsintegeryes—What a progress bar may assume, from the film's length — never a promise. 0 to ….
created_atstringyes—
started_atstringyes—May be null.
finished_atstringyes—May be null.
request_idstringno—Mirrored in the X-Request-Id header.

Headers:

HeaderDescription
RateLimit-LimitBurst capacity.
RateLimit-Remaining
RateLimit-ResetSeconds until refill.
X-RateLimit-Limit
X-RateLimit-Remaining
X-RateLimit-ResetUnix seconds. The X- spelling is what client libraries read.
X-Request-Id

#400 Bad Request

#401 Unauthorized

#403 Forbidden

#404 Not Found

#409 Conflict

#413 Payload Too Large

#429 Too Many Requests

#500 Internal Server Error

#503 Service Unavailable

#Status codes

StatusMeaning
201Created.
400Bad Request
401Unauthorized
403Forbidden
404Not Found
409Conflict
413Payload Too Large
429Too Many Requests
500Internal Server Error
503Service Unavailable

Every refusal names its code, and every code is explained at Errors.

Start typing to search every page of the documentation.

Up arrow Down arrow to moveEnter to openEscape to close