Skip to main content
الإعداد المسبق هو إعداد عرض قابل لإعادة الاستخدام — الخلفية، نمط الترجمة، التخطيط — يمكنك تطبيقه على أي مشروع أو تصدير. استخدم الإعدادات المسبقة عندما يكون لديك مظهر متّسق عبر العديد من المقاطع. راجع مرجع إعدادات العرض للاطلاع على الشكل الكامل لـ preset وكل خيار مدعوم بقيم enum.

client.presets.list(options?)

اعرض كل إعداد مسبق مملوك للحساب المصادَق عليه.
const presets = await client.presets.list();
presets.forEach((p) => console.log(p.id, p.name, p.isDefault));

client.presets.get(presetId, options?)

اجلب إعدادًا مسبقًا واحدًا.
const preset = await client.presets.get("preset_abc123");

client.presets.create(body, options?)

أنشئ إعدادًا مسبقًا جديدًا.
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
اسم العرض الذي يظهر في واجهة Youka.
preset
KaraokePreset
required
جسم الإعداد المسبق بالكامل. استخدم مرجع إعدادات العرض لعرض خريطة الحقول بصيغة سهلة القراءة، أو KaraokePresetSchema.toJSONSchema() للحصول على المخطط بصيغة قابلة للقراءة آليًا.
isDefault
boolean
عيّن الإعداد المسبق الجديد كإعداد افتراضي للحساب. يمكن أن يكون هناك إعداد مسبق واحد فقط افتراضيًا في أي وقت.
اقرنه بمفتاح idempotency لإعادة المحاولات بأمان:
const preset = await client.presets.create(body, {
  idempotencyKey: "create-neon-night-v1",
});

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

حدّث (Patch) إعدادًا مسبقًا موجودًا. مرّر أي جزء من name وpreset وisDefault.
const updated = await client.presets.update("preset_abc123", {
  name: "Neon Night v2",
  preset: {
    singerTextStyles: {
      0: { textColor: "#ff2a2a" },
    },
  },
});

client.presets.delete(presetId, options?)

احذف إعدادًا مسبقًا.
await client.presets.delete("preset_abc123", {
  idempotencyKey: "delete-preset_abc123",
});
حذف إعداد مسبق لا يحذف المشاريع أو عمليات التصدير التي سبق عرضها باستخدامه. ستفشل عمليات التصدير المستقبلية التي تشير إلى الإعداد المسبق المحذوف.

client.presets.setDefault(presetId, options?)

عيّن إعدادًا مسبقًا كإعداد افتراضي للمشاريع الجديدة. هذا غلاف مريح حول client.presets.update(presetId, { isDefault: true }).
await client.presets.setDefault("preset_abc123");
تعيين إعداد افتراضي جديد يلغي تلقائيًا تعيين الإعداد السابق.

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

يقوم SDK بتصدير مخطط Zod الذي يتحقق من صحة أجسام الإعدادات المسبقة. حوّله إلى JSON Schema أثناء وقت التشغيل للوكلاء وبُنّاة النماذج:
import { KaraokePresetSchema } from "@youka/sdk";

const jsonSchema = KaraokePresetSchema.toJSONSchema();
console.log(jsonSchema);
لمؤلفي الوكلاء: استدعِ هذا المخطط قبل تعديل الإعدادات المسبقة لكي يعرف النموذج أسماء الحقول وأنواع القيم بدقة.
مرجع سهل القراءة:

تطبيق إعداد مسبق

طبّق الإعدادات المسبقة في ثلاث نقاط:
await client.projects.create({
  source: { type: "path", path: "./song.mp3" },
  presetId: "preset_abc123",
});

ما التالي