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

# Configurações do projeto

> Leia e atualize as configurações ativas de um projeto

Todo projeto tem configurações ativas — trim, background, estilo de legendas, layout — que controlam como as exportações são renderizadas. Use as configurações do projeto quando você quiser substituições locais do projeto que não valem a pena compartilhar como um preset.

Veja [Render settings reference](/en/render-settings-reference) para o mapa de campos compartilhados de `preset`, `settings.style` e `settingsOverride`.

## Endpoints

| Method  | Path                             | Purpose                                          |
| ------- | -------------------------------- | ------------------------------------------------ |
| `GET`   | `/projects/{projectId}/settings` | Buscar as configurações ativas do projeto.       |
| `PATCH` | `/projects/{projectId}/settings` | Aplicar um preset, atualizar settings, ou ambos. |

Os esquemas completos de requisição e resposta estão em **API reference**.

## Buscar as configurações atuais

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

Retorna as configurações ativas completas do projeto, incluindo qualquer preset que esteja aplicado.

## Atualizar as configurações

`PATCH` aceita qualquer subconjunto de `presetId` e `settings`. Quando ambos são enviados, o preset é aplicado primeiro e depois `settings` é mesclado por cima.

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

  <Tab title="Configurações inline">
    ```bash theme={null}
    curl -X PATCH https://api.youka.io/pt/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 + substituições">
    ```bash theme={null}
    curl -X PATCH https://api.youka.io/pt/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>

## Descobrir campos válidos

O SDK exporta o schema que valida atualizações de configurações do projeto. Converta-o para JSON Schema em runtime:

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

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

<Tip>
  Agents devem buscar o schema do SDK ou o schema de requisição do OpenAPI antes de
  alterar configurações do projeto, para que sempre conheçam o formato atual.
</Tip>

Referência legível para humanos:

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

## Configurações do projeto vs presets vs substituições de exportação

O Youka tem três camadas onde as configurações de renderização podem ficar:

| Layer                         | Scope           | When to use                                          |
| ----------------------------- | --------------- | ---------------------------------------------------- |
| **Preset**                    | Account-wide    | A mesma aparência em muitos projetos.                |
| **Project settings**          | One project     | Trim, background ou cor específicos do projeto.      |
| **Export `settingsOverride`** | One export only | Ajustar uma única renderização sem mexer no projeto. |

Cada camada é mesclada nessa ordem no momento da exportação.

## Próximos passos

* [Render settings reference](/en/render-settings-reference) — todos os paths de campos compartilhados e valores de enum
* [Presets](/pt/api/presets) — configurações reutilizáveis
* [Media](/pt/api/media) — referenciado a partir de settings
* [CLI projects](/pt/cli/projects) — o mesmo fluxo pelo terminal
* [SDK project settings](/pt/sdk/project-settings) — os mesmos endpoints em TypeScript
