Getting Started

Welcome to the Clipping Software API! This powerful tool lets you create viral video clips from longer videos with ease. Submit a request to generate clips and track their progress—all through a simple, intuitive API.

ℹ️
Before You Begin: You’ll need an API key to get started. Don’t have one yet? Grab yours here.

Base URL

Endpoint
https://api.clipping.software

Authentication

Secure your API requests by including your API key in the Authorization header of every call.

⚠️
Security Tip: Keep your API key safe—never expose it in client-side code. Always handle requests server-side.

How to Use Your API Key

Authorization Header
Authorization: Bearer YOUR_API_KEY

Generate Clip

Use this endpoint to kick off a clip generation task, turning your long-form videos into short, shareable clips.

Generate Clip

POST /generate

Submits a new clip generation request.

Request Parameters

Parameter Type Required Description
api_key string Yes Your API key (via Authorization header)
finalVideo_type string Yes Output format: "Wide", "Vertical", or "Fit"
numberOfClips integer No Number of clips to generate(Default: 1 clip per 5 minute limited to 10 max clips) You can manually set this to any value.
captions boolean No Enable captions (default: false)
captionStyle object No Customize caption appearance (see Styling Captions)
ai_clipping boolean No Enable AI-powered clipping for Vertical videos (default: false)
videoUrl string Yes* URL of the source video (use this or yt_link)
yt_link string Yes* YouTube link of the source video (use this or videoUrl)

*Either videoUrl or yt_link is required.

💡
Pro Tip: Want to make your clips pop? Explore advanced caption styling in the Styling Captions section.

Response Example

JSON Response
{
  "taskID": "abc123",
  "status": "PROCESSING",
  "message": "Task is processing"
}

Code Examples

cURL
curl -X POST "https://api.clipping.software/generate" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer YOUR_API_KEY" \
     -d '{
           "finalVideo_type": "Wide",
           "numberOfClips": 3,
           "captions": true,
           "videoUrl": "https://cdn.clipping.software/video.mp4"
         }'
Python
import requests

url = "https://api.clipping.software/generate"
headers = {"Authorization": "Bearer YOUR_API_KEY", "Content-Type": "application/json"}
data = {
    "finalVideo_type": "Wide",
    "numberOfClips": 3,
    "captions": True,
    "videoUrl": "https://cdn.clipping.software/video.mp4"
}
response = requests.post(url, json=data, headers=headers)
print(response.json())
JavaScript
fetch("https://api.clipping.software/generate", {
    method: "POST",
    headers: {
        "Content-Type": "application/json",
        "Authorization": "Bearer YOUR_API_KEY"
    },
    body: JSON.stringify({
        finalVideo_type: "Wide",
        numberOfClips: 3,
        captions: true,
        videoUrl: "https://cdn.clipping.software/video.mp4"
    })
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error("Error:", error));

Check Task Status

Monitor the progress of your clip generation tasks with this endpoint.

Check Status

GET /status

Retrieves the current status of a task.

Request Parameters

Parameter Type Required Description
api_key string Yes Your API key (via Authorization header)
taskID string Yes Task ID returned from the /generate endpoint

Response Examples

Processing Response
{
  "taskID": "abc123",
  "status": "PROCESSING",
  "message": "Task is processing"
}
Completed Response
{
  "taskID": "abc123",
  "status": "COMPLETED",
  "videoUrls": [
    "https://cdn.clipping.software/clip1.mp4",
    "https://cdn.clipping.software/clip2.mp4"
  ],
  "videoLength":43244.32,
  "finalVideoType":"Wide",
  "numberOfClips":"2"
  "description": "Task completed successfully"
}

Code Examples

cURL
curl -X GET "https://api.clipping.software/status?taskID=abc123" \
     -H "Authorization: Bearer YOUR_API_KEY"
Python
import requests

url = "https://api.clipping.software/status"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
params = {"taskID": "abc123"}
response = requests.get(url, headers=headers, params=params)
print(response.json())
JavaScript
fetch("https://api.clipping.software/status?taskID=abc123", {
    headers: {"Authorization": "Bearer YOUR_API_KEY"}
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error("Error:", error));

Styling Captions

Personalize your video clips with custom captions. Adjust their size, position, and border to match your style.

Overview

The captionStyle parameter lets you tweak caption appearance. If omitted, defaults apply.

Default Values

  • font_size: 26 (suggested: 18-23)
  • vertical_position: 130 (centered)
  • border_thickness: 1 (subtle border)

Properties

Parameter Type Range Default Description
font_size int 5 to 30 26 Sets text size (5 = smallest, 30 = largest)
vertical_position int 0 to 260 130 Positions captions (0 = bottom, 260 = top)
border_thickness int 0 to 6 1 Sets border width (0 = none, 6 = thickest)

Example Request Body

JSON
{
  "captionStyle": {
    "font_size": 22,
    "vertical_position": 100,
    "border_thickness": 2
  }
}

Response Examples

Success
{
  "message": "Video generated successfully with custom captions"
}
Error (Invalid font_size)
{
  "detail": "Invalid font_size. Expected an integer between 5 and 30."
}

Full Example Request

Endpoint: https://api.clipping.software/generate

cURL
curl -X POST "https://api.clipping.software/generate" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer YOUR_API_KEY" \
     -d '{
           "finalVideo_type": "Wide",
           "numberOfClips": 3,
           "captions": true,
           "videoUrl": "https://cdn.clipping.software/video.mp4",
           "captionStyle": {
             "font_size": 26,
             "vertical_position": 30,
             "border_thickness": 2
           }
         }'
Python
import requests

url = "https://api.clipping.software/generate"
headers = {"Authorization": "Bearer YOUR_API_KEY", "Content-Type": "application/json"}
data = {
    "finalVideo_type": "Wide",
    "numberOfClips": 3,
    "captions": True,
    "videoUrl": "https://cdn.clipping.software/video.mp4",
    "captionStyle": {
        "font_size": 26,
        "vertical_position": 30,
        "border_thickness": 2
    }
}
response = requests.post(url, json=data, headers=headers)
print(response.json())
JavaScript
fetch("https://api.clipping.software/generate", {
    method: "POST",
    headers: {
        "Content-Type": "application/json",
        "Authorization": "Bearer YOUR_API_KEY"
    },
    body: JSON.stringify({
        finalVideo_type: "Wide",
        numberOfClips: 3,
        captions: true,
        videoUrl: "https://cdn.clipping.software/video.mp4",
        captionStyle: {
            font_size: 26,
            vertical_position: 30,
            border_thickness: 2
        }
    })
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error("Error:", error));

Best Practices

  • Opt for a font_size of 18-23 for optimal readability.
  • Center captions with a vertical_position near 130.
  • Use a border_thickness of 1 or 2 for subtle contrast.

Wrap-Up

With caption styling, you can make your clips stand out. Experiment with these options to find the perfect look—just ensure your values stay within the specified ranges!

Billing and Cost

We’ve designed our pricing to be transparent and flexible, so you only pay for what you use. Costs are calculated based on two key factors: the length of your source video and the number of clips you request. Plus, we’ve added a small surcharge for captions if you choose to enable them.

How Costs Are Calculated

The base cost for generating clips is determined by this formula:

Cost Formula
Cost = 0.00443 * (videoLength / 60) + 0.124 * (numberOfClips)
  • videoLength: Duration of the source video in seconds
  • numberOfClips: Number of clips requested

Captions Add-On: If you enable captions, an additional $0.005 per clip is added to the total cost.

Example Scenarios

Let’s break it down with a couple of examples:

  • Scenario 1: A 300-second video, 3 clips, no captions
    • Cost = 0.00443 * (300 / 60) + 0.124 * 3
    • = 0.00443 * 5 + 0.124 * 3 = 0.02215 + 0.372 = $0.39415
  • Scenario 2: A 600-second video, 5 clips, with captions
    • Base Cost = 0.00443 * (600 / 60) + 0.124 * 5
    • = 0.00443 * 10 + 0.124 * 5 = 0.0443 + 0.62 = $0.6643
    • Captions Cost = 0.005 * 5 = $0.025
    • Total = 0.6643 + 0.025 = $0.6893

Billing Process

Here’s how it works:

  • Upfront Deduction: The estimated cost is deducted from your account when you start a task.
  • Fair Refunds: If an error occurs or fewer clips are generated than requested, we’ll refund the difference automatically. You’re only charged for what’s successfully delivered.
💡
Tip: Keep an eye on your video length and clip count to optimize costs. Need help? Reach out to [email protected].

Why This Model?

Our pricing reflects the resources needed to process your videos while keeping things affordable. Whether you’re clipping a short promo or a lengthy stream, you’ll always know what to expect.

Error Handling

We use standard HTTP status codes to signal the outcome of your requests. Here’s what to watch for:

HTTP Status Code Meaning
400 Bad Request Invalid parameters or malformed request
403 Forbidden Missing or invalid API key
404 Not Found Task ID not found

Check the response body for detailed error messages to troubleshoot issues quickly.

Notes

A few key details to keep in mind when using the Clipping Software API:

Key Highlights

  • Captions: Add captions to your clips with the captions parameter—new and improved!
  • API Key: Always include your key in the Authorization header.
  • Clip Retention: Generated clips are available for 24 hours before automatic deletion.
  • Status Checks: Use a valid taskID to track progress.
Need Assistance? We’re here to help—contact [email protected] anytime.