---
title: "Create Clips"
method: POST
path: "/automation/create-clips"
---

# Create Clips

`POST /automation/create-clips`

Create AI-powered short clips from long-form videos

## Request body

- CreateClipsRequest
  - `sourceUrl` string — YouTube URL to process (alternative to uploadId)
  - `uploadId` string — Upload ID from a previously uploaded file (alternative to sourceUrl)
  - `reframeClips` boolean — Whether to automatically reframe clips for different aspect ratios
  - `exportOrientation` 'landscape' | 'portrait' | 'square' — Output orientation for the clips
  - `exportResolution` 720 | 1080 | 1440 | 2160 — Output resolution for the clips
  - `captionsPreset` string, nullable — Caption style preset ID (null to disable captions)
  - `enableEmojis` boolean — Whether to add emojis to captions
  - `enableHighlights` boolean — Whether to highlight keywords in captions
  - `language` string, nullable — Primary language of the video content (auto-detected if not provided)
  - `translationLanguage` string, nullable — Language to translate captions to
  - `transcriptionScript` 'native' | 'roman' — Script format for transcription output
  - `genre` 'talking' | 'screenshare' | 'gaming' — Video genre for better AI analysis
  - `selectedStart` number, nullable — Start time in seconds for processing
  - `selectedEnd` number, nullable — End time in seconds for processing
  - `clipDurations` array[] — Preferred clip duration ranges as [min, max] pairs in seconds. Valid ranges: [0,30], [30,60], [60,90], [90,180], [180,300]. When omitted, the AI determines optimal durations.
    - integer[]
  - `topics` string[] — Topic preferences to guide the AI when selecting clip segments. For example: ["product launch", "customer testimonials"]. When omitted, the AI selects the most engaging topics automatically.
  - `prompt` string — Preview feature — schema is stable, AI interpretation may evolve. Free-form natural-language instruction (max 1000 chars) that guides what kinds of clips the AI selects — for example 'highlight reel of the funniest moments' or 'only product-demo segments under 30 seconds'. Can control clip count, duration, content scope, exclusions, editorial mode, and tone. Overrides generic virality scoring when the prompt and a candidate moment conflict. When omitted, the AI uses standard virality-driven selection.

## Response `200`

Successful response

- AutomationProject
  - `id` string
  - `title` string
  - `thumbnail` string
  - `billedDuration` number
  - `status` 'queued' | 'prepped' | 'draft' | 'processing' | 'finalizing' | 'completed' | 'invalid' | 'expired' | 'failed' | 'error'
  - `projectType` 'clipping' | 'captions' | 'reframe' | 'dubbing' | 'transcription'
  - `source` 'Upload' | 'Youtube' | 'Vimeo' | 'TwitchVod' | 'Twitter' | 'RumbleEmbed' | 'Generic'
  - `genre` 'talking' | 'screenshare' | 'gaming'
  - `topics` string[]
  - `clipDurations` array[]
    - integer[]
  - `selectedStart` number, nullable
  - `selectedEnd` number, nullable
  - `reframeClips` boolean
  - `exportResolution` integer
  - `exportOrientation` 'landscape' | 'portrait' | 'square'
  - `captionsPreset` string, nullable
  - `enableCaptions` boolean
  - `enableEmojis` boolean
  - `enableHighlights` boolean
  - `language` string, nullable
  - `dubbingLanguage` string, nullable
  - `translateTranscription` boolean
  - `translationLanguages` string[]
  - `transcriptionScript` 'native' | 'roman'
  - `metadata` VideoFileMeta
    - `width` integer
    - `height` integer
    - `aspectRatio` string
    - `size` number
    - `bitrate` number
    - `fps` number
    - `duration` number
    - `rotation` integer
    - `resolution` integer
    - `codec` string
    - `codecFullName` string
    - `codecTag` string
    - `format` string
    - `formatFullName` string
  - `urls` object
  - `createdAt` integer
  - `updatedAt` integer

---

[API](https://skmtc.net/reap/apis/reap-automation-api.md) · [All operations](https://skmtc.net/reap/apis/reap-automation-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/reap/reap-automation-api/versions/a3b7cd3690da/schema)
