Logo

Developer API

Updated 2 days ago
By CutCap AI Team

Automate your video creation workflow with our production-grade App API. Use our API to programmatically import videos, track render progress, and integrate CutCap AI into your own applications.

Authentication

All API requests must be authenticated using an API Key. You can manage your keys in Profile & Settings.

🔑 Using your API Key

Include your key in the Authorization header of every request:

Authorization: Bearer sk_live_your_api_key_here

Credit System

Our API is fully integrated with our unified credit system.

  • Deduction: Credits are deducted when a video is successfully processed or rendered.
  • Balance Check: Every API response includes a X-Remaining-Credits header.
  • Insufficient Credits: If your balance is zero, the API will return 402 Payment Required.

📁 API Reference

1. Create/Import Video

POST /api/app/videos

The core endpoint for triggering our AI pipeline. This will start downloading the video, transcribing it, and optionally applying styles or extracting highlights.

Full Schema

CategoryParameterTypeDescription
SourceurlStringRequired. Platform URL (YouTube, TikTok, Instagram, Zoom, Google Drive).
titleStringCustom name for your project.
VideoresolutionStringOutput quality. Options: 720p, 1080p, 2k, 4k.
aspectRatioStringFraming. Options: 9:16, 16:9, 1:1, 4:5.
videoFitStringHow video fits the frame: cover (fill) or contain (black bars).
AudiolanguageStringTranscription language. Use ISO 639-1 or auto.
removeSilenceBooleanAI: Automatically cut out long silent pauses.
WorkflowvideoTypeStringWorkflow mode: clip (generate AI shorts/clips) or full (full length). Defaults to clip.
SubtitlespresetIdStringID of the style to apply (from our Library).

Detailed Settings Guide

📺 Resolution & Quality

High-resolution rendering is available based on your subscription tier.

  • 720p: Fast rendering, optimized for web preview.
  • 1080p: Digital standard, recommended for TikTok and Reels.
  • 2k: Quad HD (QHD), perfect for high-end digital displays.
  • 4k: Maximum clarity for professional production (Requires Pro Plan).
📐 Aspect Ratio Mapping
  • 9:16: Vertical (1080x1920) - Best for Shorts/Reels/TikTok.
  • 16:9: Landscape (1920x1080) - Best for YouTube/Vimeo.
  • 1:1: Square (1080x1080) - Best for Instagram Feed/Twitter.

Code Implementation Examples

Minimal Request

{
  "url": "https://www.youtube.com/watch?v=kXp8Rk6T5hI",
  "language": "auto",
  "videoType": "clip"
}

Full Production Integration

curl -X POST https://app.cutcap.ai/api/app/videos \
  -H "Authorization: Bearer sk_live_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://www.youtube.com/watch?v=...",
    "title": "Marketing Launch V2",
    "resolution": "1080p",
    "aspectRatio": "9:16",
    "videoFit": "cover",
    "language": "en",
    "presetId": "minimal",
    "videoType": "clip"
  }'

Response Success (201 Created)

{
  "videoId": "{videoId}",
  "status": "DOWNLOADING",
  "message": "AI Processing Pipeline Started",
  "creditsRemaining": 485
}

2. List Your Videos

GET /api/app/videos?page=1&limit=10

Returns a paginated list of your videos and their current status.

Example Request:

curl -X GET https://app.cutcap.ai/api/app/videos?page=1&limit=10 \
  -H "Authorization: Bearer sk_live_your_key"

3. Get Video Details

GET /api/app/videos/{videoId}

Fetch full metadata, transcription data, and render history for a specific video.

Example Request:

curl -X GET https://app.cutcap.ai/api/app/videos/{videoId} \
  -H "Authorization: Bearer sk_live_your_key"

4. Poll Render Status

GET /api/app/videos/{videoId}/render-status

The recommended way to track processing progress.

Example Request:

curl -X GET https://app.cutcap.ai/api/app/videos/{videoId}/render-status \
  -H "Authorization: Bearer sk_live_your_key"
StatusMeaning
DOWNLOADINGWe are fetching the source video.
TRANSCRIBINGAI is generating your captions.
RENDERINGGenerating the final MP4 file.
COMPLETEDVideo is ready for download!
FAILEDCheck the error field for details.

🛠 Supported Values

1. Aspect Ratios (aspectRatio)

Use these keys to define the framing of your output video.

IDLabelDimensionBest For
tiktok_9_16TikTok1080x1920TikTok, Reels, Shorts
youtube_16_9YouTube1920x1080Standard Video, Vlogs
ig_post_1_1Instagram Post1080x1080Feed, Twitter (X)
portrait_4_5Portrait1080x1350IG Feed, LinkedIn
9:16Vertical1080x1920Default Vertical
16:9Widescreen1920x1080Default Horizontal
1:1Square1080x1080Default Square

2. Subtitle Presets (presetId)

Apply professional, high-converting branding instantly by passing one of these IDs. We have also added the Animation Effect for each preset so you know exactly how the text will animate.

Preset IDNameAnimation Effect
smoothWaveSmooth WaveWave
candyCandyPop
wordDropWord DropDrop
karaokeFillKaraoke FillFill
wordPopWord PopPop In
sentenceFadeSentence FadeSentence Fade Up
activeWaveActive WaveActive Wave
boldTickerBold TickerTicker
stickerFunSticker FunSticker Bounce
gradientPopGradient PopModern Pop
outlineStackOutline StackPop
cartoonOutlineBoldCartoon Outline BoldPop
comicPunchComic PunchBounce
romanticGlowCinematicRomantic Glow CinematicCinematic
loveHeartBounceLove Heart BounceHeart
glitchViralGlitch ViralGlitch
cyberGlitchCyber GlitchGlitch
boxingBoxingPop
neonGlowNeon GlowFade
wizardGlowWizard GlowFade
tiktokBounceTiktok BounceBounce
minimalMinimalSlide
montserratBlackMontserrat BlackPop
cyberpunkCyberpunkPop
goldenLuxuryGolden LuxuryFade
retroGamingRetro GamingNone
strawberryStrawberryBounce
natureFreshNature FreshFade
glowSplitHighlightGlow Split HighlightFade
softShadowTitle3DSoft Shadow Title 3DPop
boldStickerTitleBold Sticker TitleBounce
minimalSoftCapsuleMinimal Soft CapsuleFade
singleWordPunchSingle Word PunchPop
aquaGlowBarAqua Glow BarSlide
comicImpactBoldComic Impact BoldBounce
pinkNeonGlowPink Neon GlowFade
typewriterTypewriterTypewriter

3. Transcription Languages (language)

We support over 50+ languages. Use the ISO codes below for the language parameter. For most cases, we recommend using "auto".

LanguageCodeLanguageCode
Auto DetectautoHindihi
AfrikaansafHungarianhu
ArabicarIcelandicis
ArmenianhyIndonesianid
AzerbaijaniazItalianit
BelarusianbeJapaneseja
BosnianbsKannadakn
BulgarianbgKazakhkk
CatalancaKoreanko
ChinesezhLatvianlv
CroatianhrLithuanianlt
CzechcsMacedonianmk
DanishdaMalayms
DutchnlMarathimr
EnglishenMaorimi
EstonianetNepaline
FinnishfiNorwegianno
FrenchfrPersianfa
GalicianglPolishpl
GermandePortuguesept
GreekelRomanianro
HebrewheRussianru
SerbiansrSlovaksk
SlovenianslSpanishes
SwahiliswSwedishsv
TagalogtlTamilta
ThaithTurkishtr
UkrainianukUrduur
VietnameseviWelshcy

Best Practices

  • Polling: We recommend polling the render status every 3-5 seconds.
  • Security: Never share your sk_live_ key. If compromised, rotate it immediately in your settings.
  • Rate Limiting: Our standard limit is 60 requests per minute.

Need help with integration? Contact our developer support team.

Back to Knowledge Base