---
title: "Upload Video"
method: POST
path: "/api/admin/social/videos"
tags: ["social"]
---

# Upload Video

`POST /api/admin/social/videos`

## Request

- Base URL: `https://api.getcheapgames.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.getcheapgames.com/api/admin/social/videos`
- Auth: none declared

A clip to post, as raw MP4 bytes, already made web-ready by the admin.

The admin encodes (H.264 High in yuv420p, AAC, the index at the front) and
measures it with ffprobe, then sends the file and what it measured: this
box has no memory to spare for encoding, and no ffmpeg to measure with.
What is checked here is what a broken hand-off would get wrong. The same
file twice is the same row: stored under the hash of its bytes.

## Query parameters

- `name` string, required
- `seconds` number, required
- `width` integer, required
- `height` integer, required

## Headers

- `authorization` string

## Response `201`

Successful Response

- GcgRoutersSocialVideoOut: An uploaded clip: where the networks fetch it, and what the admin measured.
  - `id` integer, required
  - `url` string, required
  - `name` string, required
  - `seconds` number, required
  - `width` integer, required
  - `height` integer, required
  - `bytes` integer, required
  - `created_at` string, date-time, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/getcheapgames/apis/getcheapgames-api.md) · [All operations](https://skmtc.dev/getcheapgames/apis/getcheapgames-api/llms.txt) · [OpenAPI document](https://skmtc.dev/getcheapgames/apis/getcheapgames-api/revisions/57333a690301?raw)
