Skip to main content
Um preset é uma configuração de renderização reutilizável — fundo, estilo de legendas, layout — que você pode aplicar a qualquer projeto ou exportação. Use presets quando você tiver uma aparência consistente em várias faixas. Veja Render settings reference para o formato completo de preset e todas as opções baseadas em enums.

Quando usar um preset

Use um preset quando…

Você quer a mesma aparência em vários projetos e precisa atualizá-la em um só lugar.

Use as configurações do projeto quando…

Você precisa de substituições locais do projeto que não valem a pena compartilhar.

Endpoints

MétodoCaminhoFinalidade
GET/presetsListar presets da conta autenticada.
POST/presetsCriar um novo preset.
GET/presets/{presetId}Buscar um único preset.
PATCH/presets/{presetId}Atualizar o nome, o corpo ou definir como padrão.
DELETE/presets/{presetId}Excluir um preset.
Os esquemas completos de requisição e resposta estão disponíveis em API reference na barra lateral.

Criar um preset

curl -X POST https://api.youka.io/pt/api/v1/presets \
  -H "Authorization: Bearer yk_..." \
  -H "Idempotency-Key: create-neon-night-v1" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Neon Night",
    "preset": {
      "background": {
        "type": "gradient",
        "colors": ["#12001f", "#2f0a57"],
        "angle": 90
      },
      "singerTextStyles": {
        "0": {
          "fontFamily": "Inter",
          "textColor": "#00f5ff",
          "effectColor": "#ff4fd8"
        }
      }
    },
    "isDefault": false
  }'
A resposta inclui o novo presetId. Armazene-o e referencie-o em projetos ou exportações.
Associe cada POST a uma chave de idempotência. Reutilizar a mesma chave com o mesmo payload retorna o preset original em vez de criar um duplicado.

Descobrir campos válidos do preset

Presets são validados no servidor em relação ao KaraokePresetSchema. O SDK exporta esse schema para que você possa convertê-lo para JSON Schema em tempo de execução:
import { KaraokePresetSchema } from "@youka/sdk";

const jsonSchema = KaraokePresetSchema.toJSONSchema();
Pelo CLI:
youka preset schema --json
Autores de agentes devem chamar isso antes de alterar presets para que o modelo conheça todos os campos válidos e tipos de valor. Referência legível:

Atualizar um preset

curl -X PATCH https://api.youka.io/pt/api/v1/presets/preset_abc123 \
  -H "Authorization: Bearer yk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Neon Night v2",
    "preset": {
      "singerTextStyles": {
        "0": {
          "textColor": "#ff2a2a"
        }
      }
    }
  }'
Passe qualquer subconjunto de name e preset. Campos que você não incluir permanecem inalterados.

Definir o preset padrão

Cada conta tem, no máximo, um preset padrão, aplicado automaticamente a novos projetos.
curl -X PATCH https://api.youka.io/pt/api/v1/presets/preset_abc123 \
  -H "Authorization: Bearer yk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "isDefault": true
  }'
Definir um novo padrão automaticamente remove o padrão anterior.

Aplicar um preset

Referencie um preset em três lugares:
OndeCampo
Na criação do projetopresetId em POST /projects
A qualquer momento no projetopresetId em PATCH /projects/{projectId}/settings
No momento da exportaçãopresetId em POST /projects/{projectId}/exports
Exemplo na exportação:
curl -X POST https://api.youka.io/pt/api/v1/projects/prj_abc/exports \
  -H "Authorization: Bearer yk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "presetId": "preset_abc123",
    "resolution": "1080p",
    "quality": "high"
  }'

Excluir um preset

curl -X DELETE https://api.youka.io/pt/api/v1/presets/preset_abc123 \
  -H "Authorization: Bearer yk_..." \
  -H "Idempotency-Key: delete-preset_abc123"
Excluir um preset não afeta projetos ou exportações que tenham sido previamente renderizados com ele. Exportações futuras que referenciem o preset excluído falharão.

O que vem a seguir