Media library
The media library holds every image and video available to your workspace. Assets can be uploaded directly through the API or created automatically when content is generated.
List assets
Section titled “List assets”GET /api/v1/media_assetsQuery parameters:
| Name | Type | Notes |
|---|---|---|
kind | string | image or video. |
tag | string | Repeat for AND. |
limit, cursor | - | Standard pagination. |
Retrieve
Section titled “Retrieve”GET /api/v1/media_assets/{id}{ "object": "media_asset", "id": "med_1e7b8a2c9d3f", "kind": "video", "url": "https://res.cloudinary.com/nativpost/video/upload/v1234/example.mp4", "thumbnail_url": "https://res.cloudinary.com/nativpost/image/upload/v1234/example.jpg", "duration": 12.5, "width": 1080, "height": 1920, "tags": ["office", "founder"], "created_at": "2026-07-14T08:22:00Z"}Upload
Section titled “Upload”POST /api/v1/media_assetsSend multipart/form-data with a single file field:
curl -X POST https://app.nativpost.com/api/v1/media_assets \ -H "Authorization: Bearer $NATIVPOST_API_KEY" \ -F "file=@/path/to/video.mp4" \ -F "tags=office" \ -F "tags=founder"Maximum file sizes: images 20 MB, videos 500 MB. Uploads over the limit return 413.
Every upload is scanned by the moderation pipeline. Assets appear in the list only after moderation approves them. See the workspace moderation queue in Settings → Content for pending items.
Reference an asset
Section titled “Reference an asset”Attach an asset to a content object by id:
{ "content_type": "photo", "platforms": ["instagram"], "media_asset_ids": ["med_1e7b8a2c9d3f"]}Delete
Section titled “Delete”DELETE /api/v1/media_assets/{id}Deleting an asset that is referenced by scheduled or published content returns 409 conflict.