The library
Media in the left menu opens the whole shelf. Every file, newest first, eighteen to a page, with the pager underneath once there is more than one page. The same grid opens inside the composer when you press Insert Media, with one difference that matters.
Hover a tile and two controls appear.
That delete is soft. The row is flagged, the grid stops showing it, and the file itself stays where it was written. A post that already carries it goes out exactly as you left it.
Getting files in
Press Upload and pick files, or drag them straight onto the grid, which answers with Drag n drop some files here. Empty, the page tells you the same thing: You don’t have any media yet.The two type rows differ because the picker is permissive and the check happens on the way in. Hand it something outside the second list and it is refused after you choose it, not before.
DISABLE_IMAGE_COMPRESSION.
Third place files come from: Import, next to Upload. That button only appears once your install has a media service connected, and it opens Import From so you can browse that service and pull files across. Full walkthrough on Third-party integrations.
Finding one again
The search box sits above the grid and matches the name the file arrived with, ignoring case, filtering as you type. Clear it and the whole shelf comes back. Nothing matched reads No media matches your search.Alt text and video covers
This one lives in the composer rather than the library. Hover an attachment thumbnail under the editor and a settings icon opens Media Settings.
The frame you pick is stored as a timestamp as well as a picture, and Instagram uses that timestamp to set the cover on a video or a reel. Clear Thumbnail puts it back to whatever the platform would have chosen.
Press Save Changes and the attachment on your post updates in place.
AI images
AI Image sits in the attachments row under the editor, on any plan that includes AI.
1
Describe it yourself
The box starts empty on purpose. She does not borrow the text of your post, so what you describe is what gets drawn.
2
Press Generate
The window closes while she works. The composer buttons lock for the duration, which is deliberate, because nothing should schedule mid-generation.
3
She writes the brief first
What you typed goes to a writing model, which turns your one line and your chosen style into a long render brief, and the image model draws from that.
4
It arrives attached
The finished square image is saved into your library and attached to the post in one move.
AI video
AI Video sits next to AI Image, and it is the one button on this page that can be missing entirely. It renders only when your install has at least one video engine configured.
Burned in means exactly that. The subtitles are rendered into the pixels, centered, so they survive every platform that plays a video without captions.
With both engines configured you get a Choose a video type list first. With one, she takes you straight into its form.
Filling in the form
Two orientation buttons sit at the top of every engine, and vertical is already selected.Veo3 wants a prompt and up to three images
Veo3 wants a prompt and up to three images
Veo3 asks for a Prompt of at least five characters, and takes up to three reference images from your media library underneath it. Pick a video by accident and she drops it from the selection, because that field is images only.
Image Text Slides wants one thing, the voice
Image Text Slides wants one thing, the voice
The list comes back live from ElevenLabs with a Play button beside each name, so you can hear one before you commit, and the first voice is chosen for you. From there she writes the slides, draws a picture for each one, narrates them in your voice, stitches the whole thing together with half-second fades, then burns the subtitles on.
Miss a required field and the form tells you Please fill all required fields rather than spending anything.
The design editor
Sometimes you do not need a photo, you need a quote card with your colors on it. Design Media, also in the attachments row and on the same plans as AI Image, opens a full canvas over the composer: a side panel of templates, text and shapes on the left, a toolbar across the top, zoom controls at the bottom. A fresh page opens at 540 x 675 pixels, which is a portrait shape that survives most feeds.Build the thing, then press Use this media. She flattens the canvas to a PNG, uploads it, and drops it onto the post.
Every export lands in your library as
media.png, so a busy month leaves you a stack of them.The AI Img tab, on plans that include the image generator
The AI Img tab, on plans that include the image generator
There is one extra tab in that side panel, marked AI Img. Type a prompt, press Generate, and the result appears as a thumbnail you can click. Click it with nothing selected and it lands on the canvas at its own size. Click it with an image element selected and it replaces that element’s picture instead, which is the fastest way to fill a template you already like. Your remaining credits sit next to the heading, and at zero the button relabels itself to send you to billing.
Running PostQueen yourself? The editor is the Polotno SDK and it wants one key,
NEXT_PUBLIC_POLOTNO. Leave it unset and the canvas still opens, in a demo mode that is not fit for production. Setup and licensing live on Image and video editing.Where the files actually live
Every upload, every generated frame and every design export goes through the same storage setting.
Uploads and storage walks through both backends and the trap in the middle.
Related
Uploads and storage
Local disk or Cloudflare R2, and why some networks need a public URL
Image and video editing
The one key that turns the design canvas on, and who bills you for it
Writing a post
Where every one of these buttons sits, and the three ways a post leaves the composer
Next steps
Plans and limits
Where image and video credits come from, and what happens at zero
Third-party integrations
The Import button, and the services that fill it
When an upload fails
Payload limits, refused file types, and the video failures behind them
Upload from your own tooling
The same library, one API call away