वीडियो से आर्टिकल जेनरेशन को स्वचालित करने के लिए Vidiome के एपीआई का उपयोग कैसे करें

    ·9 मिनट पढ़ें·द्वारा Vidiome Team
    Vidiome APIArticle AutomationDeveloper TutorialContent Automation

    डेवलपर्स के लिए तकनीकी ट्यूटोरियल: बड़े पैमाने पर वीडियो-टू-आर्टिकल पीढ़ी को स्वचालित करने के लिए Vidiome के POST /api/v1/articles एंडपॉइंट का उपयोग करें। कर्ल + नोड.जेएस उदाहरण शामिल हैं।

    Vidiome का REST API एक ही अनुरोध में किसी YouTube वीडियो को एक संरचित ब्लॉग आर्टिकल में बदल देता है। आप एक YouTube URL भेजते हैं, Vidiome वीडियो का ट्रांसक्रिप्ट पढ़ता है, LLM की मदद से आर्टिकल लिखता है और उसे JSON के रूप में लौटाता है: एक शीर्षक और सेक्शनों की एक सूची, जिनमें से हर सेक्शन का अपना H2 शीर्षक, सामग्री और टाइमस्टैम्प होते हैं।

    इस ट्यूटोरियल में ऑथेंटिकेशन, अनुरोध और रिस्पॉन्स का फ़ॉर्मैट, curl और Node.js के उदाहरण, बैच प्रोसेसिंग, WordPress पर प्रकाशन और वे सीमाएँ शामिल हैं जिनका आपको ध्यान रखना होगा।

    यह ट्यूटोरियल किसके लिए है

    • SaaS डेवलपर्स, जो क्लाइंट्स या आंतरिक टूल्स के लिए कंटेंट ऑटोमेशन फ़ीचर बना रहे हैं
    • कंटेंट एजेंसियाँ, जो हर हफ़्ते कई वीडियो प्रोसेस करती हैं और मैन्युअल चरणों से बचना चाहती हैं
    • प्लेटफ़ॉर्म टीमें, जो वीडियो-से-आर्टिकल को किसी मौजूदा CMS या कंटेंट वर्कफ़्लो से जोड़ रही हैं

    अगर आप डेवलपर नहीं बल्कि एक व्यक्तिगत क्रिएटर हैं, तो Vidiome वेब ऐप तेज़ रास्ता है। यह हर सेक्शन के लिए एक स्क्रीनशॉट भी लेता है, जो API नहीं करता।

    Vidiome

    Turn your videos into SEO traffic machines

    मेरा पहला लेख जनरेट करें

    क्रेडिट कार्ड की आवश्यकता नहीं · 120 मुफ़्त क्रेडिट

    ज़रूरी चीज़ें

    • पेड प्लान (Starter, Pro या Business) वाला Vidiome अकाउंट। फ़्री अकाउंट से आने वाले API अनुरोध 403 के साथ अस्वीकार कर दिए जाते हैं।
    • ऐप में प्रोफ़ाइल → API कुंजियाँ में बनाई गई API कुंजी। कुंजियाँ vdm_live_ से शुरू होती हैं। इन्हें गुप्त रखें: जिसके पास भी कुंजी है, वह आपके क्रेडिट खर्च कर सकता है।
    • ऐसा YouTube वीडियो जिसका ट्रांसक्रिप्ट (मैन्युअल या ऑटोमैटिक कैप्शन) उपलब्ध हो। API इसी ट्रांसक्रिप्ट से काम करता है।

    नए अकाउंट को प्लान चुनने से पहले वेब ऐप आज़माने के लिए 120 फ़्री क्रेडिट मिलते हैं।


    एंडपॉइंट: POST /api/v1/articles

    अनुरोध

    POST https://www.vidiome.com/api/v1/articles
    Content-Type: application/json
    x-api-key: vdm_live_YOUR_KEY
    

    Authorization: Bearer vdm_live_YOUR_KEY भी काम करता है।

    अनुरोध की बॉडी

    {
      "youtubeUrl": "https://www.youtube.com/watch?v=XXXXXXXXXXX",
      "language": "en"
    }
    
    फ़ील्ड टाइप ज़रूरी विवरण
    youtubeUrl string हाँ YouTube वीडियो का पूरा URL
    language string नहीं वह भाषा जिसमें आर्टिकल लिखा जाएगा: en, fr, es, pt, de, ru, hi, uk, id या tr। इसे स्पष्ट रूप से सेट करें: इसके बिना कोई भाषा तय नहीं होती

    पूरा अनुरोध बस इतना ही है। फ़ाइल अपलोड, आउटपुट फ़ॉर्मैट या कीवर्ड के लिए कोई पैरामीटर नहीं है।

    रिस्पॉन्स

    यह कॉल सिंक्रोनस है: जब तक Vidiome आर्टिकल बनाता है, कनेक्शन खुला रहता है, फिर पूरा परिणाम वापस आता है। वीडियो की लंबाई के अनुसार इसमें कुछ सेकंड से लेकर कुछ मिनट तक लग सकते हैं।

    {
      "id": "5b0c9c2e-6f1d-4d8a-9a57-2f1f3c1e8b21",
      "title": "How to Repurpose One Video into a Month of Content",
      "sections": [
        {
          "id": "a3f1…",
          "title": "Introduction: one video, many formats",
          "content": "Most creators publish a video and move on…\n\n### Why the transcript is only a starting point\n\n…",
          "startTime": 0,
          "endTime": 74,
          "images": []
        }
      ],
      "videoUrl": "https://www.youtube.com/watch?v=XXXXXXXXXXX",
      "videoId": "XXXXXXXXXXX",
      "language": "en",
      "creditsUsed": 40,
      "creditsRemaining": 460,
      "createdAt": "2026-09-26T10:23:41.000Z"
    }
    

    रिस्पॉन्स के बारे में कुछ ज़रूरी बातें:

    • sections पढ़ने के क्रम में आते हैं: एक परिचय, मुख्य सेक्शन, फिर निष्कर्ष। title सेक्शन का H2 है। content टेक्स्ट है, जिसमें H3 उपशीर्षकों के लिए ### वाली पंक्तियाँ, पैराग्राफ़ों के बीच खाली पंक्तियाँ, **बोल्ड** टेक्स्ट और - सूची आइटम होते हैं।
    • startTime / endTime सेकंड में होते हैं और बताते हैं कि हर सेक्शन वीडियो के किस हिस्से से लिया गया है। वीडियो को सही पल से एम्बेड करने के लिए यह उपयोगी है।
    • API के ज़रिए images हमेशा खाली रहता है। स्क्रीनशॉट वेब ऐप ब्राउज़र में लेता है। उन्हें जोड़ने के लिए आर्टिकल को Vidiome में खोलें और वहीं चुनें, या अपनी खुद की इमेज इस्तेमाल करें।
    • आर्टिकल आपके अकाउंट में सेव होता है (id)। यह आपके Vidiome डैशबोर्ड में दिखता है, जहाँ आप इसे एडिट कर सकते हैं।

    कोड उदाहरण

    curl

    curl -X POST https://www.vidiome.com/api/v1/articles \
      -H "Content-Type: application/json" \
      -H "x-api-key: $VIDIOME_API_KEY" \
      -d '{
        "youtubeUrl": "https://www.youtube.com/watch?v=XXXXXXXXXXX",
        "language": "en"
      }'
    

    Node.js (fetch)

    const VIDIOME_API_KEY = process.env.VIDIOME_API_KEY;
    
    async function generateArticle(youtubeUrl, language = 'en') {
      const response = await fetch('https://www.vidiome.com/api/v1/articles', {
        method: 'POST',
        headers: {
          'Content-Type': 'application/json',
          'x-api-key': VIDIOME_API_KEY,
        },
        body: JSON.stringify({ youtubeUrl, language }),
        // जेनरेशन में कुछ मिनट लग सकते हैं: क्लाइंट को पहले हार न मानने दें।
        signal: AbortSignal.timeout(6 * 60 * 1000),
      });
    
      const data = await response.json();
      if (!response.ok) {
        const error = new Error(`Vidiome API ${response.status}: ${data.error}`);
        error.status = response.status;
        error.retryAfter = Number(response.headers.get('retry-after')) || null;
        throw error;
      }
      return data;
    }
    
    // सेक्शनों को Markdown में बदलें (या अपने रेंडरर को दें)।
    function toMarkdown(article) {
      const body = article.sections
        .map((section) => `## ${section.title}\n\n${section.content}`)
        .join('\n\n');
      return `# ${article.title}\n\n${body}\n`;
    }
    
    const article = await generateArticle('https://www.youtube.com/watch?v=XXXXXXXXXXX');
    console.log(toMarkdown(article));
    console.log(`Credits used: ${article.creditsUsed}, left: ${article.creditsRemaining}`);
    

    ऑटोमेशन वर्कफ़्लो

    ┌─────────────────────────────────────────────────────────┐
    │  वीडियो स्रोत परत
    │  YouTube प्लेलिस्ट / चैनल / URL की सूची
    └──────────────────────┬──────────────────────────────────┘
                           │  YouTube URL
                           ▼
    ┌─────────────────────────────────────────────────────────┐
    │  ऑर्केस्ट्रेशन परत
    │  Cron job / n8n / Make.com / आपकी अपनी क्यू
    │  - पहले से प्रोसेस हुए URL छोड़ें
    │  - प्रति कुंजी प्रति मिनट 10 अनुरोधों से नीचे रहें
    │  - 429 / 502 पर Retry-After के बाद दोबारा कोशिश करें
    └──────────────────────┬──────────────────────────────────┘
                           │  POST /api/v1/articles
                           ▼
    ┌─────────────────────────────────────────────────────────┐
    │  VIDIOME API
    │  1. YouTube वीडियो का ट्रांसक्रिप्ट लाना
    │  2. LLM से आर्टिकल लिखना
    │  3. अकाउंट में सेव करना, शीर्षक + सेक्शन लौटाना
    └──────────────────────┬──────────────────────────────────┘
                           │  आर्टिकल JSON
                           ▼
    ┌─────────────────────────────────────────────────────────┐
    │  पोस्ट-प्रोसेसिंग परत
    │  - सेक्शनों को HTML या Markdown में बदलना
    │  - मानवीय समीक्षा (अनुशंसित)
    │  - इमेज, आंतरिक लिंक, meta description, schema
    └──────────────────────┬──────────────────────────────────┘
                           │  प्रकाशन के लिए तैयार आर्टिकल
                           ▼
    ┌─────────────────────────────────────────────────────────┐
    │  CMS / प्लेटफ़ॉर्म
    │  WordPress / Ghost / Webflow / Contentful / Sanity
    └─────────────────────────────────────────────────────────┘
    

    उपयोग के उदाहरण

    किसी YouTube चैनल की बैच प्रोसेसिंग

    हर API कुंजी प्रति मिनट 10 अनुरोधों तक सीमित है। चूँकि हर अनुरोध तब तक खुला रहता है जब तक उसका आर्टिकल तैयार न हो जाए, इसलिए कुछ ही समानांतर अनुरोध काफ़ी हैं:

    async function processVideos(urls, { language = 'en', concurrency = 2 } = {}) {
      const results = [];
      const queue = [...urls];
    
      async function worker() {
        while (queue.length > 0) {
          const url = queue.shift();
          try {
            results.push({ url, article: await generateArticle(url, language) });
          } catch (error) {
            if (error.status === 429 && error.retryAfter) {
              await new Promise((r) => setTimeout(r, error.retryAfter * 1000));
              queue.push(url); // बाद में दोबारा कोशिश करें
            } else {
              results.push({ url, error: error.message });
            }
          }
        }
      }
    
      await Promise.all(Array.from({ length: concurrency }, worker));
      return results;
    }
    

    402 मिलने पर बैच रोक दें: अगले वीडियो के लिए आपका क्रेडिट बैलेंस कम है।

    WordPress पर प्रकाशित करना

    Vidiome HTML नहीं, सेक्शन लौटाता है, इसलिए पहले उन्हें बदलें। marked जैसी Markdown लाइब्रेरी यह काम कर देती है, या आप कन्वर्ज़न को न्यूनतम रख सकते हैं:

    import { marked } from 'marked';
    
    async function publishToWordPress(article, { siteUrl, username, appPassword }) {
      const credentials = Buffer.from(`${username}:${appPassword}`).toString('base64');
      const html = marked.parse(
        article.sections.map((s) => `## ${s.title}\n\n${s.content}`).join('\n\n')
      );
    
      const response = await fetch(`${siteUrl}/wp-json/wp/v2/posts`, {
        method: 'POST',
        headers: {
          'Content-Type': 'application/json',
          'Authorization': `Basic ${credentials}`,
        },
        body: JSON.stringify({
          title: article.title,
          content: html,
          status: 'draft', // प्रकाशित करने से पहले समीक्षा करें
        }),
      });
    
      return response.json();
    }
    

    एक वीडियो, कई भाषाएँ

    हर भाषा के लिए एक अनुरोध भेजें। हर अनुरोध एक अलग जेनरेशन है और किसी भी अन्य जेनरेशन की तरह क्रेडिट खर्च करता है:

    const LANGUAGES = ['en', 'fr', 'es', 'de'];
    
    async function generateInLanguages(youtubeUrl) {
      const versions = {};
      for (const language of LANGUAGES) {
        versions[language] = await generateArticle(youtubeUrl, language);
      }
      return versions;
    }
    

    सीमाएँ और क्रेडिट

    • रेट लिमिट: हर पेड प्लान पर प्रति API कुंजी प्रति मिनट 10 अनुरोध। इससे ज़्यादा होने पर आपको Retry-After हेडर (सेकंड में) के साथ 429 मिलेगा।
    • अवधि: Vidiome की ओर से हर अनुरोध अधिकतम 5 मिनट तक चल सकता है। बहुत लंबे वीडियो इस समय में फ़िट न हों, यह संभव है; अपने वर्कफ़्लो को बाँटें या उनके लिए वेब ऐप इस्तेमाल करें।
    • क्रेडिट: API का शुल्क वेब ऐप जैसा ही है, मौजूदा दर पर वीडियो के प्रति मिनट 4 क्रेडिट और न्यूनतम 20 क्रेडिट (10 मिनट का वीडियो 40 क्रेडिट, 60 मिनट का वीडियो 240 क्रेडिट लेता है)। हर रिस्पॉन्स में creditsUsed और creditsRemaining बताए जाते हैं। प्लान और क्रेडिट पैक के लिए प्राइसिंग देखें।

    एरर हैंडलिंग

    एरर error फ़ील्ड वाले JSON के रूप में लौटते हैं।

    स्टेटस error क्या करें
    400 Invalid request body या invalid-youtube-url URL और भाषा कोड जाँचें
    401 Missing API key / Invalid or revoked API key x-api-key हेडर जाँचें
    402 insufficient-credits (required और available के साथ) क्रेडिट टॉप-अप करें या प्लान अपग्रेड करें
    403 api_access_requires_paid_plan पेड प्लान पर जाएँ
    404 no-captions वीडियो का ट्रांसक्रिप्ट नहीं है; कोई दूसरा वीडियो आज़माएँ
    429 रेट लिमिट, या transcript_provider_rate_limited Retry-After तक रुकें, फिर दोबारा कोशिश करें
    500 article_generation_failed एक बार दोबारा कोशिश करें; अगर फिर भी विफल हो, तो हमसे संपर्क करें
    502 transcript_provider_unavailable / llm_provider_error अस्थायी: कुछ देर बाद दोबारा कोशिश करें

    अक्सर पूछे जाने वाले प्रश्न

    क्या मैं YouTube URL की जगह वीडियो फ़ाइल भेज सकता हूँ?

    नहीं। API केवल YouTube URL स्वीकार करता है, और वीडियो का ट्रांसक्रिप्ट होना ज़रूरी है। MP4, MOV या WebM फ़ाइलों के लिए वेब ऐप इस्तेमाल करें: यह ऑडियो को ट्रांसक्राइब करता है और हर सेक्शन के लिए एक स्क्रीनशॉट भी लेता है।

    क्या कोई वेबहुक या स्टेटस एंडपॉइंट है?

    नहीं। अनुरोध सिंक्रोनस है और तैयार आर्टिकल लौटाता है। अगर आप कई वीडियो प्रोसेस करते हैं, तो कॉल्स को अपनी जॉब क्यू (cron job, n8n, Make.com, कोई worker) में रखें और परिणाम आते ही उन्हें सेव करें।

    API से बने आर्टिकल कहाँ जाते हैं?

    वे आपके Vidiome अकाउंट में सेव होते हैं, इसलिए आप उन्हें अपने डैशबोर्ड में पाएँगे। स्क्रीनशॉट जोड़ने, AI रीराइट से किसी हिस्से को ठीक करने या आर्टिकल को HTML या Markdown में एक्सपोर्ट करने का यह सबसे आसान तरीका है।


    अगले कदम

    संबंधित समाधान देखें

    वीडियो को बेहतर रैंक करने वाली लिखित सामग्री में बदलने के और तरीके जानें।

    Vidiome

    Turn your videos into SEO traffic machines

    मेरा पहला लेख जनरेट करें

    क्रेडिट कार्ड की आवश्यकता नहीं · 120 मुफ़्त क्रेडिट

    और लेख

    ·17 मिनट पढ़ें

    2026 के लिए संपूर्ण एआई सर्च एसईओ चेकलिस्ट: चैटजीपीटी, पर्प्लेक्सिटी और गूगल में रैंक करने के लिए 25 गतिविधियां

    ChatGPT, Perplexity, Google AI ओवरव्यू और क्लाउड में रैंक करने के लिए सामग्री संरचना, इकाई उल्लेख, JSON-LD, तकनीकी SEO और LLMs.txt में 25 ठोस अनुकूलन।

    और पढ़ें →
    ·10 मिनट पढ़ें

    एआई के साथ टिकटॉक वीडियो को एसईओ ब्लॉग पोस्ट में कैसे बदलें

    टिकटॉक वीडियो Google पर रैंक नहीं करते - ब्लॉग पोस्ट करते हैं। जानें कि एआई का उपयोग करके 15 मिनट से कम समय में अपनी टिकटॉक सामग्री को लंबे प्रारूप वाले एसईओ लेखों में कैसे परिवर्तित करें।

    और पढ़ें →
    ·12 मिनट पढ़ें

    Copy.ai बनाम Vidiome: वीडियो से ब्लॉग सामग्री बनाने के लिए कौन सा बेहतर है?

    Copy.ai टेक्स्ट प्रॉम्प्ट से ब्लॉग सामग्री उत्पन्न करता है। Vidiome इसे सीधे आपके वीडियो से उत्पन्न करता है। वीडियो पुनर्प्रयोजन के लिए, पाइपलाइन अंतर Vidiome को तेज़, अधिक सटीक विकल्प बनाता है।

    और पढ़ें →