आपके पास YouTube लिंक की एक कतार है और एक PHP ऐप है जिसे इस सप्ताह MP3 की आवश्यकता है। इस गाइड के अंत तक, आप अपने PHP बैकएंड से Youtube Video to Audio API को कॉल करेंगे, एक सीधे MP3 लिंक के साथ-साथ मेटाडेटा प्राप्त करेंगे, और इसे उत्पादन में सुरक्षित रूप से संभालेंगे—Zyla API Hub से एक API कुंजी का उपयोग करके।
Youtube Video to Audio API के साथ आप क्या बना सकते हैं
Youtube Video to Audio API एक YouTube वीडियो (ID द्वारा) को एक ऑडियो फ़ाइल में परिवर्तित करता है और लौटाता है:
- MP3 फ़ाइल के लिए एक सीधा लिंक
- वीडियो शीर्षक
- फ़ाइल का आकार
- परिवर्तन प्रगति और स्थिति
- सेकंड में अवधि (फ्लोटिंग-पॉइंट)
विशिष्ट उपयोग के मामलों में छोटे वीडियो से पॉडकास्ट फ़ीड उत्पन्न करना, आंतरिक ट्रांसक्रिप्शन पाइपलाइनों (पहले MP3 प्राप्त करें, फिर स्पीच-टू-टेक्स्ट के लिए फीड करें), स्वचालित सामग्री क्लिपिंग, या ऑफ़लाइन सुनने के कार्यप्रवाह शामिल हैं। यह एंडपॉइंट छोटे वीडियो (लगभग 5 मिनट या उससे कम) के लिए डिज़ाइन किया गया है।
Zyla API Hub पर शुरू करना
Zyla API Hub हजारों APIs को एक ही खाते, सदस्यता और API कुंजी के पीछे केंद्रीकृत करता है। आप एक बार सदस्यता लेते हैं और श्रेणियों में लगातार प्रमाणीकरण हेडर के साथ एंडपॉइंट्स को कॉल करते हैं। बिलिंग सदस्यता + कोटा है (पे-पर-कॉल नहीं)। आप जिस पहले API का प्रयास करते हैं, उसके लिए आपको आमतौर पर 7-दिन का परीक्षण या 50 अनुरोध मिलते हैं। कोई मुफ्त योजना नहीं है; शिप करने से पहले वर्तमान पहुंच विकल्पों और मूल्य निर्धारण के लिए API पृष्ठ की जांच करें।
- API पृष्ठ खोलें: Zyla पर Youtube Video to Audio API.
- सदस्यता लें (या उपलब्ध होने पर मुफ्त परीक्षण शुरू करें) और अपनी API कुंजी प्राप्त करें।
- हर अनुरोध में Authorization: Bearer YOUR_API_KEY का उपयोग करें zylalabs.com API एंडपॉइंट्स के लिए।
एकीकृत करने के लिए तैयार? यहाँ अपने मुफ्त डेवलपर खाते को बनाने के लिए एक API कुंजी प्राप्त करें: पंजीकरण करें.
एंडपॉइंट संदर्भ
API एक क्रियाशील एंडपॉइंट को रूपांतरण के लिए उजागर करता है। नीचे दिखाए गए सटीक URL और पैरामीटर का उपयोग करें।
ऑडियो प्राप्त करें
- विधि: GET
- URL: https://zylalabs.com/api/1812/youtube-video-to-audio-api/5870/get-audio
- विवरण: एक YouTube वीडियो ID प्रदान करें। वीडियो लगभग 5 मिनट या उससे कम होने चाहिए।
- आवश्यक क्वेरी पैरामीटर:
- id (string): YouTube वीडियो ID
cURL
curl -s -X GET "https://zylalabs.com/api/1812/youtube-video-to-audio-api/5870/get-audio?id=p-Z3YrHJ1sU" \
-H "Authorization: Bearer YOUR_API_KEY"
JSON (वास्तविक API प्रतिक्रिया)
{
"link": "https://eta.123tokyo.xyz/get.php/9/9e/ty7nkwYqodA.mp3?cid=MmEwMTo0Zjg6YzAxMjozMmVlOjoxfE5BfERF&h=FwrcvY5cIfOO0jyXh5C-6Q&s=1737705748&n=%E2%82%B91%2C07%2C000%20_iPhone%2016%20Pro%20Max_%20USA%20to%20INDIA_%20%23shorts%20%23youtubeshorts&uT=R&uN=QWxlam9aeWxhTGFicw%3D%3D",
"title": "₹1,07,000 *iPhone 16 Pro Max* USA to INDIA! #shorts #youtubeshorts",
"filesize": 417480,
"progress": 100,
"duration": 22.896054233758,
"status": "ok",
"msg": "success"
}
इन फ़ील्ड का क्या अर्थ है और उनका उपयोग कैसे करें:
- link: उत्पन्न MP3 के लिए सीधे URL। इसमें URL-कोडित पैरामीटर शामिल हैं; इसे एक अपारदर्शी स्ट्रिंग के रूप में मानें और इसे संशोधित न करें।
- title: मूल वीडियो शीर्षक। फ़ाइल नामकरण या मेटाडेटा के लिए उपयोगी।
- filesize: MP3 का आकार बाइट्स में। कोटा जांच या भंडारण योजना के लिए अच्छा।
- progress: 100 पूर्णता को इंगित करता है।
- duration: सेकंड में लंबाई (फ्लोट)। UX (जैसे, प्रगति बार) या डाउनस्ट्रीम प्रोसेसिंग के लिए उपयोग करें।
- status/msg: सरल स्थिति संकेतक। सफल रन पर "ok" और "success" की अपेक्षा करें।
PHP एकीकरण (curl_init) के साथ मजबूत हैंडलिंग
नीचे एक न्यूनतम PHP उदाहरण है जो एंडपॉइंट को कॉल करता है, JSON को पार्स करता है, और वैकल्पिक रूप से MP3 को डिस्क पर डाउनलोड करता है। यह केवल आवश्यक id पैरामीटर और प्रमाणीकरण हेडर का उपयोग करता है।
PHP
<?php
$apiKey = 'YOUR_API_KEY';
$videoId = 'p-Z3YrHJ1sU'; // अपने YouTube वीडियो ID के साथ बदलें
$url = 'https://zylalabs.com/api/1812/youtube-video-to-audio-api/5870/get-audio?id=' . urlencode($videoId);
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Accept: application/json'
],
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$error = curl_error($ch);
curl_close($ch);
if ($response === false || $httpCode < 200 || $httpCode >= 300) {
http_response_code(502);
echo json_encode([
'error' => 'API request failed',
'httpCode' => $httpCode,
'curlError' => $error,
]);
exit;
}
data = json_decode($response, true);
if (!is_array($data) || empty($data['status']) || $data['status'] !== 'ok') {
http_response_code(500);
echo json_encode([
'error' => 'Unexpected API response',
'response' => $response,
]);
exit;
}
// फ़ील्ड निकालें
$link = $data['link'] ?? null;
$title = $data['title'] ?? 'untitled';
$filesize = $data['filesize'] ?? null;
$duration = $data['duration'] ?? null;
echo "Title: {
$title}
";
echo "Duration (s): {
$duration}
";
echo "Filesize (bytes): {
$filesize}
";
echo "MP3 URL: {
$link}
";
// वैकल्पिक: MP3 डाउनलोड करें
if ($link) {
$safeTitle = preg_replace('/[^A-Za-z0-9_-]+/', '_', $title);
$target = __DIR__ . '/' . $safeTitle . '.mp3';
$fp = fopen($target, 'w');
if ($fp === false) {
throw new RuntimeException('Cannot open file for writing: ' . $target);
}
$ch2 = curl_init($link);
curl_setopt_array($ch2, [
CURLOPT_FILE => $fp,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_TIMEOUT => 120,
]);
$ok = curl_exec($ch2);
$err2 = curl_error($ch2);
curl_close($ch2);
fclose($fp);
if (!$ok) {
unlink($target);
throw new RuntimeException('Download failed: ' . $err2);
}
echo "Saved: {
$target}
";
}
JavaScript उदाहरण (Node.js fetch)
यह उदाहरण Node.js 18+ या undici में मूल fetch का उपयोग करके एक सरल GET अनुरोध को प्रदर्शित करता है। यह वही प्रमुख फ़ील्ड प्रिंट करता है और दिखाता है कि यदि आपको इसे बनाए रखना है तो MP3 को कैसे स्ट्रीम करें।
JavaScript
import fs from 'node:fs';
import { pipeline } from 'node:stream';
import { promisify } from 'node:util';
const streamPipeline = promisify(pipeline);
const API_KEY = 'YOUR_API_KEY';
const videoId = 'p-Z3YrHJ1sU';
const url = `https://zylalabs.com/api/1812/youtube-video-to-audio-api/5870/get-audio?id=${encodeURIComponent(videoId)}`;
const res = await fetch(url, {
method: 'GET',
headers: {
'Authorization': `Bearer ${API_KEY}`,
'Accept': 'application/json'
}
});
if (!res.ok) {
throw new Error(`API error: ${res.status} ${res.statusText}`);
}
const data = await res.json();
if (data.status !== 'ok') {
throw new Error(`Conversion not ok: ${JSON.stringify(data)}`);
}
console.log('Title:', data.title);
console.log('Duration (s):', data.duration);
console.log('Filesize (bytes):', data.filesize);
console.log('MP3 URL:', data.link);
// वैकल्पिक डाउनलोड
if (data.link) {
const mp3Res = await fetch(data.link);
if (!mp3Res.ok) throw new Error(`Download failed: ${mp3Res.status}`);
const safeTitle = data.title.replace(/[^A-Za-z0-9_-]+/g, '_');
await streamPipeline(mp3Res.body, fs.createWriteStream(`${safeTitle}.mp3`));
console.log(`Saved: ${safeTitle}.mp3`);
}
उत्पादन में एंड-टू-एंड प्रवाह
API को अपनी पाइपलाइन में फिट करने के लिए इस अनुक्रम का उपयोग करें:
- इनपुट मान्य करें: सुनिश्चित करें कि आप केवल YouTube वीडियो ID (जैसे, p-Z3YrHJ1sU) पास कर रहे हैं। यदि आपके पास पूर्ण URL हैं, तो अपने पक्ष पर v पैरामीटर या पथ ID निकालें।
- Authorization: Bearer YOUR_API_KEY के साथ Get Audio एंडपॉइंट को कॉल करें।
- स्थिति और msg की जांच करें; केवल तभी आगे बढ़ें जब स्थिति ठीक हो।
- प्रसंस्करण समय और भंडारण के लिए अपने स्वयं के ऊपरी सीमाओं को लागू करने के लिए अवधि पढ़ें। यह एंडपॉइंट लगभग 5 मिनट या उससे कम वीडियो के लिए है।
- MP3 डाउनलोड करने के लिए लिंक का उपभोग करें। इसे एक अपारदर्शी URL के रूप में मानें; क्वेरी पैरामीटर को संशोधित न करें।
- डाउनस्ट्रीम सेवाओं (इंडेक्सिंग, S3 ऑब्जेक्ट मेटाडेटा, आदि) के लिए मेटाडेटा के रूप में फ़ाइल का आकार और शीर्षक संग्रहीत करें।
समय बचाने के लिए व्यावहारिक सुझाव
- टाइमआउट: अटकने वाले कार्यकर्ताओं को रोकने के लिए उचित HTTP क्लाइंट टाइमआउट सेट करें (जैसे, API कॉल के लिए 30 सेकंड, MP3 डाउनलोड के लिए अधिक)।
- पुनः प्रयास: अस्थायी नेटवर्क त्रुटियों के लिए, बैकऑफ के साथ API कॉल को पुनः प्रयास करें। 4xx प्रतिक्रियाओं पर पुनः प्रयास न करें।
- कैशिंग: यदि आप अक्सर समान IDs को संसाधित करते हैं, तो सफल प्रतिक्रियाओं (शीर्षक, फ़ाइल का आकार, अवधि, लिंक) को एक स्टोर में कैश करें और अपनी स्वयं की रिटेंशन सेट करें। आवश्यकतानुसार फिर से मान्य करें।
- फ़ाइल नाम: वीडियो शीर्षक में ऐसे वर्ण हो सकते हैं जो फ़ाइल सिस्टम के लिए उपयुक्त नहीं हैं। सहेजने से पहले साफ करें।
- इकाइयाँ: फ़ाइल का आकार बाइट्स में है; अवधि सेकंड में है (फ्लोट)। प्रदर्शित करने से पहले परिवर्तित करें।
- लंबाई गार्ड: लंबे वीडियो पर बर्बाद किए गए काम से बचने के लिए लगभग 5 मिनट के आसपास अपनी सीमा लागू करें।
MCP के माध्यम से AI एजेंटों से API का उपयोग करना
आप Zyla के MCP हब का उपयोग करके MCP-संगत उपकरणों से उसी एंडपॉइंट को कॉल कर सकते हैं (Claude Code, Cursor, Windsurf, आदि)। अपने क्लाइंट को MCP बेस का उपयोग करने के लिए कॉन्फ़िगर करें और अपनी API कुंजी शामिल करें:
- MCP बेस: https://mcp.zylalabs.com/mcp?apikey=YOUR_API_KEY
- आप अभी भी उसी संसाधन URL पर GET जारी करेंगे: https://zylalabs.com/api/1812/youtube-video-to-audio-api/5870/get-audio?id=p-Z3YrHJ1sU
- अपने उपकरण के HTTP कॉल कॉन्फ़िगरेशन में Authorization: Bearer YOUR_API_KEY हेडर बनाए रखें।
पर्यावरण सेटअप और क्लाइंट विवरण के लिए, MCP दस्तावेज़ देखें।
सामान्य पैटर्न और वास्तविक दुनिया के उपयोग के मामले
- ट्रांसक्रिप्शन के लिए बैच इनजेशन: कई छोटे IDs को MP3 में परिवर्तित करें, फ़ाइलों को अपनी स्पीच-टू-टेक्स्ट पाइपलाइन में कतारबद्ध करें, लागत के अनुमान के लिए अवधि और फ़ाइल का आकार संलग्न करें।
- ऑडियो पूर्वावलोकन सेवा: प्लेबैक UI और कॉम्पैक्ट ऑडियो कार्ड को शक्ति देने के लिए अपने DB में लिंक, शीर्षक और अवधि संग्रहीत करें।
- स्वचालित क्लिपिंग: छोटे फ़ॉर्म क्लिप के लिए MP3 खींचें और उन्हें ऑडियो सामान्यीकरण या मौन ट्रिमिंग के माध्यम से चलाएँ।
- आंतरिक सामग्री आर्काइविंग: विशिष्ट निर्माता चैनलों के लिए, IDs को पार्स करें, परिवर्तित करें, और खोज के लिए मेटाडेटा के साथ प्रबंधित भंडारण में जमा करें।
समस्या निवारण और किनारे के मामले
- API से गैर-200 HTTP कोड: HTTP स्थिति और प्रतिक्रिया शरीर को लॉग करें; त्रुटियों पर JSON को अंधाधुंध पार्स न करें।
- स्थिति "ok" नहीं: इसे एक विफल रूपांतरण के रूप में मानें और लॉग या ऑपरेटरों के लिए msg को सतह पर लाएँ।
- अमान्य या अनुपस्थित id: सुनिश्चित करें कि आप केवल वीडियो ID स्ट्रिंग पास कर रहे हैं। सफाई आपकी जिम्मेदारी है।
- डाउनलोड विफल: पुनर्निर्देशों का पालन करें और MP3 फ़ेच पर पर्याप्त टाइमआउट की अनुमति दें; आंशिक विफलताओं को संग्रहीत करें और मेटाडेटा कॉल से अलग पुनः प्रयास करें।
- कोटा योजना: Zyla सदस्यता + कोटा का उपयोग करता है। अपने Zyla डैशबोर्ड में उपयोग की निगरानी करें और वर्तमान योजना विवरण के लिए API पृष्ठ की जांच करें।
सुरक्षा नोट्स
- स्रोत में API कुंजी को हार्डकोड न करें; पर्यावरण चर या गुप्त प्रबंधकों का उपयोग करें।
- अपने ऐप में रूपांतरण को ट्रिगर करने के लिए किसे सीमित करें। यदि एक वेबहुक या HTTP एंडपॉइंट को उजागर कर रहे हैं तो अनुरोधों की उत्पत्ति को मान्य करें।
- कुंजी के अंतिम 4 वर्णों को ही लॉग करें। लॉग या क्लाइंट-साइड कोड में कभी भी पूर्ण क्रेडेंशियल प्रिंट न करें।
शिपिंग से पहले परीक्षण चेकलिस्ट
- कम से कम तीन विभिन्न YouTube IDs (एक 5 मिनट के करीब और एक छोटा) के साथ परीक्षण करें।
- लिंक, शीर्षक, फ़ाइल का आकार, अवधि, स्थिति, msg के लिए JSON पार्सिंग और फ़ील्ड उपस्थिति की पुष्टि करें।
- पुनः प्रयासों और त्रुटियों की सतह की पुष्टि करने के लिए टाइमआउट और नेटवर्क विफलताओं का अनुकरण करें।
- सुनिश्चित करें कि शीर्षक से निकाले गए फ़ाइल नाम सभी तैनाती OS लक्ष्यों पर साफ हैं।
- एंड-टू-एंड चलाएँ: API कॉल, MP3 डाउनलोड, भंडारण, और कोई भी डाउनस्ट्रीम प्रोसेसिंग (जैसे, ट्रांसक्रिप्शन)।
अगला कहाँ जाना है
अधिक ऑडियो और सामग्री उपकरणों का अन्वेषण करें Zyla के Youtube Video to Audio API पृष्ठ और Zyla API Hub का बाकी हिस्सा। एक खाता, एक कुंजी, ऑडियो, AI, समृद्धि और अधिक जैसी श्रेणियों में लगातार हेडर।
FAQ
1) मुझे ऑडियो प्राप्त करने के लिए कौन सा पैरामीटर पास करना है?
YouTube वीडियो ID को id क्वेरी पैरामीटर के माध्यम से पास करें। उदाहरण: id=p-Z3YrHJ1sU.
2) मैं प्रमाणीकरण कैसे करता हूँ?
zylalabs.com एंडपॉइंट्स के लिए अनुरोध हेडर में Authorization: Bearer YOUR_API_KEY शामिल करें।
3) मुझे क्या आउटपुट मिलता है?
एक JSON ऑब्जेक्ट जिसमें लिंक (प्रत्यक्ष MP3 URL), शीर्षक, फ़ाइल का आकार (बाइट्स), प्रगति (पूर्ण होने पर 100), अवधि (सेकंड), स्थिति, और msg शामिल हैं।
4) क्या वीडियो की लंबाई पर कोई सीमा है?
हाँ। यह एंडपॉइंट लगभग 5 मिनट या उससे कम वीडियो के लिए है।
5) बिलिंग कैसे संभाली जाती है?
Zyla सदस्यता + कोटा (पे-पर-कॉल नहीं) का उपयोग करता है। आपके पहले API के लिए, आपको आमतौर पर 7-दिन का परीक्षण या 50 अनुरोध मिलते हैं। कोई मुफ्त योजना नहीं है; वर्तमान विकल्पों के लिए API पृष्ठ की जांच करें।
अब अपनी एकीकरण को शिप करें: मिनटों में अपनी API कुंजी प्राप्त करें और एंडपॉइंट को कॉल करना शुरू करें। यहाँ अपना खाता बनाने के लिए: पंजीकरण करें. फिर Youtube Video to Audio API पृष्ठ पर जाएं, सदस्यता लें, और अपने PHP कोड में प्रमाणीकरण हेडर को प्लग करें।