Docs

Start here

Change an item

POST/v1/studio/projects/{project}/items/{item}on https://api.auray.ai/v1

Rename it, file it in a folder, favourite it, set its review status, trim a clip, or give a clip its poster — one of its frames, uploaded with purpose poster and filed here by poster_upload_id.

Rename it, file it in a folder, favourite it, set its review status, trim a clip, or give a clip its poster — one of its frames, uploaded with purpose poster and filed here by poster_upload_id. A favourite is your own: anybody who may read the project may keep one. 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
itemstringyes

#Body

application/json, required.

FieldTypeRequiredDefaultDescription
namestringno—0 to 120 characters. May be null.
folder_idstringno—May be null.
favoritebooleanno—
reviewstringno—One of "none", "in_progress", "needs_review", "approved", "rejected".
trimobject or nullno—
poster_upload_idstringno—A clip only: an upload with purpose poster — a PNG, JPEG or WebP picture of one of its frames — filed as its one poster, replacing the one it had. The API reads the picture's size off its bytes; it moves neither the item nor the project.

#Example request

curl -X POST https://api.auray.ai/v1/studio/projects/3f0c8a52-6a1d-4e8b-9c2d-7e5f4a3b2c1d/items/0a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d \
  -H "Authorization: Bearer $AURAY_API_KEY" \
  -H "content-type: application/json" \
  -d '{
  "review": "approved",
  "favorite": true
}'

#Responses

#200 OK

OK.

FieldTypeRequiredDefaultDescription
objectstringyes—One of "item".
idstringyes—
project_idstringyes—
folder_idstringyes—The member's folder it is filed in; null at the project's top level. May be null.
kindstringyes—One of "image", "video", "audio", "model3d".
namestringyes—0 to 120 characters. May be null.
sourceobjectyes—
source.productstringyes—The product whose job made it, upload for a file from a disk, or film for a film exported from the project's own clips. One of "photo", "music", "video", "threed", "external", "upload", "film".
source.job_idstringyes—The job's id as GET /jobs/{id} reads it; null for an upload and for a film. May be null.
source.assetinteger or stringyes—Which file of the job: a position, or a 3D artefact's name. May be null.
source.from_uploadbooleanno—Whether it was made from a file not made here: true for an upload and for a result whose job was given one, however many jobs back; false for a result made here from files made here alone; null where it is not known. Only a picture, a clip or a recording that is false can be made to speak or used as a voice without your consent. May be null.
filesobject[]yes—
files[].rolestringyes—original as made or uploaded; thumbnail a smaller picture for a card; poster a frame of a clip or a view of a mesh; captions a film's subtitles, the WebVTT a captioned export files beside it. One of "original", "thumbnail", "poster", "captions".
files[].urlstringyes—A URL.
files[].expires_atstringyes—
files[].content_typestringyes—
files[].bytesintegeryes—May be null.
files[].widthintegeryes—May be null.
files[].heightintegeryes—May be null.
files[].duration_msintegeryes—May be null.
files[].from_uploadbooleanno—On an element's file alone: whether it was made from a file not made here — false for a picture made here from files made here alone, true for one made from an upload, null where it is not known. Only a picture that is false can be made to speak. An item says its own as source.from_upload. May be null.
files[].uploadedbooleanno—On an element's file alone: true for your own upload itself.
promptstringyes—May be null.
paramsobjectyes—The settings it was made with, cleaned of links and keys. May be null.
modelobjectyes—The model an item was made with: its address and id as GET /models lists it, and the name a person reads. All three are null for the person's own upload; a frame the AI Director cut from a model's clip is named by that clip's model.
model.addressstringyes—May be null.
model.idstringyes—May be null.
model.labelstringyes—May be null.
directorobject or nullyes—
seedintegeryes—May be null.
ai_generatedbooleanyes—A model's output says so wherever it is shown, with attribution, its licence line.
attributionstringyes—May be null.
reviewstringyes—One of "none", "in_progress", "needs_review", "approved", "rejected".
favoritebooleanyes—Your own favourite.
last_viewed_atstringyes—When you last opened it (POST …/view); null for never. May be null.
trimobject or nullyes—
created_atstringyes—
updated_atstringyes—
trashed_atstringyes—May be null.
filmobjectyes—For a film exported from the project's own clips (source.product film): its cut, its place among the cut's exports and every model that made it. Null for every other item. May be null.
film.film_idstringyes—The cut it is an export of.
film.exportintegeryes—Its place among the cut's exports in the project, 1 the oldest. 1 to ….
film.exportsintegeryes—How many exports of the cut the project holds now, the Trash included. 1 to ….
film.latestbooleanyes—True for the newest export of the cut outside the Trash.
film.made_withobject[]yes—Every model its clips and sounds were made with, each by its name.
film.made_with[].addressstringyes—May be null.
film.made_with[].idstringyes—May be null.
film.made_with[].labelstringyes—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
200OK.
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