Docs

REST API

Media

Media

Media

Upload images and video once, then attach them to any number of posts via media_ids.

The media object

Field Type Description
id integer Unique id. Pass to a post's media_ids.
original_name string The uploaded filename.
mime_type string e.g. image/jpeg, video/mp4.
size_bytes integer File size.
cdn_url string Public URL of the file.
width / height integer|null Pixel dimensions for images.
duration number|null Seconds, for video.
folder string|null Optional organizational folder.
tags string[] Optional tags.
alt_text string|null Accessibility text.

Upload media

POST /api/media

Send as multipart/form-data.

Field Type Required Notes
file file yes jpg, jpeg, png, gif, mp4, mov, webm. Max 100 MB.
folder string no Organizational folder.
tags string[] no Each tag ≤ 50 characters.
alt_text string no ≤ 500 characters.
curl -X POST https://schedulenchill.com/api/media \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -F "file=@./launch.png" \
  -F "folder=product-launch" \
  -F "tags[]=launch" \
  -F "alt_text=Product launch screenshot"

Returns 201 Created with the media object. Use its id in a post's media_ids.

Building over MCP or from a server with a public file URL? Use the upload_media tool, which ingests media by URL instead of multipart upload.


List media

GET /api/media

Paginated, 15 per page. Optional filters:

Query param Description
search Match filename.
type image or video.
folder Filter by folder.
tags Filter by tag.
page Page number.

Retrieve media

GET /api/media/{id}

Update media

PUT /api/media/{id}

Update metadata only — folder, tags, alt_text. The file itself is immutable; upload a new file to replace it.


Delete media

DELETE /api/media/{id}

Returns 204 No Content.