Social Org Media Browsing and Register-by-URL — Reuse Dashboard Uploads in Agent Drafts
GET /api/v1/social/org-media and aveiro_social_list_org_media let agents discover dashboard uploads. aveiro_social_register_media registers any public URL into the social library. MCP generate timeout extended to five minutes.
Agents can browse org media storage (dashboard uploads separate from the social library), register any public image or video URL into the social library, and run multi-ratio AI generation without MCP timing out at 60 seconds.
GET /api/v1/social/org-media lists files in the organization's general media storage — brand assets, screenshots, and photos uploaded through any dashboard dialog. These live under org-media/{orgId}/ and are separate from the social media library (GET /api/v1/social/media).The MCP tool aveiro_social_list_org_media wraps the same route with cursor pagination.
Register media by URL
POST /api/v1/social/media was already available over REST. The new MCP tool aveiro_social_register_media makes the register step explicit in Cursor and Claude:
Pass a publicly accessible URL — Meta fetches media at publish time
Set media_type: "video" for Reels (the AI generator produces images only)
Optional aspect_ratio tag enables per-platform auto-crop at publish
Registration is idempotent per URL — re-registering returns the existing asset
Typical flow: aveiro_social_list_org_media → pick a URL → aveiro_social_register_media → attach the returned asset ID to a draft.
Host videos on the platform CDN
When registering a video by URL, pass host: true on REST (POST /api/v1/social/media with mediaType: "video") or on the MCP tool (aveiro_social_register_media with and ). Aveiro downloads the file server-side, stores a copy in org video hosting, and registers the CDN URL instead of the external link — so scheduled posts do not silently depend on third-party URLs staying alive until dispatch. Ingest is deterministic per source URL (retried calls converge on one asset). The dashboard Add-by-URL dialog defaults hosting on for videos.
media_type: "video"
host: true
GET /api/v1/social/org-media now accepts type=video so agents can list hosted videos (dashboard uploads and hosted ingests) alongside images.
MCP generate timeout fix
aveiro_social_generate_media can run for several minutes when generating up to four aspect ratios. The hosted MCP server timeout is now five minutes (up from 60 seconds) so multi-ratio runs complete instead of aborting mid-generation.
Why we built it this way
Teams already upload brand assets through the dashboard. Without org-media browsing, agents could only AI-generate new images or guess URLs. Browsing org storage lets agents reuse existing creative without re-uploading.
Register-by-URL is the path for videos, hosted screenshots, and CDN assets that are not in Aveiro storage. The social library stays the single attach point — org media is discovery, register is the bridge.
Try it
Upload a brand image through any dashboard media picker.
In Cursor with Aveiro MCP, call aveiro_social_list_org_media and note a url.
Call aveiro_social_register_media with that URL.
Create a draft with aveiro_social_create_draft and attach the returned asset ID.
Or over REST: GET /api/v1/social/org-media → POST /api/v1/social/media with { "url": "…" }.