Docs

Start here

Change a work

POST/v1/community/publications/{id}on https://api.auray.ai/v1

Change a published work of yours.

Change a published work of yours. New words pass the automatic check and send the work back to our team for review; show_prompt: false hides its prompt and settings for good (a hidden prompt is deleted, so it cannot be shown again); discoverable lets it into or out of the public feeds; profile_pinned pins it to your profile, three at most. Fields left out stay as they are. Takes a key holding community:write — Account offers it unticked — or the desktop's own session key. Spends nothing. While our team has paused publishing, a new title or description waits — 503 publishing_paused — and every other change here still goes through.

#Authentication

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

#Request

#Path parameters

NameTypeRequiredDescription
idstringyes

#Body

application/json, required.

FieldTypeRequiredDefaultDescription
titlestringno—One line. 0 to 100 characters. May be null.
descriptionstringno—0 to 2000 characters. May be null.
show_promptbooleanno—One of false.
discoverablebooleanno—
profile_pinnedbooleanno—

#Example request

curl -X POST https://api.auray.ai/v1/community/publications/3f0c8a52-6a1d-4e8b-9c2d-7e5f4a3b2c1d \
  -H "Authorization: Bearer $AURAY_API_KEY" \
  -H "content-type: application/json" \
  -d '{
  "title": "Lighthouse, morning fog",
  "discoverable": true
}'

#Responses

#200 OK

OK: the work as it stands now.

FieldTypeRequiredDefaultDescription
objectstringyes—One of "publication".
idstringyes—The work's public id.
kindstringyes—One of "image", "video", "audio", "model3d", "project".
titlestringyes—May be null.
modelobjectyes—
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.
model.idstringyes—The same model's id, as GET /v1/models lists it: the catalogue slug, such as krea2. May be null.
model.labelstringyes—The model's name, as a person reads it. May be null.
attributionstringyes—The licence text the model's output travels with. Show it wherever the work is shown. May be null.
ai_generatedbooleanyes—Every work here is a generation's result. Label it so wherever it is shown. One of true.
mediaobject[]yes—
media[].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".
media[].positionintegeryes—
media[].urlstringyes—Where to load it. Kept until its author unpublishes the work. A URL.
media[].content_typestringyes—
media[].widthintegeryes—May be null.
media[].heightintegeryes—May be null.
media[].duration_msintegeryes—May be null.
media[].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.
authorobject or nullyes—
countsobjectyes—
counts.likesintegeryes—
counts.viewsintegeryes—Counted once a day per visitor.
counts.commentsintegeryes—
counts.remixesintegeryes—
made_atstringyes—When the result was made. May be null.
published_atstringyes—May be null.
featuredbooleanyes—Featured by our team.
pinnedbooleanyes—Pinned by our team to the top of the public feeds.
originalbooleanyes—An Original: made by our own team.
remixedbooleanyes—Made from another work.
likedbooleanyes—The reader's own like; null when no key that holds community:write was sent. May be null.
urlstringyes—The work's page. A URL.
descriptionstringyes—May be null.
show_promptbooleanyes—
promptstringyes—Only while its author shows it. A hidden prompt is not stored anywhere. May be null.
paramsobjectyes—The settings it was made with, only while shown — never a file that was uploaded to make it. May be null.
remix_kindstringyes—One of "recreate", "animate", "upscale", "edit", null. May be null.
remix_ofobjectyes—The work it was made from, while that is shown. May be null.
remix_of.idstringno—
remix_of.kindstringno—One of "image", "video", "audio", "model3d", "project".
remix_of.titlestringno—May be null.
remix_of.authorobject or nullno—
remix_of.urlstringno—A URL.
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—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

#422 Unprocessable Content

#429 Too Many Requests

#503 Service Unavailable

#Status codes

StatusMeaning
200OK: the work as it stands now.
400Bad Request
401Unauthorized
403Forbidden
404Not Found
409Conflict
422Unprocessable Content
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