Skip to main content
The media library is a central store for all the images, videos, and audio files you use in your posts. Instead of re-uploading the same brand assets every time, you upload once and attach them to any post, on any channel, whenever you need them. Everything is organized in a searchable grid so your media is always a few clicks away.

Supported file types

Volta accepts the following media formats:
  • Images — PNG, JPG/JPEG, GIF (including animated GIFs)
  • Video — MP4
  • Audio — common audio formats for platforms that support audio posts

Uploading media

You can upload files in two ways:
1

From the Media Library view

Navigate to Media Library in the dashboard sidebar. Drag and drop files directly onto the page, or click the Upload button to open a file picker. Uploaded files appear in the grid immediately.
2

From the post composer

While composing a post, click the attachment icon in the toolbar. You can upload a new file on the spot or browse your existing media library to attach a previously uploaded file.

Reusing media across posts

Any file in your media library can be attached to multiple posts. In the composer, click Browse Library to open a media picker, search or scroll to find the file you want, and click to attach it. Reusing media doesn’t create duplicate files — Volta references the same stored asset each time.

Storage backends

Where your media files are physically stored depends on how your Volta instance is configured:
  • Local filesystem (default) — files are saved to the ./uploads/ directory on the server. No extra configuration needed, but storage grows on the same machine as Volta.
  • Cloudflare R2 — files are stored in a Cloudflare R2 bucket. This is the recommended option for production deployments with heavy media usage. Ask your admin whether R2 is enabled for your instance.
Your admin controls which storage backend is active. As a user, the media library behaves identically regardless of backend — the difference is only in where files are physically stored.

Platform media limits

Different social platforms have different limits on how many images or videos you can attach to a single post. Volta enforces these limits in the composer so you don’t accidentally exceed them.
PlatformImagesVideo
X (Twitter)Up to 41
InstagramUp to 10 (carousel)1
PinterestUp to 51
TelegramUp to 10 (album)
For platforms not listed above, refer to the composer — it will show the attachment limit for the channel you’ve selected.

Uploading via the API and SDK

You can upload media programmatically using the public API or the official SDK: REST API
POST /public/v1/upload
Authorization: your-api-key
Content-Type: multipart/form-data

file=<binary>
SDK
import Postsider from '@postsider/node';

const client = new Postsider('your-api-key', 'https://your-instance.com');

// Upload a local file buffer
const result = await client.upload(fileBuffer, 'png');
console.log(result); // { id, path, url }
The returned id or path can then be referenced when creating a post via the API.
When building AI agent workflows with the Volta MCP server, use the uploadFromUrlTool to import media directly from a public URL into the media library — no manual download and re-upload needed. This is especially useful when an agent generates or discovers an image online and needs to attach it to a scheduled post.