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

# POST /api/clip-projects/{projectId}/update-visibility

`POST /api/clip-projects/{projectId}/update-visibility`

## Path parameters

- `projectId` string, required

## Request body

- UpdateProjectVisibilityCommand
  - `visibility` 'DEFAULT' | 'PUBLIC', required — The visibility of the project. `DEFAULT`: Team members can open, edit and export the project. `PUBLIC`: Anyone can open, edit and export the project.

## 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'
  - `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.

---

[API](https://skmtc.dev/opus/apis/clip-api.md) · [All operations](https://skmtc.dev/opus/apis/clip-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/opus/clip-api/revisions/7fa7ca3147b7/schema)
