Skip to main content
Un préréglage est une configuration de rendu réutilisable — arrière-plan, style des sous-titres, mise en page — que vous pouvez appliquer à n’importe quel projet ou export. Utilisez des préréglages lorsque vous souhaitez une apparence cohérente sur de nombreuses pistes. Voir Render settings reference pour la forme complète de preset et chaque option adossée à une enum.

client.presets.list(options?)

Liste tous les préréglages appartenant au compte authentifié.
const presets = await client.presets.list();
presets.forEach((p) => console.log(p.id, p.name, p.isDefault));

client.presets.get(presetId, options?)

Récupère un seul préréglage.
const preset = await client.presets.get("preset_abc123");

client.presets.create(body, options?)

Crée un nouveau préréglage.
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
Nom d’affichage dans l’interface Youka.
preset
KaraokePreset
required
Le corps complet du préréglage. Utilisez Render settings reference pour la correspondance des champs lisible par un humain, ou KaraokePresetSchema.toJSONSchema() pour le schéma lisible par une machine.
isDefault
boolean
Marque le nouveau préréglage comme valeur par défaut du compte. Un seul préréglage peut être défini comme valeur par défaut à la fois.
Associez-le à une clé d’idempotence pour des réessais sûrs :
const preset = await client.presets.create(body, {
  idempotencyKey: "create-neon-night-v1",
});

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

Applique un patch à un préréglage existant. Passez n’importe quel sous-ensemble de name, preset et isDefault.
const updated = await client.presets.update("preset_abc123", {
  name: "Neon Night v2",
  preset: {
    singerTextStyles: {
      0: { textColor: "#ff2a2a" },
    },
  },
});

client.presets.delete(presetId, options?)

Supprime un préréglage.
await client.presets.delete("preset_abc123", {
  idempotencyKey: "delete-preset_abc123",
});
La suppression d’un préréglage ne supprime pas les projets ni les exports qui ont été rendus précédemment avec celui-ci. Les exports futurs qui référencent le préréglage supprimé échoueront.

client.presets.setDefault(presetId, options?)

Marque un préréglage comme valeur par défaut pour les nouveaux projets. Il s’agit d’un wrapper de commodité autour de client.presets.update(presetId, { isDefault: true }).
await client.presets.setDefault("preset_abc123");
Définir une nouvelle valeur par défaut annule automatiquement la précédente.

Découvrir les champs valides

Le SDK exporte le schéma Zod qui valide les corps de préréglage. Convertissez-le en JSON Schema à l’exécution pour les agents et les générateurs de formulaires :
import { KaraokePresetSchema } from "@youka/sdk";

const jsonSchema = KaraokePresetSchema.toJSONSchema();
console.log(jsonSchema);
Auteurs d’agents : appelez ce schéma avant de modifier des préréglages afin que le modèle connaisse les noms exacts des champs et les types de valeurs.
Référence lisible par un humain :

Appliquer un préréglage

Appliquez des préréglages à trois moments :
await client.projects.create({
  source: { type: "path", path: "./song.mp3" },
  presetId: "preset_abc123",
});

Et ensuite