Docs

Start here

Read a published project

GET/v1/community/profiles/{handle}/projects/{slug}on https://api.auray.ai/v1

A published Cinema Studio project's page, under its author's profile: its cover and film, its words, its info card (views, generations, credits spent while its author shows them, size, dates), its …

A published Cinema Studio project's page, under its author's profile: its cover and film, its words, its info card (views, generations, credits spent while its author shows them, size, dates), its Stack, its folders, and its canvases while its author shows them — read-only, as a reader may see them. Shown once published, whether or not our team approved it for the feeds; a hidden, withdrawn or removed one answers 404 except to its author. A handle its creator replaced within the hold still leads here, with moved_from. Takes no key. A key that holds community:write reads as its account — its likes filled in, and its author told where it stands in mine — and any other key reads what a stranger reads; either way a request with a key is answered for itself alone and kept in no shared cache. An answer without a key is the same for every reader, its request_id included — which names the request that filled the edge's copy — and carries no RateLimit-* headers, since they would describe that request's sender. Cached at the edge for thirty seconds with two minutes of stale service.

#Authentication

No key needed — this document is public.

#Request

#Path parameters

NameTypeRequiredDescription
handlestringyesThe author's handle, with or without its @.
slugstringyes0 to 60 characters.

#Example request

curl https://api.auray.ai/v1/community/profiles/ada/projects/…

#Responses

#200 OK

OK.

FieldTypeRequiredDefaultDescription
objectstringyes—One of "project_page".
publication_idstringyes—The work it is: like, comment, report and count a view by this id.
slugstringyes—
titlestringyes—
descriptionstringyes—May be null.
categorystringyes—One of "film", "short", "series", "trailer", "commercial", "music_video", "animation", "documentary", "fashion", "game", "worldbuilding", "experimental", "other".
authorobject or nullyes—
coverobject[]yes—The cover's files.
cover[].rolestringyes—primary is the work as it was made; the rest are what the feeds draw: an image's thumbnail, a video's or a model's poster and thumbnail, a song's waveform (JSON: {version, peaks}). One of "primary", "poster", "preview", "thumbnail", "waveform".
cover[].positionintegeryes—
cover[].urlstringyes—Where to load it. Kept until its author unpublishes the work. A URL.
cover[].content_typestringyes—
cover[].widthintegeryes—May be null.
cover[].heightintegeryes—May be null.
cover[].duration_msintegeryes—May be null.
cover[].suppliedbooleanyes—True for a poster, or its thumbnail, that the work's author supplied rather than one our services made: it is not what the model made, and the work's ai_generated does not describe it.
filmobject[] or nullyes—The film its player shows: the cover when it is a clip — and, once the project shows an exported film, only that film. A film withheld is never replaced by another clip: the page is then drawn by its cover as a picture.
foldersobject[]yes—
folders[].idstringyes—all, generations, uploads, or a member's folder's public id: the folder its assets are read by.
folders[].namestringyes—May be null.
folders[].systemstringyes—One of "all", "generations", "uploads", null. May be null.
folders[].countintegeryes—0 to ….
countsobjectyes—
counts.likesintegeryes—
counts.viewsintegeryes—Counted once a day per visitor.
counts.commentsintegeryes—
counts.remixesintegeryes—
likedbooleanyes—May be null.
infoobjectyes—
info.viewsintegeryes—0 to ….
info.generationsintegeryes—0 to ….
info.credits_spentintegeryes—What its generations cost in credits. Always null for now: a published work's cost is not shown. May be null.
info.bytesintegeryes—0 to ….
info.created_atstringyes—When the project was made.
info.published_atstringyes—
info.updated_atstringyes—When it was last published again. May be null.
stackobject[]yes—
stack[].modelobjectyes—
stack[].model.addressstringyes—The model address it was made with, as GET /v1/models lists it: the path a job is submitted to, such as auray-ai/krea-2-turbo/text-to-image. May be null.
stack[].model.idstringyes—The same model's id, as GET /v1/models lists it: the catalogue slug, such as krea2. May be null.
stack[].model.labelstringyes—The model's name, as a person reads it. May be null.
stack[].tenthsintegeryes—Its share in tenths of a percent; the bands of one Stack add up to exactly 1000. 0 to 1000.
stack[].percentnumberyes—tenths / 10, for display only.
stack[].countintegeryes—0 to ….
stack[].colorstringyes—
stack[].otherbooleanyes—The band that gathers every model past the top ones.
powered_bystringyes—One of "cinema_studio".
show_promptsbooleanyes—
show_canvasbooleanyes—
canvasesobject[] or nullyes—Only while its author shows canvases.
listedbooleanyes—The public feeds hold it: published, approved, discoverable.
snapshot_idstringyes—The snapshot "View full project" opens, read-only.
licence_versionstringyes—May be null.
published_atstringyes—
urlstringyes—A URL.
moved_fromstringno—The handle asked for, when its creator replaced it within the hold.
mineobjectno—Where an author's own work stands and why. Only ever answered to its author.
mine.statestringyes—published is shown on the profile and at its link; hidden while a severe report is reviewed; withdrawn unpublished while a report held it; removed taken down by our team; staging while its files are copied. One of "staging", "published", "hidden", "withdrawn", "removed".
mine.state_reasonstringyes—Why our team hid or removed it. May be null.
mine.approvalstringyes—Whether it is in the public feeds and search. Approval gates the feeds only — never the profile or the link. One of "pending", "approved", "rejected".
mine.approval_reasonstringyes—Why our team declined it for the feeds. May be null.
mine.discoverablebooleanyes—The author lets it into the public feeds once approved.
mine.profile_pinnedbooleanyes—
mine.heldbooleanyes—An open report holds it: it is kept until the report is decided.
mine.licence_versionstringno—The Terms version whose display and remix licences were granted.
mine.created_atstringyes—
request_idstringno—

Headers:

HeaderDescription
Cache-Controlpublic, s-maxage=30, stale-while-revalidate=120 with no key; private, no-store with one.
VaryAuthorization.
RateLimit-LimitBurst capacity, per key, on an answer to a key. An answer without one is cached at the edge and carries none of the RateLimit-* headers; a refusal without one, which is never cached, carries its address's.
RateLimit-Remaining
RateLimit-ResetSeconds until refill.
X-Request-Id

#401 Unauthorized

#403 Forbidden

#404 Not Found

#429 Too Many Requests

#503 Service Unavailable

#Status codes

StatusMeaning
200OK.
401Unauthorized
403Forbidden
404Not Found
429Too Many Requests
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