Skip to main content
الوسائط هي ملفات قابلة لإعادة الاستخدام — خلفيات فيديو، وصور ثابتة، وشعارات، ومقاطع مقدمة/خاتمة — يمكنك الرجوع إليها من الإعدادات المسبقة أو إعدادات المشروع. ارفع مرة واحدة وأعد الاستخدام عبر المشاريع.

أنواع الوسائط

النوعالوصف
videoفيديو خلفية متكرر.
imageصورة خلفية ثابتة.
logoتراكب شعار.
intro-videoيتم تشغيله قبل بدء الكاراوكي.
outro-videoيتم تشغيله بعد انتهاء الكاراوكي.

client.media.list(options?)

اعرض كل عنصر وسائط قابل لإعادة الاستخدام مملوك للحساب المصادق عليه.
const media = await client.media.list();

client.media.get(mediaId, options?)

اجلب عنصر وسائط واحدًا.
const media = await client.media.get("bg_abc123");

client.media.create(body, options?)

أنشئ عنصر وسائط جديدًا من مسار محلي، أو بايتات، أو inputFileId مرفوع مسبقًا. بالنسبة للمسارات المحلية والبايتات، تقوم الـ SDK بتحضير الرفع، وإرسال بايتات الملف إلى رابط الرفع، وتسجيل الملف المرفوع كوسائط قابلة لإعادة الاستخدام.
const media = await client.media.create({
  type: "video",
  source: {
    type: "path",
    path: "./background.mp4",
    contentType: "video/mp4",
  },
});
type
'video' | 'image' | 'logo' | 'intro-video' | 'outro-video'
required
ما الدور الذي يملؤه عنصر الوسائط هذا في عملية تصيير.
source
object
مصدر الملف. استخدم { type: "path", path } للملفات المحلية، و{ type: "bytes", data, filename } لبيانات Blob أو File أو ArrayBuffer أو المصفوفات المُنمَّطة، أو { type: "inputFile", inputFileId } عندما يكون لديك بالفعل مُعرّف رفع.
inputFileId
string
خيار متقدم منخفض المستوى: مرّر المعرّف الذي تم إرجاعه بواسطة client.uploads.create(...) بدلًا من source.

client.media.delete(mediaId, options?)

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

مثال شامل من البداية إلى النهاية

import { YoukaClient } from "@youka/sdk";

const client = new YoukaClient({ apiKey: process.env.YOUKA_API_KEY! });

async function uploadBackground(path: string, contentType: string) {
  return client.media.create({
    type: "video",
    source: {
      type: "path",
      path,
      contentType,
    },
  });
}

const media = await uploadBackground("./loop.mp4", "video/mp4");
console.log("Media ID:", media.id);

تطبيق خلفية

قم بالإشارة إلى الوسائط المرفوعة من إعداد مسبق أو مباشرةً من إعدادات المشروع:
const media = await uploadBackground("./loop.mp4", "video/mp4");

await client.projects.updateSettings("prj_abc123", {
  settings: {
    style: {
      background: {
        type: "video",
        url: media.url,
        objectFit: "cover",
      },
    },
  },
});
للحصول على المجموعة الكاملة من الحقول المقبولة ضمن background، حوّل مخطط إعدادات المشروع إلى JSON:
import { RestUpdateProjectSettingsRequestSchema } from "@youka/sdk";

const schema = RestUpdateProjectSettingsRequestSchema.toJSONSchema();

ما التالي