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

# إعدادات المشروع

> قراءة إعدادات المشروع النشطة وتعديلها

يمتلك كل مشروع إعدادات نشطة — مثل القصّ (trim) والخلفية ونمط الترجمة والتخطيط — تتحكم في كيفية إخراج التصديرات. استخدم إعدادات المشروع عندما تريد تجاوزات محلية خاصة بالمشروع لا تستحق مشاركتها كقالب مسبق (preset).

راجع [Render settings reference](/en/render-settings-reference) للاطّلاع على خريطة الحقول المشتركة:\
`preset`, `settings.style`, و `settingsOverride`.

## نقاط النهاية

| Method  | Path                             | Purpose                                    |
| ------- | -------------------------------- | ------------------------------------------ |
| `GET`   | `/projects/{projectId}/settings` | جلب إعدادات المشروع النشطة.                |
| `PATCH` | `/projects/{projectId}/settings` | تطبيق preset أو تعديل الإعدادات أو كليهما. |

تتوفر مخططات الطلب والاستجابة الكاملة في **API reference**.

## جلب الإعدادات الحالية

```bash theme={null}
curl https://api.youka.io/ar/api/v1/projects/prj_abc/settings \
  -H "Authorization: Bearer yk_..."
```

يعيد الإعدادات النشطة الكاملة للمشروع، بما في ذلك أي preset تم تطبيقه.

## تعديل الإعدادات

يقبل `PATCH` أي مجموعة فرعية من `presetId` و `settings`. عند تمريرهما معًا، يتم تطبيق الـ preset أولًا ثم يتم دمج `settings` فوقه.

<Tabs>
  <Tab title="تطبيق preset">
    ```bash theme={null}
    curl -X PATCH https://api.youka.io/ar/api/v1/projects/prj_abc/settings \
      -H "Authorization: Bearer yk_..." \
      -H "Content-Type: application/json" \
      -d '{
        "presetId": "preset_abc123"
      }'
    ```
  </Tab>

  <Tab title="إعدادات مضمنة">
    ```bash theme={null}
    curl -X PATCH https://api.youka.io/ar/api/v1/projects/prj_abc/settings \
      -H "Authorization: Bearer yk_..." \
      -H "Content-Type: application/json" \
      -d '{
        "settings": {
          "trim": { "startSeconds": 5, "endSeconds": 180 },
          "style": {
            "background": {
              "type": "color",
              "color": "#101010"
            }
          }
        }
      }'
    ```
  </Tab>

  <Tab title="Preset + تجاوزات">
    ```bash theme={null}
    curl -X PATCH https://api.youka.io/ar/api/v1/projects/prj_abc/settings \
      -H "Authorization: Bearer yk_..." \
      -H "Content-Type: application/json" \
      -d '{
        "presetId": "preset_abc123",
        "settings": {
          "trim": { "startSeconds": 5, "endSeconds": 180 }
        }
      }'
    ```
  </Tab>
</Tabs>

## اكتشاف الحقول الصالحة

تقوم الـ SDK بتصدير المخطط (schema) الذي يتحقق من صحة تحديثات إعدادات المشروع. حوّله إلى JSON Schema أثناء التشغيل:

```ts theme={null}
import { RestUpdateProjectSettingsRequestSchema } from "@youka/sdk";

const schema = RestUpdateProjectSettingsRequestSchema.toJSONSchema();
```

<Tip>
  ينبغي على الوكلاء (Agents) جلب مخطط الـ SDK أو مخطط طلب OpenAPI قبل
  تعديل إعدادات المشروع كي يعرفوا دائمًا البنية الحالية.
</Tip>

مرجع سهل القراءة:

* [Render settings reference](/en/render-settings-reference)
* [CLI projects](/ar/cli/projects)
* [SDK project settings](/ar/sdk/project-settings)

## إعدادات المشروع مقابل presets مقابل تجاوزات التصدير

يوجد في Youka ثلاث طبقات يمكن أن تعيش فيها إعدادات الإخراج:

| Layer                         | Scope            | When to use                         |
| ----------------------------- | ---------------- | ----------------------------------- |
| **Preset**                    | على مستوى الحساب | نفس المظهر عبر العديد من المشاريع.  |
| **Project settings**          | مشروع واحد       | قصّ أو خلفية أو لون خاص بالمشروع.   |
| **Export `settingsOverride`** | تصدير واحد فقط   | ضبط إخراج واحد دون المساس بالمشروع. |

يتم دمج كل طبقة بهذا الترتيب وقت التصدير.

## ما التالي

* [Render settings reference](/en/render-settings-reference) — جميع مسارات الحقول المشتركة وقيم enum
* [Presets](/ar/api/presets) — إعدادات قابلة لإعادة الاستخدام
* [Media](/ar/api/media) — تتم الإشارة إليها من الإعدادات
* [CLI projects](/ar/cli/projects) — نفس التدفق من الطرفية
* [SDK project settings](/ar/sdk/project-settings) — نفس نقاط النهاية في TypeScript
