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

# मीडिया

> पुन: उपयोग योग्य बैकग्राउंड, लोगो, और intro/outro वीडियो

मीडिया पुन: उपयोग योग्य फ़ाइलें हैं — वीडियो बैकग्राउंड, स्थिर इमेज, लोगो, और intro/outro क्लिप — जिन्हें आप एक बार अपलोड करते हैं और presets या project settings से संदर्भित करते हैं। इससे हर बार नया ट्रैक render करते समय उसी फ़ाइल को फिर से अपलोड करने की जरूरत नहीं पड़ती।

## मीडिया के प्रकार

| प्रकार        | विवरण                              |
| ------------- | ---------------------------------- |
| `video`       | लूप होने वाला बैकग्राउंड वीडियो।   |
| `image`       | स्थिर बैकग्राउंड इमेज।             |
| `logo`        | लोगो ओवरले।                        |
| `intro-video` | karaoke शुरू होने से पहले चलता है। |
| `outro-video` | karaoke खत्म होने के बाद चलता है।  |

## एंडपॉइंट्स

| Method   | Path               | Purpose                                                              |
| -------- | ------------------ | -------------------------------------------------------------------- |
| `GET`    | `/media`           | authenticated account के लिए मीडिया की सूची दिखाएँ।                  |
| `POST`   | `/media`           | पहले से अपलोड की गई फ़ाइल को reusable media के रूप में रजिस्टर करें। |
| `GET`    | `/media/{mediaId}` | किसी एक मीडिया आइटम को प्राप्त करें।                                 |
| `DELETE` | `/media/{mediaId}` | किसी मीडिया आइटम को हटाएँ।                                           |

पूरे request और response schemas **API reference** में हैं।

## अपलोड फ़्लो

मीडिया आइटम बनाना दो-चरणों की प्रक्रिया है। पहले फ़ाइल bytes अपलोड करें, फिर अपलोड की गई फ़ाइल को reusable media के रूप में रजिस्टर करें।

<Steps>
  <Step title="Create an upload target">
    ```bash theme={null}
    curl -X POST https://api.youka.io/hi/api/v1/uploads \
      -H "Authorization: Bearer yk_..." \
      -H "Content-Type: application/json" \
      -d '{
        "filename": "background.mp4",
        "contentType": "video/mp4",
        "contentLength": 8421120
      }'
    ```

    response में `inputFileId` और `uploadUrl` शामिल होते हैं।
  </Step>

  <Step title="PUT the file bytes">
    ```bash theme={null}
    curl -X PUT "$UPLOAD_URL" \
      -H "Content-Type: video/mp4" \
      --data-binary "@./background.mp4"
    ```
  </Step>

  <Step title="Register the media item">
    ```bash theme={null}
    curl -X POST https://api.youka.io/hi/api/v1/media \
      -H "Authorization: Bearer yk_..." \
      -H "Idempotency-Key: bg-loop-v1" \
      -H "Content-Type: application/json" \
      -d '{
        "inputFileId": "file_abc123",
        "type": "video"
      }'
    ```

    response में नया `mediaId` और मीडिया `url` शामिल होता है। presets या project settings के भीतर
    `url` का उपयोग करें।
  </Step>
</Steps>

<Note>
  `POST /media` raw file uploads स्वीकार नहीं करता। इसे पहले किए गए `POST /uploads` + `PUT` कॉल से
  मिला `inputFileId` चाहिए।
</Note>

## मीडिया की सूची

```bash theme={null}
curl https://api.youka.io/hi/api/v1/media \
  -H "Authorization: Bearer yk_..."
```

authenticated account पर मौजूद हर reusable media आइटम का array लौटाता है।

## बैकग्राउंड लागू करें

अपलोड किए गए मीडिया को किसी preset से या सीधे project settings से संदर्भित करें:

```bash theme={null}
curl -X PATCH https://api.youka.io/hi/api/v1/projects/prj_abc/settings \
  -H "Authorization: Bearer yk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "settings": {
      "style": {
        "background": {
          "type": "image",
          "url": "https://cdn.youka.io/backgrounds/bg_abc123.jpg",
          "objectFit": "cover"
        }
      }
    }
  }'
```

## मीडिया हटाएँ

```bash theme={null}
curl -X DELETE https://api.youka.io/hi/api/v1/media/bg_abc123 \
  -H "Authorization: Bearer yk_..." \
  -H "Idempotency-Key: delete-bg_abc123"
```

<Warning>
  मीडिया हटाने से उन projects या exports पर असर नहीं पड़ता जिन्हें पहले इसके साथ render किया जा चुका है।
  जो future renders हटाए गए मीडिया को reference करेंगे, वे default background पर वापस चले जाएँगे।
</Warning>

## आगे क्या

* [Render settings reference](/en/render-settings-reference) — सभी shared field paths और enum values
* [Presets](/hi/api/presets) — अन्य render settings के साथ media को bundle करें
* [Project settings](/hi/api/project-settings) — किसी project पर बैकग्राउंड लागू करें
* [SDK media](/hi/sdk/media) — TypeScript में वही फ़्लो
