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
| Name | Value | Description |
|---|---|---|
| Authorization | Apikey your-api-key-here | Your API key |
| Content-Type | multipart/form-data |
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| video | File | Yes | The short-form video to analyze. Max 100 MB and 5 minutes. |
| platforms | String | No | Comma-separated list of youtube, instagram, tiktok, facebook. Default: youtube,instagram,tiktok. |
| language | String | No | Language 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
| Status | When |
|---|---|
| 400 | Missing video, no valid platform, file over 100 MB or longer than 5 minutes |
| 401 | Invalid or missing API key |
| 429 | Monthly AI Shorts quota exhausted (remaining_analyses: 0) — resets at the start of your next billing period |
| 500 | The 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
| Name | Value |
|---|---|
| Authorization | Apikey your-api-key-here |
| Content-Type | application/json |
Body
| Name | Type | Required | Description |
|---|---|---|---|
| content | Object | Yes | Current text per platform, in the same shape the analyze endpoint returns: {"youtube": {"title", "description"}, "instagram": {"caption"}, "tiktok": {"caption"}, "facebook": {"caption"}} |
| language | String | Yes | Target language (e.g. Spanish, Japanese). |
| platforms | Array | No | Subset 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
| Plan | Analyses / month |
|---|---|
| Free | 10 |
| Professional | 300 |
| Advanced | 600 |
| Business | 1,000 |
Related
- AI Shorts Uploader guide — limits, best practices, FAQ
- Upload Video — publish the video with the generated text