Media & Content
Manage your videos, ask questions, and build applications with the Platform API. Explore the operations below for request details, responses, and examples.
No matching documentation. Try a different search.
Media & Content
Upload and manage non-video content (images, audio, documents), and list all content — videos and media together — in one call.
POST/api/v1/projects/:projectId/media/uploadUpload media (multipart: images / audio / docs)
Upload media (multipart: images / audio / docs)
Multipart form field file. Detected type drives downstream handling.
POST/api/v1/projects/:projectId/media/upload-from-urlUpload media from a URL
Upload media from a URL
{ "url": "https://example.com/image.jpg", "name": "Front shelf" }GET/api/v1/projects/:projectId/contentUnified list of all content (videos + media)
Unified list of all content (videos + media)
Send the request to https://platform.endlessai.com/api/v1/projects/:projectId/content using your project key or user token.
GET/api/v1/projects/:projectId/mediaList media items
List media items
Send the request to https://platform.endlessai.com/api/v1/projects/:projectId/media using your project key or user token.
GET/api/v1/projects/:projectId/media/:mediaIdGet a media item
Get a media item
Send the request to https://platform.endlessai.com/api/v1/projects/:projectId/media/:mediaId using your project key or user token.
PUT/api/v1/projects/:projectId/media/:mediaIdBetaUpdate media metadata
Update media metadata
Beta: this operation may change before it is final.
Send the request to https://platform.endlessai.com/api/v1/projects/:projectId/media/:mediaId using your project key or user token.
DELETE/api/v1/projects/:projectId/media/:mediaIdDelete media
Delete media
Send the request to https://platform.endlessai.com/api/v1/projects/:projectId/media/:mediaId using your project key or user token.
POST/api/v1/projects/:projectId/media/:mediaId/processAnalyze and moderate a media item
Analyze and moderate a media item
Queues an image or text item for analysis and moderation. Returns 202. Needs write access.
{ "mediaId": "MEDIA_ID", "queued": true }GET/api/v1/projects/:projectId/media/:mediaId/statusGet processing status
Get processing status
status moves from uploaded to processing, then analyzed, completed or error.
{
"mediaId": "MEDIA_ID",
"mediaType": "image",
"role": "content",
"status": "completed",
"analyzed": true,
"moderated": true,
"decision": "allow",
"error": null
}GET/api/v1/projects/:projectId/media/:mediaId/moderationGet moderation result
Get moderation result
decision is allow, flag or ban; a recorded human review takes priority and is shown in human_review.
{
"mediaId": "MEDIA_ID",
"mediaType": "image",
"status": "completed",
"decision": "flag",
"confidence": 82,
"reasoning": "A weapon is visible in the foreground.",
"flags": ["weapons"],
"categories_scanned": ["weapons", "violence", "nudity"],
"human_review": null,
"completedAt": "2026-10-02T09:00:12.000Z"
}PUT/api/v1/projects/:projectId/media/:mediaId/reviewSubmit review decision
Submit review decision
decision: allowed, flagged or banned. Overrides the automatic result. Needs review access.
{ "decision": "allowed", "reason": "Toy replica, not a real weapon" }