Create Video Post
facebook_create_video_postUpload a video to a Facebook Page as a post, using a local file or https URL, with publish, schedule, or draft options and a dry-run preview before applying.
Instructions
Upload a video to a Page. A local path inside FB_MEDIA_DIR is streamed chunk-by-chunk through the resumable protocol (progress is reported); an https:// URL is handed to Meta to fetch. A completed upload is a CREATED video, not yet an encoded, published one. Dry run by default.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| apply | No | Set true to actually perform the write. Omitted or false ⇒ the server decides from its configured write mode: usually a dry run that returns a plan preview and changes nothing, but a server (or package) configured apply-first performs the write. To be certain nothing happens, read the result: a dry run always reports the plan and says the write was NOT performed. | |
| title | No | Video title, shown in the video library. | |
| video | Yes | The video: a local file path inside FB_MEDIA_DIR (streamed from here, resumable, up to 256 MB) or an https:// URL Meta fetches from its own network. | |
| plan_id | No | The `planId` returned by a preceding dry-run preview of this same tool. Required for irreversible and spend-tier writes; plans expire a few minutes after they are created. | |
| profile | No | Page profile key (e.g. "brand-a") or a raw Page ID. Omitted ⇒ the default Page (FB_PAGE_ID). | |
| published | No | false ⇒ create the post UNPUBLISHED (a draft that stays invisible until facebook_update_post action:"publish_now"). Omitted or true ⇒ publish immediately. Must be omitted when scheduled_publish_time is set. | |
| description | No | The post text shown with the video (the video caption). | |
| page_timezone | No | IANA timezone name of the Page (e.g. "Europe/Sofia"), used only to echo a scheduled instant in Page-local time next to UTC. Omitted ⇒ the server reads the Page's own timezone; if that read fails the echo is UTC-only. | |
| scheduled_publish_time | No | When to publish, as an ISO-8601 instant WITH an explicit offset — "2026-08-01T09:30:00+03:00" or "2026-08-01T06:30:00Z". A bare local time ("2026-08-01T09:30:00") and a raw epoch number are both REFUSED, because they have no unambiguous meaning. Must be more than 10 minutes and at most 75 days ahead. Setting this creates the post unpublished; do NOT also pass published:true. |