Atelier201 websiteJoin the waitlist
Media, import and exportUpload a media file
media

Upload a media file

Send the file as the raw request body with ?filename=. Images, PDF and short videos, 20 MB each. A picture over 200 KB is compressed when it arrives (2000 px at most, towards 150 KB, sharp on Retina, metadata removed); keep_original=true stores it exactly as sent, only when the owner asks. Reference it as /media/ in content; it is included from the next build.

POST/v1/sites/{site_id}/media

Requires sites:write. Costs no credits.

Send the file’s bytes as the request body, with the name in filename. Each file can be 20 MB, within the plan’s storage. Reference it as /media/<filename> in content. It is included from the next build, and visitors see nothing until you publish.

Authorizations

Authorizationbearerin headerrequired

Path parameters

site_idstringrequired

The site's id, or its slug (the address before .atelier201.page).

Query parameters

filenamestringrequiredlength: 1–160 chars
altstringlength: ≤ 300 chars
keep_originalboolean

true keeps the file exactly as sent, at full quality and weight: only when the owner asks for it (a photographer's work). By default a picture over 200 KB is compressed when it arrives.

Response

application/json

Upload a media file

dataobjectrequired
request_idstringrequired

Use these docs with your AI tools

An AI agent can read this documentation directly. You do not need an account or an API key. Everything here is public and read-only.

Query these docs via MCP

Recommended

Add this server to Claude, Claude Code, Cursor, Mistral, or any tool that supports MCP. Your agent can then search Atelier201 Docs documentation and read it in full, instead of answering from memory.

https://atelier201.com/docs/mcp
  • searchFind the passages that answer a question.
  • fetchRead one page in full, as Markdown.
  • list_pagesSee every page in this documentation.

Query these docs over HTTP

The same tools also work as plain web requests. Use this for scripts, or for any tool that does not support MCP. There is one endpoint per tool. Arguments go in the query string, and the answer comes back as JSON.

https://atelier201.com/docs/api/docs/search?query=custom+domain

Read the OpenAPI description. It is built from the same definitions as the tools, so it always matches what the endpoints do.

Read these docs as Markdown

Add .md to any page URL to get its Markdown source. You can also send the headerAccept: text/markdown to the page URL itself.

To read the whole documentation in one file, open llms-full.txt. For a short index of every page, open llms.txt.