> ## Documentation Index
> Fetch the complete documentation index at: https://help.opus.pro/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

The OpusClip API allows users to transform long-form videos into short, viral clips using advanced AI.

Below is a quick guide to get started with the OpusClip API.

## Steps to Get Started

<Steps>
  <Step title="Step 1: Get API Key">
    Get your [API Key](/api-reference/overview#accessing-the-api) from the [<u>dashboard</u>](https://clip.opus.pro/dashboard)
    and include it in your request.

    <div className="img-frame">
      <video src="https://public.cdn.opus.pro/help-center/videos/access-api-key.mp4" autoPlay loop />
    </div>
  </Step>

  <Step title="Step 2: Customize Brand Template">
    Follow below steps to customize the appearance of your clips by `brand template`:

    <CardGroup cols={2}>
      <Card title="Customizing Brand Templates" icon="gear" href="/api-reference/brand-template#customizing-brand-templates">
        For a high level of customization, you can create and manage your brand templates.
      </Card>

      <Card title="Using Preset Brand Templates" icon="gauge" href="/api-reference/brand-template#using-preset-brand-templates">
        Not familiar with it? No worries, we provide popular templates for your convenience.
      </Card>
    </CardGroup>
  </Step>

  <Step title="Step 3: Create a New Project">
    Use the [<u>Create a New Project</u>](/api-reference/endpoints/create-project) endpoint.

    Provide the `videoUrl` and `API_KEY`, then run the following command to create a new project with minimal
    preferences:

    <CodeGroup>
      ```bash basic usage theme={"dark"}
      curl --request POST \
      --url https://api.opus.pro/api/clip-projects \
      --header 'Authorization: Bearer <API_KEY>' \
      --header 'Content-Type: application/json' \
      --data '{
          "videoUrl": "https://www.youtube.com/watch?v=tEXaoozFRes"
      }'
      ```

      ```bash advanced usage theme={"dark"}
      curl --request POST \
      --url https://api.opus.pro/api/clip-projects \
      --header 'Authorization: Bearer <API_KEY>' \
          --header 'Content-Type: application/json' \
          --data '{
              "videoUrl": "https://www.youtube.com/watch?v=tEXaoozFRes",
              "brandTemplateId": "preset-fancy-Karaoke",
              "curationPref": {
                "range": {
                  "startSec": 28,
                  "endSec": 636
                },
                "clipDurations": [
                  [0, 180]
                ],
                "topicKeywords": [
                  "OpusClip"
                ],
                "skipCurate": false,
                "genre": "Auto"
              },
              "importPref": {
                "sourceLang": "en"
              },
              "conclusionActions": [
                {
                    "type": "WEBHOOK",
                    "notifyFailure": true,
                    "url": "https://webhook.site/#!/view/d3ba169d-f9eb-4c78-a229-771eab9d6e67"
                },
                {
                    "type": "EMAIL",
                    "notifyFailure": false,
                    "email": "opusclip@opus.pro"
                }
              ]
          }'
      ```
    </CodeGroup>

    <Tip>
      You can customize the project creation request by providing additional preferences:

      * [<u>Brand Templates</u>](/api-reference/endpoints/create-project#brand-templates)
      * [<u>Curation Preferences</u>](/api-reference/endpoints/create-project#curation-preferences)
      * [<u>Import Preferences</u>](/api-reference/endpoints/create-project#import-preferences)
      * [<u>Conclusion Actions</u>](/api-reference/endpoints/create-project#conclusion-actions)
      * [<u>Curation Model</u>](/api-reference/endpoints/create-project#curation-model)

      Switch to the `advanced usage` tab above to see an example with all preferences.
    </Tip>
  </Step>

  <Step title="Step 4: Get Clips">
    Use the [<u>Get Clips</u>](/api-reference/endpoints/get-clips) endpoint.
    Provide the `Project ID` returned from the project creation response.

    ```bash theme={"dark"}
    curl --request GET \
    --url 'https://api.opus.pro/api/exportable-clips?q=findByProjectId&projectId={projectId}' \
    --header 'Authorization: Bearer <API_KEY>' \
    --header 'x-opus-org-id: <ORG_ID>'
    ```
  </Step>

  <Step title="Step 5: Share the Project">
    Use the [<u>Share a Project</u>](/api-reference/endpoints/share-project) endpoint to share the project you just
    created with others.

    ```bash theme={"dark"}
    curl --request POST \
    --url https://api.opus.pro/api/clip-projects/<PROJECT_ID>/update-visibility \
    --header 'Authorization: <API_KEY>' \
        --header 'Content-Type: application/json' \
        --data '{
            "visibility": "PUBLIC"
        }'
    ```
  </Step>
</Steps>

## Using the Playground

You can use the 👉 [<u>Playground</u>](/api-reference/playground) to generate code snippets easily for the endpoints mentioned above.

<div className="img-frame">
  <video src="https://public.cdn.opus.pro/help-center/videos/create-project-playground.mp4" autoPlay loop />
</div>
