Skip to main content

AI Shorts API

The same AI that powers the dashboard's Generate with AI button is available through the API. Send a short-form video and receive platform-specific titles, descriptions, captions and hashtags, ready to pass to the Upload Video endpoint. A second endpoint rewrites captions you already have into another language.

Both endpoints share the monthly AI Shorts quota of your plan (see AI Shorts Uploader); every successful call consumes one analysis.

POST /api/uploadposts/analyze-shorts

Headers

NameValueDescription
AuthorizationApikey your-api-key-hereYour API key
Content-Typemultipart/form-data

Parameters

NameTypeRequiredDescription
videoFileYesThe short-form video to analyze. Max 100 MB and 5 minutes.
platformsStringNoComma-separated list of youtube, instagram, tiktok, facebook. Default: youtube,instagram,tiktok.
languageStringNoLanguage for the generated text (e.g. English, Spanish, Japanese). When omitted, the AI detects the language spoken in the video and writes in that language.

Example Request

curl -X POST https://api.upload-post.com/api/uploadposts/analyze-shorts \
-H "Authorization: Apikey your-api-key-here" \
-F "video=@/path/to/short.mp4" \
-F "platforms=youtube,instagram,tiktok" \
-F "language=English"

Success Response

{
"success": true,
"ai_generated": true,
"remaining_analyses": 287,
"youtube": {
"title": "How I edit Shorts in 60 seconds",
"description": "Full workflow, no fluff. #shorts #editing"
},
"instagram": {
"caption": "60-second editing workflow ✂️ #reels #editing #creators"
},
"tiktok": {
"caption": "editing shorts in 60s ⏱️ #editing #fyp #creatortips"
}
}

Only the requested platforms are present. remaining_analyses is what is left of your monthly quota after this call.

Error Responses

StatusWhen
400Missing video, no valid platform, file over 100 MB or longer than 5 minutes
401Invalid or missing API key
429Monthly AI Shorts quota exhausted (remaining_analyses: 0) — resets at the start of your next billing period
500The AI could not analyze the video; retry later (a failed analysis is not counted)

POST /api/uploadposts/rewrite-captions

Rewrites captions you already have (for example the output of analyze-shorts) into a target language, keeping each platform's style and hashtags. Consumes one analysis.

Headers

NameValue
AuthorizationApikey your-api-key-here
Content-Typeapplication/json

Body

NameTypeRequiredDescription
contentObjectYesCurrent text per platform, in the same shape the analyze endpoint returns: {"youtube": {"title", "description"}, "instagram": {"caption"}, "tiktok": {"caption"}, "facebook": {"caption"}}
languageStringYesTarget language (e.g. Spanish, Japanese).
platformsArrayNoSubset of the platforms in content to rewrite. Default: all of them.

Example Request

curl -X POST https://api.upload-post.com/api/uploadposts/rewrite-captions \
-H "Authorization: Apikey your-api-key-here" \
-H "Content-Type: application/json" \
-d '{
"language": "Spanish",
"content": {
"youtube": {"title": "How I edit Shorts in 60 seconds", "description": "Full workflow. #shorts"},
"tiktok": {"caption": "editing shorts in 60s #editing #fyp"}
}
}'

The response has the same shape as analyze-shorts (success, remaining_analyses and one object per platform).

Quotas

PlanAnalyses / month
Free10
Professional300
Advanced600
Business1,000