Skip to main content
एक्सपोर्ट एक तैयार कराओके को वीडियो फ़ाइल के रूप में रेंडर करता है। मुख्य एंट्रीपॉइंट के रूप में client.exports.create(...) का उपयोग करें। जब आप चाहते हैं कि SDK सीधे मौजूदा मशीन पर रेंडर करे, तब target: "local" चुनें; अन्यथा डिफ़ॉल्ट रूप से क्लाउड एक्सपोर्ट होता है।

client.exports.create(projectId, input, options?)

target: "cloud" | "local" के साथ एक्सपोर्ट टारगेट चुनें।
const cloud = await client.exports.create("prj_abc123", {
  resolution: "1080p",
  quality: "high",
});
// => ExportOperation

const local = await client.exports.create("prj_abc123", {
  target: "local",
  resolution: "1080p",
  quality: "high",
  outputPath: "./karaoke.mp4",
});
// => { outputPath, fileSize, duration, ... }
जब आप मैनेज्ड async एक्सपोर्ट चाहते हैं, तब क्लाउड का उपयोग करें। जब आप कॉलर की मशीन पर सीधे रेंडर करना चाहते हैं, तब लोकल का उपयोग करें।

Common fields

FieldTypeDescription
resolution"540p" | "720p" | "1080p"आउटपुट रेज़ोल्यूशन।
quality"low" | "average" | "high"एन्कोडिंग क्वालिटी।
playbackRatenumberस्पीड मल्टिप्लायर (उदा. 0.9)।
toneFrequencynumberसेमीटोन में पिच शिफ्ट।
transparentbooleanट्रांसपेरेंट बैकग्राउंड के साथ रेंडर करें।
presetIdstringरेंडर करने से पहले एक प्रीसेट लागू करें।
stemVolumesRecord<string, number>स्टेम id के आधार पर per-stem वॉल्यूम ओवरराइड्स।
settingsOverrideobjectकेवल इसी एक्सपोर्ट के लिए प्रोजेक्ट सेटिंग्स को पैच करें।

Example with stem volumes

const result = await client.exports.create("prj_abc123", {
  resolution: "1080p",
  quality: "high",
  stemVolumes: {
    vocals: 0,
    instrumental: 1,
    backing: 0.5,
  },
});

Example with settings override

const result = await client.exports.create("prj_abc123", {
  resolution: "1080p",
  settingsOverride: {
    trim: { startSeconds: 5, endSeconds: 180 },
    style: {
      background: { type: "color", color: "#101010" },
    },
  },
});
settingsOverride के पूर्ण shape के लिए Render settings reference देखें।

client.exports.quote(projectId, input, options?)

एक्सपोर्ट शुरू किए बिना क्लाउड एक्सपोर्ट के लिए आवश्यक क्रेडिट्स का कोट प्राप्त करें।
const quote = await client.exports.quote("prj_abc123", {
  resolution: "1080p",
  quality: "high",
  transparent: false,
});

console.log(quote.creditsRequired, quote.sufficientBalance);
लोकल एक्सपोर्ट कॉलर की मशीन पर चलते हैं और क्लाउड एक्सपोर्ट क्रेडिट्स का उपयोग नहीं करते, इसलिए quote(...) केवल क्लाउड एक्सपोर्ट के लिए है।

client.exports.list(projectId, input?, options?)

पेजिनेशन के साथ, किसी प्रोजेक्ट के एक्सपोर्ट्स की सूची दें।
const exports = await client.exports.list("prj_abc123", {
  page: 1,
  pageSize: 50,
});
page
number
पेज नंबर। सर्वर पर डिफ़ॉल्ट 1 होता है।
pageSize
number
पेज साइज। डिफ़ॉल्ट 100। अधिकतम 100

client.exports.get(exportId, options?)

पैरेंट प्रोजेक्ट जाने बिना, केवल ID के आधार पर एक्सपोर्ट प्राप्त करें।
const exported = await client.exports.get("exp_xyz");

Local export

const result = await client.exports.create("prj_abc123", {
  target: "local",
  resolution: "1080p",
  quality: "high",
  outputPath: "./karaoke.mp4",
  onProgress(progress) {
    console.log(progress.stage, progress.percent);
  },
});

console.log(result.outputPath);
यदि आप चाहते हैं कि लोकल रेंडर टूलचेन के इंस्टॉल या वेरिफ़ाई होने के दौरान अपडेट्स मिलें, तो onDependencyProgress का उपयोग करें।

client.exports.prepareLocal(projectId, body, options?)

लोकली एक्सपोर्ट रेंडर करने के लिए तैयार किया गया payload लौटाता है। @youka/remotion या किसी अन्य लोकल renderer के साथ इंटीग्रेट करते समय इसका उपयोग करें। सर्वर क्लाउड रेंडर को क्यू किए बिना composition inputs, asset URLs, और render parameters लौटाता है।
const payload = await client.exports.prepareLocal("prj_abc123", {
  resolution: "1080p",
  quality: "high",
});

// Hand payload off to your local renderer
await renderLocally(payload);
client.exports.prepareLocal(...) क्लाउड रेंडर शुरू नहीं करता। Youka की तरफ़ कोई billable compute consume नहीं होता।

Waiting for an export

क्लाउड एक्सपोर्ट async होते हैं। client.exports.wait(...) का उपयोग करें:
const operation = await client.exports.create("prj_abc123", {
  resolution: "1080p",
});

const finalized = await client.exports.wait(operation, {
  pollIntervalMs: 3_000,
});
console.log("Download from", finalized.url);

Downloading the result

क्लाउड एक्सपोर्ट एक signed url के साथ पूरा होता है। फ़ाइल को डिस्क पर स्ट्रीम करने के लिए बिल्ट-इन helper का उपयोग करें। output या तो एक डायरेक्टरी हो सकता है या पूरा फ़ाइल पाथ, और filename वैकल्पिक है:
await client.exports.download(finalized, {
  output: "./exports",
});

What’s next

  • Tasks — ऑपरेशन हैंडल्स और एडवांस्ड टास्क पोलिंग
  • Presets — पुन: उपयोग योग्य रेंडर कॉन्फ़िगरेशन
  • Project settings — प्रोजेक्ट की active सेटिंग्स को पैच करें