Vshorts.ai Developer API

Automate Short-Form Video Creation with the Vshorts.ai API

Programmatically submit long-form videos, generate viral short clips, retrieve AI captioning, and seamlessly integrate automated video processing directly into your SaaS or enterprise product.

Production API access is currently granted after review by the Vshorts.ai team.

Build Automated Video Workflows

Integrate robust AI video processing directly into your core product, creator dashboard, or internal publishing pipeline.

Flexible Video Sources

Submit long-form YouTube URLs or direct video file upload references programmatically.

Smart AI Clipping

Extract high-engagement short-form video clips configured to specific target durations.

Aspect Ratio Control

Generate vertical 9:16 clips for TikTok, Shorts, and Reels, or custom square/landscape dimensions.

Dynamic Captions & Styles

Apply automated subtitle generation paired with modern visual templates and custom styling.

Real-Time Webhooks & Status

Poll job status or receive instant webhook notifications as processing completes.

Automated Publishing

Pass finished clip metadata directly to your social media scheduler or internal database.

Note: Feature availability, concurrency limits, and output configurations depend on your approved API plan and tier permissions.

How the API Works

Four simple steps to integrate Vshorts.ai into your application workflow.

01

Request Access

Contact team@vshorts.ai with your business use case, expected monthly volume, and technical requirements.

02

Receive Credentials

Upon review, obtain secure API keys, complete documentation, base endpoints, and rate-limit details.

03

Submit a Video Job

Send a POST request containing your target source video and custom clipping parameters.

04

Retrieve Results

Check status via GET requests to obtain ready-to-use MP4 URLs, thumbnails, and timing data.

Authentication & Endpoints

Secure backend communications protocol for developers.

API Base URL

All API requests should be directed to the standard HTTPS base endpoint:

https://api.vshorts.ai/v1

* This endpoint is shown for demonstration purposes. Approved customers will receive their dedicated production endpoint details.

Authentication Protocol

The Vshorts.ai API uses Bearer Token authentication. Include your secret API key in the request headers:

Authorization: Bearer YOUR_VSHORTS_API_KEY
Content-Type: application/json
Security Warning: Never expose your API credentials in frontend JavaScript, public code repositories, or client-side bundles. Always route API requests safely through your backend server.

Sample API: Process Video

Submit long-form videos for automated short-clip generation.

POST /videos/process
const response = await fetch(
  "https://api.vshorts.ai/v1/videos/process",
  {
    method: "POST",
    headers: {
      "Authorization": "Bearer YOUR_VSHORTS_API_KEY",
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      source_type: "youtube",
      source_url: "https://www.youtube.com/watch?v=EXAMPLE_VIDEO_ID",
      clip_duration: 45,
      clip_count: 3,
      aspect_ratio: "9:16",
      language: "auto",
      template: "modern_caption",
      generate_captions: true
    })
  }
);

if (!response.ok) {
  throw new Error(`Request failed: ${response.status}`);
}

const data = await response.json();
console.log(data);
import requests

url = "https://api.vshorts.ai/v1/videos/process"

headers = {
    "Authorization": "Bearer YOUR_VSHORTS_API_KEY",
    "Content-Type": "application/json"
}

payload = {
    "source_type": "youtube",
    "source_url": "https://www.youtube.com/watch?v=EXAMPLE_VIDEO_ID",
    "clip_duration": 45,
    "clip_count": 3,
    "aspect_ratio": "9:16",
    "language": "auto",
    "template": "modern_caption",
    "generate_captions": True
}

response = requests.post(
    url,
    headers=headers,
    json=payload,
    timeout=60
)

response.raise_for_status()
print(response.json())
curl --request POST \
  --url https://api.vshorts.ai/v1/videos/process \
  --header "Authorization: Bearer YOUR_VSHORTS_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "source_type": "youtube",
    "source_url": "https://www.youtube.com/watch?v=EXAMPLE_VIDEO_ID",
    "clip_duration": 45,
    "clip_count": 3,
    "aspect_ratio": "9:16",
    "language": "auto",
    "template": "modern_caption",
    "generate_captions": true
  }'
{
  "source_type": "youtube",
  "source_url": "https://www.youtube.com/watch?v=EXAMPLE_VIDEO_ID",
  "clip_duration": 45,
  "clip_count": 3,
  "aspect_ratio": "9:16",
  "language": "auto",
  "template": "modern_caption",
  "generate_captions": true
}

Sample Initial Response

{
  "success": true,
  "job_id": "job_vs_8f31c942",
  "status": "queued",
  "message": "Video processing job created successfully.",
  "created_at": "2026-08-05T12:00:00Z"
}
Field Type Description
success boolean Indicates if the job request was accepted successfully.
job_id string Unique identifier used to query processing progress and retrieve clips.
status string Current job state (queued, processing, completed, failed).
message string Human-readable status or confirmation message.
created_at string (ISO 8601) Timestamp indicating when the processing job was initiated.

Sample API: Check Job Status

Retrieve live progress updates or final video download links.

GET /jobs/{job_id}
Fetch current status
const jobId = "job_vs_8f31c942";

const response = await fetch(
  `https://api.vshorts.ai/v1/jobs/${jobId}`,
  {
    method: "GET",
    headers: {
      "Authorization": "Bearer YOUR_VSHORTS_API_KEY"
    }
  }
);

if (!response.ok) {
  throw new Error(`Unable to fetch job status: ${response.status}`);
}

const job = await response.json();
console.log(job);

In-Progress Response Example

{
  "success": true,
  "job_id": "job_vs_8f31c942",
  "status": "processing",
  "progress": 62,
  "current_step": "Generating captions",
  "updated_at": "2026-08-05T12:04:22Z"
}

Completed Response Example

{
  "success": true,
  "job_id": "job_vs_8f31c942",
  "status": "completed",
  "progress": 100,
  "clips": [
    {
      "clip_id": "clip_01",
      "duration": 43.8,
      "aspect_ratio": "9:16",
      "download_url": "https://example.vshorts.ai/generated/clip_01.mp4",
      "thumbnail_url": "https://example.vshorts.ai/generated/clip_01.jpg"
    }
  ],
  "completed_at": "2026-08-05T12:08:10Z"
}

Error Handling & Status Codes

Standardized HTTP response codes and error reporting structure.

400Invalid request parameters
401Missing or invalid API credentials
403API access not permitted
404Job or resource not found
409Duplicate job request
422Unsupported video format
429Rate limit exceeded
500Internal processing error
503Service temporarily unavailable

Sample Error Payload

{
  "success": false,
  "error": {
    "code": "INVALID_VIDEO_URL",
    "message": "The supplied video URL is invalid or unsupported."
  },
  "request_id": "req_vs_52c91f"
}

Developer Integration Recommendations

  • Validate incoming URL strings on your client before dispatching request payloads.
  • Store returned job_id records immediately in your database for asynchronous tracking.
  • Execute automated retries using exponential backoff strategies for 429 and temporary 5xx states.
  • Include the returned request_id value in any technical queries submitted to team@vshorts.ai.

Configuration Options

Full reference of supported parameters for custom job requests.

Parameter Type Example Description
source_type string "youtube" Type of source input (youtube or upload_ref).
source_url string "https://..." Valid video URL or accessible media reference.
clip_duration integer 45 Target clip length in seconds (e.g. 15, 30, 45, 60).
clip_count integer 3 Number of individual short clips to produce.
aspect_ratio string "9:16" Target dimensions (9:16, 16:9, 1:1).
language string "auto" Audio transcription language or automatic detection.
template string "modern_caption" Visual preset styling applied to subtitle renders.
generate_captions boolean true Toggle automatic animated caption overlays.

Enterprise & Platform Use Cases

Discover how teams leverage the Vshorts.ai API at scale.

Creator SaaS Platforms

Embed automated viral clipping capabilities directly into your creator tool suites and video editors.

Social Media Scheduling Tools

Allow users to generate ready-to-publish short video content automatically within their scheduling feeds.

Podcast & Media Publishers

Transform multi-hour video podcasts into dozens of engaging vertical clips immediately after broadcast.

Marketing Automation Systems

Generate short product demos and video highlights programmatically from webinars and long-form collateral.

Internal Content Pipelines

Streamline agency production by automating initial cutdowns, visual framing, and subtitles.

Repurposing Dashboards

Build custom internal web portals for quick turnarounds on enterprise video assets.

Requesting API Access

Please prepare the following application details when reaching out to our team.

  • Full Name & Business Contact
  • Company / Product Name
  • Official Website URL
  • Intended API Integration Use Case
  • Estimated Video Processing Volume
  • Expected Timeline to Production

Ready to Integrate Vshorts.ai into Your Product?

Contact our engineering team to review your use case, receive production credentials, and request custom volume pricing.

Email us

Our team will review your application and respond with custom integration specifications.

Legal & Compliance Disclaimer: All API endpoints, request bodies, sample responses, identifiers, URLs, rate limits, and feature parameters shown on this page are provided strictly for demonstration purposes and do not guarantee immediate availability of production functionality. Production API credentials, access tokens, and sandbox access are granted strictly following manual authorization by Vshorts.ai. API clients are required to comply with all applicable copyright laws, user privacy regulations, and third-party platform policies. Vshorts.ai reserves the right to enforce account rate limits, content moderation rules, and usage verification procedures prior to granting or continuing API access.

We’ll be back soon!

Sorry for the inconvenience but we’re performing some maintenance at the moment. If you need to you can always contact us, otherwise we’ll be back online shortly!

— The Team