---
title: "Create Overlay Clip"
method: POST
path: "/api/projects/{project_id}/overlay-clips"
---

# Create Overlay Clip

`POST /api/projects/{project_id}/overlay-clips`

Create an overlay clip backed by an existing source Video.

Content (video_url, name, prompt, etc.) lives on the referenced Video —
the clip only stores position/timing/styling + a pointer via
elements["sourceVideoId"].

## Path parameters

- `project_id` string, required

## Request body

- CreateOverlayClipRequest — Request schema for creating an overlay clip. The source video must already exist — pass its id via source_video_id. Optional here because the from-video endpoint provides it via URL path; the direct create endpoint enforces presence explicitly.
  - `sourceVideoId` string, nullable — Source Video ID (provides video_url/name/prompt/etc.)
  - `videoId` string, nullable — Parent video ID (overlay is positioned relative to this video)
  - `startMs` integer — Start position relative to parent video (ms)
  - `durationMs` integer, required — Visible duration on timeline (ms)
  - `sourceDurationMs` integer — Original video duration (ms)
  - `opacity` number, nullable — Overlay opacity (0.0-1.0)
  - `zIndex` integer, nullable — Stacking order among overlays (higher = on top)

## Response `201`

Successful Response

- object

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/latted/apis/motion-graphics-designer-api.md) · [All operations](https://skmtc.dev/latted/apis/motion-graphics-designer-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/latted/motion-graphics-designer-api/revisions/36d149b525df/schema)
