Skip to main content
Un preset è una configurazione di rendering riutilizzabile — sfondo, stile dei sottotitoli, layout — che puoi applicare a qualsiasi progetto o esportazione. Usa i preset quando vuoi un aspetto coerente su molte tracce. Vedi Render settings reference per la forma completa di preset e per ogni opzione basata su enum.

client.presets.list(options?)

Elenca tutti i preset di proprietà dell’account autenticato.
const presets = await client.presets.list();
presets.forEach((p) => console.log(p.id, p.name, p.isDefault));

client.presets.get(presetId, options?)

Recupera un singolo preset.
const preset = await client.presets.get("preset_abc123");

client.presets.create(body, options?)

Crea un nuovo preset.
const preset = await client.presets.create({
  name: "Neon Night",
  preset: {
    background: {
      type: "gradient",
      colors: ["#12001f", "#2f0a57"],
      angle: 90,
    },
    singerTextStyles: {
      0: {
        fontFamily: "Inter",
        textColor: "#00f5ff",
        effectColor: "#ff4fd8",
      },
    },
  },
  isDefault: false,
});
name
string
required
Nome visualizzato mostrato nell’interfaccia Youka.
preset
KaraokePreset
required
Il corpo completo del preset. Usa Render settings reference per la mappa dei campi in formato leggibile, oppure KaraokePresetSchema.toJSONSchema() per lo schema leggibile dalle macchine.
isDefault
boolean
Imposta il nuovo preset come predefinito per l’account. Solo un preset può essere quello predefinito alla volta.
Abbinalo a una chiave di idempotenza per ripetizioni sicure:
const preset = await client.presets.create(body, {
  idempotencyKey: "create-neon-night-v1",
});

client.presets.update(presetId, body, options?)

Applica una patch a un preset esistente. Passa qualsiasi sottoinsieme di name, preset e isDefault.
const updated = await client.presets.update("preset_abc123", {
  name: "Neon Night v2",
  preset: {
    singerTextStyles: {
      0: { textColor: "#ff2a2a" },
    },
  },
});

client.presets.delete(presetId, options?)

Elimina un preset.
await client.presets.delete("preset_abc123", {
  idempotencyKey: "delete-preset_abc123",
});
L’eliminazione di un preset non elimina i progetti o le esportazioni che in precedenza sono stati renderizzati con esso. Le esportazioni future che fanno riferimento al preset eliminato falliranno.

client.presets.setDefault(presetId, options?)

Imposta un preset come predefinito per i nuovi progetti. Questo è un wrapper di comodità attorno a client.presets.update(presetId, { isDefault: true }).
await client.presets.setDefault("preset_abc123");
Impostare un nuovo predefinito disattiva automaticamente il precedente.

Individuare i campi validi

L’SDK esporta lo schema Zod che valida i corpi dei preset. Convertilo in JSON Schema a runtime per agenti e builder di moduli:
import { KaraokePresetSchema } from "@youka/sdk";

const jsonSchema = KaraokePresetSchema.toJSONSchema();
console.log(jsonSchema);
Autori di agenti: richiamate questo schema prima di modificare i preset, così il modello conosce i nomi esatti dei campi e i tipi di valore.
Riferimento leggibile:

Applicare un preset

Applica i preset in tre momenti:
await client.projects.create({
  source: { type: "path", path: "./song.mp3" },
  presetId: "preset_abc123",
});

Cosa c’è dopo