Media manifest for AI
The media manifest lets an AI agent choose images and wire them into your content. It ships a folder of thumbnails named by attachment id together with a manifest.json, so the agent can see the library and reference each image by the one identifier WordPress actually stores: the numeric attachment id.
It rides along with the content export. On Tools → Octa Editor → Export, card Content (ZIP), tick Image library (index) in the row of types. Ticked on its own, with no type selected, it produces an archive holding only the index.
Why id, not filename
Section titled “Why id, not filename”An image on a WordPress site is referenced by its attachment id. featured_image takes an id, and an ACF image field stores an id. Filenames change, get duplicated, or are ambiguous, so the manifest pins each image to its stable id and the agent writes that id straight into the document. No import-side translation happens, which means the document schema stays exactly as documented.
What the ZIP contains
Section titled “What the ZIP contains”media/ thumbnails/ 123.jpg 124.png manifest.jsonmedia/thumbnails/{id}.{ext}holds a small thumbnail per image, named by its attachment id. An agent with image vision looks at these to pick the right picture.manifest.jsonmaps every id to itsfilename,alt,title,url(a medium-size preview),w,handmime.
{ "_meta": { "schema": 1, "total": 842, "included": 500, "truncated": true, "usage": "Reference an image by its numeric id..." }, "images": { "123": { "filename": "hero.jpg", "alt": "A team at a desk", "url": "https://.../hero-768x432.jpg", "w": 1600, "h": 900, "mime": "image/jpeg" } }}The agent picks an image and writes its id:
"featured_image": 123,"fields": { "section_image": 124 }Same site only
Section titled “Same site only”The ids in a manifest are valid on the site that produced it. Use the manifest when an agent edits content that goes back to that same site. Do not carry these ids into documents you import on a different installation, where the same numbers point at different attachments (or nothing). This is the same portability boundary as the content export: media binaries and cross-instance image references are out of scope.
Limits
Section titled “Limits”Each export includes up to 500 images, newest first, bounded by a total thumbnail size budget. When the library is larger, the export stops and manifest.json sets _meta.truncated to true with total showing the full accessible count, so the agent knows more images exist. Both limits are filterable through octa_editor_media_limits.
Permissions
Section titled “Permissions”The export is anti-oracle, the same rule as the rest of the plugin. An administrator exports the whole library. A lower role exports only its own uploads. The ZipArchive PHP extension is required, and the option is hidden when it is missing.