All pages
Reference
GET
/api/v1/media
Requires the media:read scope.
List the photos in your workspace. This is where a media_id comes from — the render endpoint accepts no URLs, so every render starts here.
Query parameters
| Name | Type | Required | Notes |
|---|---|---|---|
limit | integer | no | How many to return. 1–100, default 25. Out of range or non-numeric is 422 validation_failed — it is not clamped, so do not send limit=1000 and expect 100 back. |
cursor | string | no | The next_cursor from a previous page. Pages backward in time. |
Request
curl -s "https://omniscape.io/api/v1/media?limit=5" \
-H "Authorization: Bearer $OMNISCAPE_API_KEY"Response
{
"object": "list",
"data": [
{
"object": "media",
"id": "c35c8330-5dd2-4170-b2b0-bae80ed7182f",
"created_at": "2026-08-12T01:09:49.562Z",
"label": "#cross #christianity #rosary",
"tags": ["faith"],
"width": 1080,
"height": 1920,
"mime_type": "image/jpeg",
"file_size_bytes": 72267,
"preview_url": "https://omniscape.io/api/v1/media/c35c8330-…/preview",
"preview_expires_at": null
}
],
"has_more": true,
"next_cursor": "2026-08-12T01:07:46.032Z"
}Notes
- Only photos this workspace owns, not archived, and images only — every id returned here is one POST /api/v1/renders will accept. The list and the render endpoint agree by construction, so a media_id from this list never comes back as unknown_media.
- Page with cursor until has_more is false. Cursors run backward in time; a new photo added mid-pagination will not shift the page under you.
Codes this call can return are on Error handling. If something is behaving unexpectedly, Troubleshooting is organised by symptom.