---
title: "GET /api/clip-projects/{projectId}"
method: GET
path: "/api/clip-projects/{projectId}"
tags: ["clip-project", "enterprise"]
---

# GET /api/clip-projects/{projectId}

`GET /api/clip-projects/{projectId}`

## Request

- Base URL: `https://api.opus.pro`
- URL: `https://api.opus.pro/api/clip-projects/{projectId}`
- Auth: HTTP bearer

## Path parameters

- `projectId` string, required

## Response `200`

- ClipProjectRepresentation
  - `id` string, required: The unique identifier of the project.
  - `userId` string, required: The unique identifier of the user.
  - `orgId` string, required: The unique identifier of the organization.
  - `isDeleted` boolean, required: Indicates whether the project is deleted.
  - `isPurged` boolean, required: Indicates whether the project is purged.
  - `projectId` string, required: The unique identifier of the project.
  - `sourcePlatform` 'YOUTUBE' | 'UPLOADED' | 'YTDLP_LINK' | 'GDRIVE' | 'ZOOM' | 'STREAM_YARD', required: The platform from which the video is sourced.
  - `sourceId` string, required: The unique identifier for the video on the source platform.
  - `sourceUri` string: The URI of the source video.
  - `labels` string[], required: Labels associated with the project.
  - `productTier` string, required: The product tier of the project.
  - `stage` 'PENDING' | 'QUEUED' | 'IMPORT' | 'CURATE' | 'REFINE' | 'RENDER' | 'UPLOAD' | 'COMPLETE' | 'STALLED', required: The current stage of the project.
  - `model` 'ClipAnything' | 'ClipBasic': The AI clipping model used for the project.
  - `error` string: Error message, if any.
  - `stallCount` number: The number of times the project has stalled.
  - `workerUrl` string: The URL of the worker processing the project.
  - `curationPref` CurationPreferenceDto
    - `clipDurations` array[]: Durations (in seconds) of the clips to be generated. Default value is [0, 90]. Other possible values are: [0, 30], [30, 60], [60, 90], [90, 180].
      - unknown[]
        - unknown
    - `topicKeywords` string[]: Keywords used to find relevant moments to clip from
    - `range` CurationRangeDto
      - `startSec` number: The start time of the range to be curated.
      - `endSec` number: The end time of the range to be curated.
    - `genre` 'Auto' | 'Q&A' | 'Commentary' | 'Marketing' | 'Webinar' | 'Motivational speech' | 'Podcast' | 'Academic' | 'Listicle' | 'Product reviews' | 'How-to' | 'Comedy' | 'Sports commentary' | 'Church' | 'News' | 'Vlog' | 'Gaming' | 'Others'
    - `enableAutoHook` boolean: Whether to add an AI-generated headline ("auto headline") over the first seconds of each clip. Disabled by default for API submissions: omit it or send `false` and no headline is added. Only applies to a clipping run, so it has no effect together with `skipCurate` or `skipSlicing`.
  - `storageSize` number, required: The total size of the project in bytes.
  - `storageStatus` string, required: The storage status of the project.
  - `storageExpireAt` string, required: The expiration date of the project storage.
  - `renderPref` RenderPreferenceDto
    - `enableAutoLayout` boolean, required: Enables automatic layout adjustment.
    - `enableScreenLayout` boolean, required: Enables screen layout for the video.
    - `enableCrop` boolean, required: Enables cropping of the video.
    - `enableCaption` boolean, required: Enables caption overlay on the video.
    - `enableUppercase` boolean, required: Converts all characters to uppercase in captions.
    - `enableHighlight` boolean, required: Enables keyword highlighting in captions.
    - `enableEmoji` boolean, required: Enables emoji overlay on the video.
    - `enableFillLayout` boolean, required: Enables fill layout for a single person.
    - `enableSplitLayout` boolean, required: Enables split layout for two people.
    - `enableThreeLayout` boolean, required: Enables layout for three people.
    - `enableFourLayout` boolean, required: Enables layout for four people.
    - `enableFitLayout` boolean, required: Enables fit layout for multiple people.
    - `fitLayoutCropRatio` string, required: Specifies the crop ratio for fit layout.
    - `enableVisualHook` boolean, required: Enables visual hook overlay, deprecated and should always be false.
    - `enableWatermark` boolean, required: Enables watermark overlay.
    - `layoutAspectRatio` 'portrait' | 'landscape' | 'square'
    - `enableBroll` boolean: Enables B-Roll overlay on the video.
    - `font` FontDto, required
      - `color` string, required: The color of the font.
      - `style` string[], required: The style of the font.
      - `family` string, required: The family of the font.
      - `stroke` StrokeDto, required
        - `enabled` boolean, required: Indicates if the stroke is enabled.
        - `color` string, required: The color of the stroke.
        - `width` number, required: The width of the stroke.
      - `shadow` ShadowDto, required
        - `enabled` boolean, required: Indicates if the shadow is enabled.
        - `color` string, required: The color of the shadow.
        - `x` number, required: The x offset of the shadow.
        - `y` number, required: The y offset of the shadow.
        - `blur` number, required: The blur radius of the shadow.
        - `useWordHighlightColor` boolean: Indicates if the word highlight color should be used for the shadow.
      - `id` string: The ID of the font.
      - `type` 'CustomizedFont' | 'System': The type of the font.
      - `name` string: The name of the font.
      - `path` string: The storage path of the font.
      - `size` 'Large' | 'Middle' | 'Small': The size of the font.
      - `numericalSize` number: The numerical size of the font.
      - `textDecoration` 'line-through' | 'underline' | '': The text decoration of the font.
    - `highlightColor` HighlightColorDto, required
      - `primary` string, required: Primary highlight color.
      - `secondary` string, required: Secondary highlight color.
  - `refundStatus` string: The refund status of the project.
  - `createdAt` string, date-time, required: The date and time when the project was created.
  - `updatedAt` string, date-time, required: The date and time when the project was last updated.
  - `clusterJobId` string, required: The unique identifier of the cluster job processing the project.
  - `cluster` string, required: The cluster on which the project is running.
  - `importPref` ImportPreferenceDto
    - `sourceLang` string: Select the language to detect the video's spoken content, or leave it blank for automatic detection. Using ISO-639 language codes, examples: "en" for English, "de" for German, "fr" for French.
  - `visibility` 'DEFAULT' | 'PUBLIC' | 'PUBLIC_VIEW', required: The visibility of the project.
  - `permissions` string[], required: Permissions associated with the project.
  - `promptRecommendations` string[], required: Recommendations for project prompts.

## Changes

- **2026-11-03** `5f4b1b4529ff`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/opus/apis/clip-api/changes/api/clip-projects/:projectId/get.md)

---

[API](https://skmtc.dev/opus/apis/clip-api.md) - [All operations](https://skmtc.dev/opus/apis/clip-api/llms.txt) - [OpenAPI document](https://skmtc.dev/opus/apis/clip-api/revisions/5f4b1b4529ff?raw)
