Docs

Start here

Publish a project to the Community

POST/v1/studio/projects/{project}/publicationon https://api.auray.ai/v1

Publish the project to the Community, or publish it again as it is now: a SNAPSHOT of the folders and items named — never what is in the Trash or not ready — copied into the Community, with the can…

Publish the project to the Community, or publish it again as it is now: a SNAPSHOT of the folders and items named — never what is in the Trash or not ready — copied into the Community, with the canvases named while show_canvas is on, only ever as a reader may see them. It is published under the owner's public profile, so only the project's owner may, with the licence ticked as for a single work and a Terms version that states it. Every word a stranger would read — title, description, the items' names, shown prompts and canvases — passes the automatic check first. On its page and the owner's profile once its files are copied (copying says how far); in the public feeds only once our team approves it. Publishing again copies beside the live snapshot and replaces it when done, back in our team's queue. A request copies what it has time for and the rest is finished in the background. Takes a key holding studio:write — Account offers it unticked — or the desktop's own session key. Spends nothing.

#Authentication

Authorization: Bearer auray_sk_… — a key with the scope the route names.

#Request

#Path parameters

NameTypeRequiredDescription
projectstringyes

#Body

application/json, required.

FieldTypeRequiredDefaultDescription
foldersstring[]yes—Whole folders: all, generations, uploads, or a member's folder by its id.
itemsstring[]yes—Single items besides.
canvasesstring[]no—The canvases shown while show_canvas is on.
show_promptsbooleannotrueShow each asset's prompt and the canvases' prompts.
show_canvasbooleannofalseShow the canvases named in canvases, read-only.
discoverablebooleannotrueLet it into the public feeds and search once approved.
show_spendbooleannofalseAsk for its info card to say what its generations cost. Kept, and shown nowhere for now: a published work's cost is not shown.
titlestringyes—0 to 100 characters.
descriptionstringno—0 to 2000 characters. May be null.
categorystringyes—One of "film", "short", "series", "trailer", "commercial", "music_video", "animation", "documentary", "fashion", "game", "worldbuilding", "experimental", "other".
cover_item_idstringno—A picture or a clip of the snapshot as its cover; left out, the project's own. May be null.
licencebooleanyes—Publishing grants the display and remix licences the Terms state, for this project. One of true.
terms_versionstringno—The Terms version you accepted that states what publishing a project grants and shows. Defaults to the current one.

#Example request

curl -X POST https://api.auray.ai/v1/studio/projects/3f0c8a52-6a1d-4e8b-9c2d-7e5f4a3b2c1d/publication \
  -H "Authorization: Bearer $AURAY_API_KEY" \
  -H "content-type: application/json" \
  -d '{
  "folders": [
    "all"
  ],
  "items": [],
  "canvases": [],
  "title": "Night harbour",
  "description": "A short about a lighthouse keeper.",
  "category": "short",
  "show_prompts": true,
  "show_canvas": false,
  "discoverable": true,
  "show_spend": false,
  "licence": true
}'

#Responses

#201 Created

Created.

FieldTypeRequiredDefaultDescription
objectstringyes—One of "project_publication".
project_idstringyes—
publication_idstringyes—The Community work it is: GET /community/publications/{id}.
urlstringyes—Its page under its author's profile on auray.ai. A URL.
titlestringyes—0 to 100 characters.
descriptionstringyes—0 to 2000 characters. May be null.
categorystringyes—One of "film", "short", "series", "trailer", "commercial", "music_video", "animation", "documentary", "fashion", "game", "worldbuilding", "experimental", "other".
togglesobjectyes—What a publication shows. Hiding prompts or canvases deletes them from it; showing them again is a new snapshot.
toggles.show_promptsbooleanyes—Each asset's prompt, and the canvases' prompts, are shown.
toggles.show_canvasbooleanyes—The canvases chosen are shown, read-only — only ever as a reader may see them.
toggles.discoverablebooleanyes—It may enter the public feeds and search once our team approves it.
toggles.show_spendbooleanyes—Its author asked for the info card to say what its generations cost; no public answer says it for now.
selectionobjectyes—What the live snapshot was made from, in the project's own ids.
selection.foldersstring[]yes—
selection.itemsstring[]yes—
selection.canvasesstring[]yes—
itemsintegeryes—How many assets the live snapshot shows. 0 to ….
minebooleanyes—The caller is the publication's author. Only its author changes or unpublishes it, and only its author is told its moderation standing — after an ownership transfer that may be the former owner.
standingnull or objectyes—Where it stands in the Community and why — answered to its author alone; null for every other member.
fingerprintstringyes—What the live snapshot was made from, as changed compares it.
changedbooleanyes—The project changed since inside what was published: publishing again makes a new snapshot.
copyingnull or objectyes—A snapshot whose files are still being copied, and how far it has got; null when none is. A first publish is on no page until it is done.
published_atstringyes—Null while its first snapshot is still being copied. May be null.
republished_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

#422 Unprocessable Content

#428 Precondition Required

#429 Too Many Requests

#500 Internal Server Error

#502 Bad Gateway

#503 Service Unavailable

#Status codes

StatusMeaning
201Created.
400Bad Request
401Unauthorized
403Forbidden
404Not Found
409Conflict
413Payload Too Large
422Unprocessable Content
428Precondition Required
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