Skip to content

From the first draft to on air, and what happens if it drops.

A tour of what Amaposta does today, and a table of exactly what each platform accepts.

Calendar and queue

See what's on air, what's next and what dropped.

Guide view
One lane per channel with time running left to right and an on-air line for now, so a gap or a pile-up is obvious at a glance. Week and month views when you need the long view.
Drag to reschedule
Move a post to another day in the month view and it keeps its time.
Posting slots and the queue
Set the times you like to post for each project. Add to queue drops a post into the next free slot for its channels, up to twelve weeks ahead.
Project timezones
Each project has its own timezone, and every time on screen is shown in it, including daylight saving changes.

Composer

Write once and let every channel get a version that fits.

Per-channel versions
Titles go only where a platform has a title field. Hashtags are sent as tags on YouTube and added to the text everywhere else. Override the title, text, hashtags or options for any single channel.
Live previews and counters
See each version as it will appear, with character counts done the way each platform counts. On X, links count as 23 and emoji as 2.
Platform options
YouTube visibility, category and made-for-kids; TikTok privacy, comments, Duet and Stitch; X reply settings; Instagram's share-to-feed for Reels.
Hashtag sets and duplicates
Save the hashtags you reuse as a set. Duplicate a post to start the next one from it.

Preflight checks

Problems surface while you write, not at 9:01.

What's checked
File type, size, video length, aspect ratio and width; title and text length; hashtag counts; whether the platform takes this kind of post at all; and whether each channel is connected.
Errors block scheduling
A post with errors can't be scheduled, from the dashboard or the API. Warnings and notes don't block anything.
  • TikTok can't publish text posts (it supports image and video). Remove TikTok from this post.
  • The file is 12 MB; Instagram allows up to 8 MB.
  • The file is only 280px wide; Instagram recommends at least 320px.

Approvals

For teams, clients and AI pipelines.

Review inbox
Turn on approvals for a project and posts from editors wait in the inbox. Admins approve, which keeps the scheduled time, or ask for changes with a note the author sees.
Pipelines go to review
API keys without the posts:publish scope can create and schedule posts, but in a project with approvals they land in review first; elsewhere they can only create drafts. Mark generated content with metadata.pipeline so reviewers can tell.
A record of decisions
Approvals, change requests and edits appear in the activity log, and post.approved reaches your webhooks.

Channels that stay connected

No silent failures, no surprise sign-outs.

Connect your way
Sign in with the platform, or paste tokens from your own developer app. Custom API channels post to any HTTPS endpoint you run.
Refresh and early warnings
Tokens are renewed in the background. If a platform needs a new sign-in, admins hear about it seven days before access lapses.
Plain-English failures
When a platform refuses a post, you see what it said and what to do next, with a Retry button on the delivery. Temporary errors are retried with backoff on their own.
Client reconnect links
Send a client a one-time link. They sign in with the platform and the channel is back, without an Amaposta account and without sharing a password.
Sandbox channels
Pretend channels that never leave Amaposta. Make one always succeed, fail now and then, always fail or act like an expired connection to see how each looks. They're free on every plan.

Media

Big videos included.

Three ways in
Drop files in the composer, upload through the API, or hand Amaposta a public URL to fetch. Large files go straight to storage with a presigned upload.
Processed for you
Dimensions, duration and a thumbnail are read from every upload, so the checks know what they're looking at. media.ready and media.failed tell your systems when it's done.
Covers
Add a custom thumbnail where the platform supports one. Where it doesn't, the composer tells you it will be skipped.

Workspaces and team

One workspace, many brands.

Projects
Keep each brand or client in its own project with its own channels, timezone, posting slots and approval setting.
Roles
Owners and admins manage channels, members and approvals. Editors write and schedule. Viewers can look without changing anything.
Notifications and activity
In-app and email notices for reviews, failures and expiring channels, each with its own on/off switch. The activity log shows who did what, including API keys.

API and webhooks

Your pipeline publishes like a teammate.

REST API
Upload media, create posts with per-channel overrides, schedule at a time, now or in the queue, and read back every delivery with its status, link and error. Documented with OpenAPI.
Scoped keys
content:read, content:write and posts:publish, optionally limited to certain projects. 120 requests a minute per key.
Safe retries
Send an Idempotency-Key and a retried request returns the original post instead of a duplicate.
Signed webhooks
Every delivery carries an HMAC-SHA256 signature, is retried when your endpoint is down, and shows up in a delivery log you can test from settings.
  • post.created A post was created (dashboard or API)
  • post.scheduled A post was scheduled
  • post.approved A post was approved
  • post.published A post went live on a channel
  • post.failed A post failed to publish on a channel
  • channel.connected A channel was connected or reconnected
  • channel.disconnected A channel lost its connection
  • media.ready An upload finished processing
  • media.failed An upload couldn't be processed

What each platform accepts

These are the rules the composer, the checks and the publisher all read from. Where an account tier changes a limit, such as X Premium, the channel settings can raise it.

Platform Text Image Video Connect Access
YouTube No No Yes Platform sign-in Access tokens last 1 hour and renew automatically.
Instagram No Yes Yes Platform sign-in Tokens last 60 days and renew automatically while the channel is in use.
TikTok No Yes Yes Platform sign-in Access tokens last 24 hours; refresh tokens last a year.
X Yes Yes Yes Platform sign-in Access tokens last 2 hours and renew automatically.
Facebook Yes Yes Yes Platform sign-in Page tokens don't expire unless the person who connected loses access.
Custom API Yes Yes Yes Endpoint and key API keys don't expire unless you rotate them.

YouTube

Upload videos and Shorts with titles, descriptions, tags and custom thumbnails.

Video
Post Title Text Hashtags Media
Video TitleRequired, up to 100 characters DescriptionUp to 5,000 characters Sent as tags, up to 60 MP4, MOV, WebM, AVI, MKV; up to 256 GB; 1 s to 12 hRecommended: 16:9 for videos, 9:16 and up to 3 minutes for Shorts
  • Accounts that haven't verified a phone number can upload up to 15 minutes and can't set custom thumbnails.
  • Each upload costs API quota; the default Google quota allows about six uploads per day per app.

YouTube API documentation

Instagram

Publish feed photos and Reels to Business and Creator accounts.

Image and video
Post Title Text Hashtags Media
Image No title CaptionUp to 2,200 characters Added to the text, up to 30 JPEG; up to 8 MBRecommended: 1080×1350 (4:5) for the most screen space in the feed
Video No title CaptionUp to 2,200 characters Added to the text, up to 30 MP4, MOV; up to 300 MB; 3 s to 15 minRecommended: 1080×1920 (9:16) Reels
  • Requires an Instagram Business or Creator account.
  • Instagram allows 50 API-published posts per account in a rolling 24 hours.
  • Text-only posts aren't possible on Instagram.

Instagram API documentation

TikTok

Post videos and photo carousels straight to the profile.

Image and video
Post Title Text Hashtags Media
Image TitleUp to 90 characters DescriptionUp to 4,000 characters Added to the text JPEG, WebP; up to 20 MBRecommended: 1080×1920 portrait
Video No title CaptionUp to 2,200 characters Added to the text MP4, MOV, WebM; up to 4 GB; 3 s to 10 minRecommended: 1080×1920 (9:16), 23–60 fps
  • Posts from apps that haven't completed TikTok's audit are visible only to the creator.
  • TikTok picks the cover from a video frame; custom cover images aren't supported.
  • Text-only posts aren't possible on TikTok.

TikTok API documentation

X

Post text, images and video to X (formerly Twitter).

Text, image and video
Post Title Text Hashtags Media
Text No title PostRequired, up to 280 (links count as 23, emoji as 2) Added to the text None
Image No title PostUp to 280 (links count as 23, emoji as 2) Added to the text JPEG, PNG, WebP, GIF; up to 5 MBRecommended: 1600×900 (16:9) or 1080×1350
Video No title PostUp to 280 (links count as 23, emoji as 2) Added to the text MP4, MOV; up to 512 MB; 0.5 s to 2:20 minRecommended: 1280×720 or 720×1280, up to 2:20
  • Posting through the X API requires a paid API plan for your developer app.
  • Hashtags count toward the character limit.

X API documentation

Facebook

Publish text, photos and videos to Facebook Pages.

Text, image and video
Post Title Text Hashtags Media
Text No title PostRequired, up to 63,206 characters Added to the text None
Image No title CaptionUp to 63,206 characters Added to the text JPEG, PNG, GIF, WebP; up to 10 MBRecommended: 1080×1350 or 1200×630
Video TitleUp to 255 characters DescriptionUp to 63,206 characters Added to the text MP4, MOV; up to 1 GB; 1 s to 20 minRecommended: 1080×1080 or 1080×1350, H.264 + AAC
  • Publishes to Pages only; personal profiles can't be posted to through the API.

Facebook API documentation

Custom API

Send posts to your own HTTP endpoint, signed and retried.

Text, image and video
Post Title Text Hashtags Media
Text TitleNo length limit DescriptionNo length limit Sent as tags None
Image TitleNo length limit DescriptionNo length limit Sent as tags JPEG, PNG, WebP, GIFRecommended: Any size
Video TitleNo length limit DescriptionNo length limit Sent as tags MP4, MOV, WebMRecommended: Any size
  • Each request is signed with an HMAC-SHA256 header so you can verify it came from Amaposta.
  • Respond with 2xx and optional JSON {"id": "…", "url": "…"}. 408, 429 and 5xx responses are retried with backoff; 401/403 mark the channel for reconnecting; other 4xx fail the delivery so you can fix it and retry.

How Custom API channels work

Try it on a sandbox channel first.