Video Automation

Guides · 2026-11-07

An Upload-Post alternative you can switch to without rewriting code

If your scripts and workflows already talk to the Upload-Post API, you do not have to rebuild them to move. This article explains what a compatible API means in practice, what to check before switching, and where the differences are.

Many teams start publishing videos through an API because uploading the same clip by hand to YouTube, TikTok, Instagram and LinkedIn takes too long. Upload-Post is one of the services that made this popular: one request, several platforms. After a while, other questions come up: where are the videos stored, which contract covers the data, and what happens if you want to change provider later.

Video Automation offers an API that follows the Upload-Post endpoints and field names. This article shows what that means and how a switch works.

What "compatible" means here

The Upload-Post API is built around a handful of endpoints. Video Automation serves the same paths and accepts the same fields:

Endpoint Purpose
POST /api/upload upload a video to one or more platforms, now or scheduled
POST /api/upload_photos photos and carousels where the platform supports them
POST /api/upload_text text posts
GET /api/uploadposts/status status of an upload by request_id or job_id
GET /api/uploadposts/schedule list, change or cancel scheduled posts
GET/POST/DELETE /api/uploadposts/users manage profiles
POST /api/uploadposts/users/generate-jwt create a connect link for an end customer
GET /api/uploadposts/me check that an API key works

Authentication uses the same header: Authorization: Apikey YOUR_KEY. Uploads are sent as multipart/form-data, arrays use the platform[] form, and the responses keep the same shape: results per platform for synchronous uploads, a request_id for background uploads and a job_id with HTTP 202 for scheduled posts.

In most cases a switch therefore means two changes: the base URL and the API key.

A request before and after

This is a typical scheduled upload against our API:

curl -X POST https://my-video-automation.com/api/upload \
  -H "Authorization: Apikey YOUR_KEY" \
  -F user=acme \
  -F "platform[]=youtube" \
  -F "platform[]=tiktok" \
  -F "platform[]=instagram" \
  -F title="Behind the scenes: new workshop" \
  -F video=@clip.mp4 \
  -F scheduled_date=2026-11-12T09:00:00 \
  -F timezone=Europe/Berlin

Compared with a request to Upload-Post, only the host and the key differ. The user field still refers to a profile, the per-platform fields such as tiktok_title, privacy_level or youtube_description keep their names, and scheduled_date together with timezone is read the same way: without an offset the time is local to the given zone.

Steps for switching

  1. Create an account and an API key. The 14-day trial needs no card and includes 2 profiles and 50 uploads, which is enough to test a real workflow.
  2. Create the profiles you use. Use the same usernames as before (POST /api/uploadposts/users), so your code does not need new identifiers.
  3. Connect the social accounts again. Access tokens of the platforms belong to the app that requested them, so they cannot be carried over from another provider. Each account owner signs in once via the platform's official login. For customer accounts you can send a connect link.
  4. Change base URL and key in your scripts, n8n credentials or Make modules.
  5. Set up webhooks if you used them. Deliveries are signed with HMAC-SHA256; the signature is sent as X-Upload-Post-Signature and X-VA-Signature. A failed delivery is retried up to 6 times.
  6. Run a test post per platform, ideally scheduled a few minutes ahead, and check the status endpoint.

Differences you should know

Compatibility covers publishing, scheduling, profiles, connect links and webhooks. Some parts of the Upload-Post API are not part of our product, for example comment and DM management, analytics, FFmpeg jobs and AI caption tools. If your workflow depends on those endpoints, check the API documentation first.

Other points:

Hosting and data protection

Video Automation runs on our own servers in a STRATO data centre in Berlin with a PostgreSQL database. Access tokens of the connected platforms are stored encrypted with AES-256-GCM. Uploaded videos are kept only for the retention period of your plan (3, 7, 14, 30 or 90 days) and then deleted automatically. A data processing agreement under Art. 28 GDPR is included; you find it on the DPA page. The article GDPR and social media APIs explains why this matters when you publish for clients.

Platform reviews: an honest note

All publishing goes through the official APIs of the platforms. Several of them review an app before it may post publicly for any user. TikTok, for example, only allows private posts for apps that have not passed its audit, and Meta requires an app review for Instagram, Facebook and Threads. The current status per platform is listed in the FAQ. This applies to every provider that uses the official APIs, and it is worth asking any alternative how they handle it.

Is a switch worth it?

A compatible API lowers the cost of trying. You can run both services side by side for a few days, send some test posts and compare. If it does not fit, you change the base URL back. If you want to see the limits per plan first, start with the pricing; for the platform-specific details, the guides on YouTube Shorts and the TikTok Content Posting API go deeper.