---
title: "Upload video"
method: POST
path: "/upload"
tags: ["Content Upload"]
---

# Upload video

`POST /upload`

Upload a video to one or more social media platforms. Supports TikTok, Instagram, LinkedIn, YouTube, Facebook, X (Twitter), Threads, Pinterest, Bluesky, Reddit, Discord, and Telegram. Supports immediate, async, scheduled, and queued uploads.

## Response `200`

Upload completed synchronously or async processing started.

- union
  - SyncUploadResponse — Synchronous upload response (completed within timeout).
    - `success` boolean
    - `results` object — Per-platform results keyed by platform name.
    - `usage` UsageInfo
      - `count` integer — Current usage count.
      - `limit` integer — Monthly limit.
      - `last_reset` string, date-time — Last reset timestamp.
  - AsyncUploadResponse — Asynchronous upload response (processing in background).
    - `success` boolean
    - `message` string
    - `request_id` string — Use this to poll status via GET /uploadposts/status.
    - `total_platforms` integer — Number of platforms being uploaded to.

## Other responses

- `202` — Post scheduled or queued successfully.
- `400` — Bad Request — Missing or invalid parameters.
- `401` — Unauthorized — Invalid or expired token.
- `403` — Forbidden — Plan restrictions or insufficient permissions.
- `404` — Not Found — Resource does not exist.
- `429` — Too Many Requests — Monthly limit exceeded.
- `500` — Internal Server Error.

---

[API](https://skmtc.dev/upload-post/apis/upload-post-api.md) · [All operations](https://skmtc.dev/upload-post/apis/upload-post-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/upload-post/upload-post-api/revisions/10bd964e4415/schema)
