---
title: "Create Overlay From Video"
method: POST
path: "/api/projects/{project_id}/overlay-clips/from-video/{video_id}"
---

# Create Overlay From Video

`POST /api/projects/{project_id}/overlay-clips/from-video/{video_id}`

Create an overlay clip from an existing project video (copies URL + duration).

## Path parameters

- `project_id` string, required
- `video_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/70d3380d3992/schema)
