# How do I publish videos with Buffer from Vidiyo?

Canonical URL: https://getvidiyo.app/docs/publishing-with-buffer
Last updated: 2026-10-08

> TL;DR: Connect a Buffer API key and an S3-compatible bucket such as Cloudflare R2 in Settings → Publishing. Export the video, create a post from its idea card, write or draft the caption, pick a time, then Review post and approve it. Buffer posts it on time, even while your Mac sleeps. Buffer's free plan covers three channels.

Vidiyo schedules posts through [Buffer](https://buffer.com), which holds your social accounts and sends each post at its time. You keep your accounts in Buffer; Vidiyo prepares the post and sends it there after you approve it.

## What do I need to set up?

You need a Buffer account with your channels connected, a Buffer API key, and an S3-compatible storage bucket with public access. Cloudflare R2 works well for this. The [hosting media guide](https://developers.buffer.com/guides/hosting-media.md) explains why Buffer needs a public link. Buffer's free plan covers three channels.

## How do I connect Buffer and storage?

1. In Buffer, connect your channels, then open [Settings → API](https://publish.buffer.com/settings/api) and create a key.
2. In Cloudflare R2 (or any S3-compatible store), create a bucket and turn on public access through its r2.dev subdomain or your own domain. Create an API token with Object Read & Write on that bucket.
3. In Vidiyo, open **Settings → Publishing**. Add the **Buffer API key**, the **Storage URL** (the bucket's S3 API URL, ending in the bucket name), the **Public URL**, the **Access key ID** and the **Secret access key**. Click **Save**.
4. Click **Check connection**. It lists your channels and round-trips a small file through the public link.

Keys are stored encrypted on your Mac and sent only to Buffer and your bucket. The assistant never sees them.

## How do I schedule a post?

Export the video first, then create the post from its idea card. In the post:

1. Choose the account. The latest export is picked for you.
2. For YouTube, add a title. Write the caption, or click **Draft with AI** to write it from what the video says.
3. Set a **Publishing time**, or leave it blank to add the post to the account's Buffer queue at the next free slot.
4. Click **Review post**, watch the preview, then **Approve schedule** (or **Approve & add to queue**).

The review is tied to that exact export and caption. Change either and you review again.

## What happens after I approve?

Vidiyo rechecks the export, uploads it to your bucket, confirms the public link works, then creates the Buffer post. Posts sharing an export reuse one upload. The **Calendar** has a month grid and a **Posts** list grouped into Needs attention, Upcoming, Drafts and Published; a post shows Published with a link once Buffer reports it sent.

## How do covers work?

Instagram posts can use a Vidiyo thumbnail as the cover. Buffer's API takes no cover image, so Vidiyo appends your cover as a 0.2-second still at the end of the Reel and points Instagram's cover at it. YouTube, X and LinkedIn have no thumbnail input in Buffer; add the cover on the platform yourself.

## How do I cancel or change a post?

Open the post and click **Cancel schedule**. That deletes the Buffer post unless Buffer is already sending it. Cancel before changing an approved caption or export, then review and approve again. If Buffer never confirmed a request, the post shows **Needs review** and is not retried automatically, because a retry could post twice.

## Steps

1. In Buffer, connect your Instagram, YouTube, LinkedIn or X channels and create an API key under Settings → API.
2. Create a storage bucket (for example Cloudflare R2) with public access and an API token with Object Read & Write.
3. In Vidiyo, open Settings → Publishing, add the Buffer key, the bucket's S3 API URL, its public URL and the access key pair, then click Check connection.
4. Export the video, open its idea card and add a post for an account.
5. Write the caption (or click Draft with AI), set a publishing time, then click Review post and approve it.

## Frequently asked questions

### Why does Vidiyo need a storage bucket for Buffer?

Buffer's API only accepts video as a public link that must work until the post goes out. Vidiyo uploads the approved export to your own bucket under an unguessable name and deletes it once no unfinished post needs it.

### Which platforms can I post to?

Instagram, YouTube, LinkedIn and X, through the channels you connect in Buffer. Instagram needs a professional account connected in Buffer, and Instagram videos publish as Reels shared to the feed.

### Can I set a custom thumbnail on YouTube through Buffer?

No. Buffer accepts no thumbnail image for YouTube, X or LinkedIn. Download the cover from Exports and add it on the platform, for YouTube in YouTube Studio after the post goes out. Instagram posts can use a Vidiyo cover.

### Does my Mac need to stay on until the post goes out?

No. Once approved, the post lives in Buffer and goes out at its time while your Mac sleeps. Vidiyo checks the post's status the next time it can.

### Can the assistant publish without me?

No. The assistant can draft captions and prepare posts, but it can't approve, connect accounts or publish. Every post needs your review and approval.

## Related

- [A content calendar that schedules your videos](https://getvidiyo.app/features/content-calendar-and-scheduling)
- [Schedule videos to Buffer from your video editor](https://getvidiyo.app/buffer-video-scheduling)
- [How do I export a video from Vidiyo?](https://getvidiyo.app/docs/export)
- [What data does Vidiyo collect, and what stays on my Mac?](https://getvidiyo.app/docs/privacy-and-data)
- [Vertical video](https://getvidiyo.app/glossary/vertical-video)

## Sources

- [Buffer](https://buffer.com) (accessed 2026-10-08)
- [Buffer API settings](https://publish.buffer.com/settings/api) (accessed 2026-10-08)
- [Buffer developer docs: hosting media](https://developers.buffer.com/guides/hosting-media.md) (accessed 2026-10-08)

Request access to the Vidiyo beta: https://getvidiyo.app/request
