Skip to content
All pages
  1. Overview
  2. Quick start
  3. Authentication
  4. API reference
    1. GET /media
    2. POST /media
    3. GET /media/{id}/preview
    4. GET /integrations/google/connect
    5. GET /integrations/google
    6. DELETE /integrations/google
    7. GET /integrations/google/folders
    8. POST /media/import
    9. GET /media/imports/{id}
    10. POST /renders
    11. GET /renders/{id}
    12. GET /renders/{id}/download
    13. GET /usage
  5. Code examples
  6. Error handling
  7. Rate limits & quotas
  8. Troubleshooting
  9. Changelog

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

NameTypeRequiredNotes
limitintegernoHow 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.
cursorstringnoThe 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.