Docs

Start here

Make an element

POST/v1/studio/elementson https://api.auray.ai/v1

Make an element from one to 6 pictures or clips: uploads made for an element, or pictures of a project's items, which are copied.

Make an element from one to 6 pictures or clips: uploads made for an element, or pictures of a project's items, which are copied. As many elements as your plan's studio.max_elements (on GET /v1/plans), every version counted. 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

#Body

application/json, required.

FieldTypeRequiredDefaultDescription
namestringyes—0 to 60 characters.
categorystringyes—One of "character", "location", "prop".
handlestringno—Left out: @<category>_<name>_v<version>, made unique among yours.
versionintegerno11 to ….
descriptionstringno—0 to 1000 characters. May be null.
propertiesobject[]no—May be null.
properties[].keystringyes—0 to 40 characters.
properties[].valuestringyes—0 to 200 characters.
statusstringno"ready"One of "draft", "ready", "archived".
project_idstringno—May be null.
filesobject or object or object[]yes—

#Example request

curl -X POST https://api.auray.ai/v1/studio/elements \
  -H "Authorization: Bearer $AURAY_API_KEY" \
  -H "content-type: application/json" \
  -d '{
  "name": "Aliya",
  "category": "character",
  "description": "A courier in a yellow raincoat.",
  "files": [
    {
      "item_id": "0a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d"
    }
  ]
}'

#Responses

#201 Created

Created.

FieldTypeRequiredDefaultDescription
objectstringyes—One of "element".
idstringyes—
handlestringyes—What a prompt names it by: @char_aliya_v1. Every version has its own.
namestringyes—0 to 60 characters.
categorystringyes—One of "character", "location", "prop".
versionintegeryes—1 to ….
lineage_idstringyes—Every version of one element shares it.
descriptionstringyes—0 to 1000 characters. 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. One of "original", "thumbnail", "poster".
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.
propertiesobject[]yes—
properties[].keystringyes—0 to 40 characters.
properties[].valuestringyes—0 to 200 characters.
statusstringyes—One of "draft", "ready", "archived".
project_idstringyes—The project it was made in; null for one of your own across every project. May be null.
created_atstringyes—
updated_atstringyes—
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

#409 Conflict

#413 Payload Too Large

#429 Too Many Requests

#500 Internal Server Error

#502 Bad Gateway

#503 Service Unavailable

#Status codes

StatusMeaning
201Created.
400Bad Request
401Unauthorized
403Forbidden
409Conflict
413Payload Too Large
429Too Many Requests
500Internal Server Error
502Bad Gateway
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