So verwenden Sie die API von Vidiome, um die Artikelerstellung aus Videos zu automatisieren

    ·9 Min. Lesezeit·Von Vidiome Team
    Vidiome APIArticle AutomationDeveloper TutorialContent Automation

    Technisches Tutorial für Entwickler: Verwenden Sie den POST /api/v1/articles-Endpunkt von Vidiome, um die Video-zu-Artikel-Generierung im großen Maßstab zu automatisieren. Curl + Node.js-Beispiele enthalten.

    Mit der öffentlichen REST-API von Vidiome können Entwickler die gesamte Video-zu-Artikel-Pipeline programmgesteuert automatisieren – kein Browser erforderlich, keine manuellen Uploads. Eine einzelne „POST /api/v1/articles“-Anfrage gibt einen strukturierten, SEO-optimierten Blog-Artikel von einer beliebigen YouTube-URL oder Videodatei zurück.

    Dieses Tutorial behandelt die Endpunktspezifikation, Authentifizierung, Codebeispiele in Curl und Node.js, Anwendungsfallmuster für Stapelverarbeitung und CMS-Integration sowie ein Automatisierungs-Workflow-Diagramm.

    Für wen dieses Tutorial gedacht ist

    • SaaS-Entwickler, die Content-Automatisierungsfunktionen für Kunden oder interne Tools erstellen
    • Content-Agenturen verarbeiten mehr als 20 Videos pro Woche und müssen die manuelle Nutzung von Vidiome eliminieren
    • Plattformteams, die Video-to-Article in ein bestehendes CMS oder einen Content-Workflow integrieren
    • Startups, die auf den Fähigkeiten von Vidiome als Content-Infrastrukturschicht aufbauen

    Wenn Sie ein einzelner Ersteller und kein Entwickler sind, ist die Vidiome-Web-App der schnellere Weg – dieses Tutorial ist speziell für die programmgesteuerte API-Nutzung gedacht.

    Vidiome

    Turn your videos into SEO traffic machines

    Meinen ersten Artikel generieren

    Keine Kreditkarte erforderlich · 120 Gratis-Credits

    Voraussetzungen

    • Ein Vidiome-Konto mit mindestens Starter-Plan (API-Zugriff erfordert einen kostenpflichtigen Plan oder einen Testplan)
    • Ihr Vidiome-API-Schlüssel (zu finden in Kontoeinstellungen → API-Schlüssel)
    • Grundlegende Vertrautheit mit HTTP-REST-APIs und entweder Curl oder Node.js

    Vidiome gewährt 120 kostenlose Credits bei der Anmeldung – Sie können den Web-App-Workflow testen, bevor Sie sich für die API-Integration entscheiden.


    Endpunktübersicht: POST /api/v1/articles

    Der Artikelgenerierungsendpunkt von Vidiome akzeptiert eine Videoquelle und Generierungsparameter und gibt dann ein vollständiges Artikelobjekt zurück.

    Anfrage

    „ POST https://vidiome.com/api/v1/articles Inhaltstyp: application/json Autorisierung: Inhaber YOUR_API_KEY „

    Anforderungstext

    „json { „Quelle“: { „type“: „youtube_url“, „URL“: „https://www.youtube.com/watch?v=XXXXXXXXXXX“ }, „Generation“: { "Sprache": "en", „focus_keyword“: „So konvertieren Sie YouTube-Videos in Blogbeiträge“, „output_format“: „markdown“ } } „

    „Quelle“-Objekt

    Feld Geben Sie ein Erforderlich Beschreibung
    „Typ“ Zeichenfolge Ja „youtube_url“ oder „file_upload“
    URL Zeichenfolge Erforderlich, wenn type = youtube_url Vollständige YouTube-Video-URL
    file_id Zeichenfolge Erforderlich, wenn Typ = „file_upload“ Datei-ID aus einem vorherigen „/api/v1/files“-Upload

    „Generierungs“-Objekt

    Feld Geben Sie ein Erforderlich Beschreibung
    „Sprache“ Zeichenfolge Ja ISO 639-1-Code. Unterstützt: „en“, „fr“, „es“, „pt“, „de“, „ru“, „hi“, „uk“, „id“, „tr“
    focus_keyword Zeichenfolge Nein Ziel-SEO-Keyword – verbessert H1- und Meta-Ausrichtung
    Ausgabeformat Zeichenfolge Nein „markdown“ (Standard) oder „html“

    Antwort

    „json { „id“: „art_01HZXXX“, „Status“: „abgeschlossen“, „created_at“: „2026-05-15T10:23:41Z“, „processing_time_seconds“: 187, „credits_used“: 12, „Artikel“: { „title“: „So konvertieren Sie ein YouTube-Video in 5 Minuten in einen Blog-Beitrag“, „meta_description“: „Vidiome wandelt jede YouTube-URL in weniger als 5 Minuten in einen strukturierten SEO-Blogbeitrag um. Schritt-für-Schritt-Anleitung mit Whisper-Transkription mit einer Genauigkeit von über 95 %.“, "content": "# So konvertieren Sie ein YouTube-Video...\n\n## Was Sie brauchen\n...", „word_count“: 1247, "Sprache": "en", „focus_keyword“: „So konvertieren Sie YouTube-Videos in Blogbeiträge“ }, „Transkript“: { „text“: „Hallo zusammen, heute möchte ich es euch zeigen...“, „Segmente“: [ { „start“: 0.0, „end“: 4.2, „text“: „Hallo zusammen, heute möchte ich es euch zeigen“ }, ... ] } } „

    Statuswerte

    Status Bedeutung
    „in der Warteschlange“ Anfrage angenommen, Verarbeitung nicht gestartet
    „Verarbeitung“ Transkription und/oder Artikelerstellung in Bearbeitung
    „abgeschlossen“ Artikel im Antworttext bereit
    „fehlgeschlagen“ Verarbeitungsfehler – siehe Feld „Fehler“

    Für asynchrone Abfragen verwenden Sie „GET /api/v1/articles/{id}“ mit der zurückgegebenen „id“.


    Codebeispiele

    Locken

    „Bash curl -X POST https://vidiome.com/api/v1/articles
    -H „Inhaltstyp: application/json“
    -H „Autorisierung: Inhaber YOUR_API_KEY“
    -d '{ „Quelle“: { „type“: „youtube_url“, „url“: „https://www.youtube.com/watch?v=dQw4w9WgXcQ“ }, „Generation“: { "Sprache": "en", „focus_keyword“: „Strategie zur Neuverwendung von Inhalten“, „output_format“: „markdown“ } }' „

    Umfrage zum Abschluss:„Bash

    Ersetzen Sie art_01HZXXX durch die ID aus der ersten Antwort

    curl -H "Autorisierung: Inhaber YOUR_API_KEY"
    https://vidiome.com/api/v1/articles/art_01HZXXX

    Node.js (abrufen)

    „Javascript const VIDIOME_API_KEY = process.env.VIDIOME_API_KEY;

    asynchrone Funktion genericArticle(youtubeUrl, focusKeyword, language = 'en') { // Schritt 1: Anfrage zur Artikelgenerierung senden const Antwort = Warten auf fetch('https://vidiome.com/api/v1/articles', { Methode: 'POST', Überschriften: { 'Content-Type': 'application/json', 'Autorisierung': Bearer ${VIDIOME_API_KEY}, }, body: JSON.stringify({ Quelle: { Typ: 'youtube_url', URL: youtubeUrl, }, Generation: { Sprache, focus_keyword: focusKeyword, Ausgabeformat: 'Markdown', }, }), });

    const job = Warten auf Antwort.json();

    if (!response.ok) { throw new Error(Vidiome API error: ${job.message}); }

    // Schritt 2: Umfrage bis zum Abschluss return wait pollUntilComplete(job.id); }

    asynchrone Funktion pollUntilComplete(articleId, maxAttempts = 30, IntervalMs = 10000) { for (let versuche = 0; versuche < maxAttempts; versuche++) { warte auf neues Versprechen(resolve => setTimeout(resolve, IntervalMs));

    const res = waiting fetch(`https://vidiome.com/api/v1/articles/${articleId}`, {
      headers: { 'Authorization': `Bearer ${VIDIOME_API_KEY}` },
    });
    
    const Article = wait res.json();
    
    if (article.status === 'abgeschlossen') {
      Artikel zurücksenden;
    }
    
    if (article.status === 'failed') {
      throw new Error(`Artikelgenerierung fehlgeschlagen: ${article.error}`);
    }
    
    console.log(`[Vidiome] Status: ${article.status} (attempt ${attempt + 1}/${maxAttempts})`);
    

    }

    throw new Error('Vidiome: Polling-Timeout überschritten'); }

    // Nutzung const result = Warten auf genericArticle( „https://www.youtube.com/watch?v=XXXXXXXXXXX“, „Wie man Videoinhalte wiederverwendet“ );

    console.log(result.article.title); console.log(Wortanzahl: ${result.article.word_count}); console.log(Verwendete Credits: ${result.credits_used}); // In Datei schreiben, an CMS senden usw. „


    Automatisierungs-Workflow-Diagramm

    Hier ist die vollständige Automatisierungsarchitektur für eine typische Stapelverarbeitungspipeline mit Vidiome:

    „ ┌──────────────────────────── ─────────────────────────────┐ │ VIDEOQUELLENEBENE │ │ YouTube-Playlist / RSS-Feed / CMS-Videobibliothek │ └──────────────────────┬───── ─────────────────────────────┘ │ Video-URLs/Dateiverweise ▼ ┌──────────────────────────── ─────────────────────────────┐ │ ORCHESTRIERUNGSEBENE │ │ Cron-Job / Webhook-Trigger / n8n / Make.com │ │ - Deduplizierung (bereits verarbeitete URLs überspringen) │ │ - Ratenbegrenzung (API-Credits-Budget beachten) │ │ - Warteschlangenverwaltung │ └──────────────────────┬───── ─────────────────────────────┘ │ POST /api/v1/articles ▼ ┌──────────────────────────── ─────────────────────────────┐ │ VIDIOME-API │ │ 1. Flüstertranskription (60-Sekunden-Blöcke, 95 %+ Acc.) │ │ 2. LLM-Artikelgenerierung (Struktur + SEO) │ │ 3. Rückgabe: Titel, Meta, Inhalt (MD/HTML), Transkript │ └──────────────────────┬───── ─────────────────────────────┘ │ Abgeschlossenes Artikelobjekt ▼ ┌──────────────────────────── ─────────────────────────────┐ │ NACHVERARBEITUNGSEBENE │ │ – Warteschlange für menschliche Überprüfungen (optional, aber empfohlen) │ │ - Interne Link-Injektion (Hinzufügen von Links zu vorhandenen Beiträgen)│ │ - Hervorgehobene Bildzuordnung │ │ – Schema-Markup-Injektion (Artikel JSON-LD) │ └──────────────────────┬───── ─────────────────────────────┘ │ Veröffentlichungsfertiger Artikel ▼ ┌──────────────────────────── ─────────────────────────────┐ │ CMS / PLATTFORM │ │ WordPress (REST API) / Ghost (Admin API) │ │ Webflow CMS / Contentful / Sanity / Custom DB │ └──────────────────────────── ─────────────────────────────┘ „


    Anwendungsfälle

    Stapelverarbeitung eines YouTube-Kanals

    Verarbeiten Sie den gesamten Backkatalog eines YouTube-Kanals in einem Durchgang:„Javascript asynchrone Funktion ProcessYouTubeChannel(channelVideoUrls, options = {}) { const { language = 'en', Parallelität = 3, // maximale parallele Vidiome-Anfragen VerzögerungMs = 2000, // Verzögerung zwischen Stapeln (Ratenbegrenzung) } = Optionen;

    const results = [];

    // In Stapeln von „Parallelität“ verarbeiten for (let i = 0; i <channelVideoUrls.length; i += concurrency) { constbatch =channelVideoUrls.slice(i, i + concurrency);

    const batchResults = Warten auf Promise.allSettled(
      batch.map(url => genericArticle(url, '', Sprache))
    );
    
    results.push(...batchResults);
    console.log(`Verarbeitete ${Math.min(i + concurrency, channelVideoUrls.length)}/${channelVideoUrls.length} Videos`);
    
    if (i + concurrency <channelVideoUrls.length) {
      Warten auf neues Versprechen(resolve => setTimeout(resolve, delayMs));
    }
    

    }

    Ergebnisse zurückgeben; } „

    Ein Kanal mit 100 Videos, die bei 3 gleichzeitigen Anfragen verarbeitet wurden: insgesamt etwa 100 Minuten (durchschnittlich 3 Minuten pro Video × 100 ÷ 3 gleichzeitig).

    CMS-Integration (WordPress-Beispiel)

    Nachdem Vidiome den Artikel zurückgegeben hat, übertragen Sie ihn über die REST-API direkt an WordPress:

    „Javascript asynchrone Funktion publizToWordPress(vidiomeArticle, wpConfig) { const { siteUrl, Benutzername, appPassword } = wpConfig; const credentials = Buffer.from(${username}:${appPassword}).toString('base64');

    const Response =wait fetch(${siteUrl}/wp-json/wp/v2/posts, { Methode: 'POST', Überschriften: { 'Content-Type': 'application/json', 'Autorisierung': Basic ${credentials}, }, body: JSON.stringify({ Titel: vidiomeArticle.article.title, Inhalt: vidiomeArticle.article.content, // Für WP empfohlenes HTML-Format Auszug: vidiomeArticle.article.meta_description, Status: 'Entwurf', // Entwurf immer zuerst zur menschlichen Überprüfung }), });

    Rückkehr warte auf Antwort.json(); } „

    Mehrsprachiger Stapel: ein Video, 10 Sprachen

    Generieren Sie gleichzeitig den gleichen Artikel in allen 10 unterstützten Sprachen:

    „Javascript const SUPPORTED_LANGUAGES = ['en', 'fr', 'es', 'pt', 'de', 'ru', 'hi', 'uk', 'id', 'tr'];

    asynchrone Funktion genericMultilingual(youtubeUrl, focusKeywords = {}) { const request = SUPPORTED_LANGUAGES.map(lang => generierenArtikel( youtubeUrl, focusKeywords[lang] || focusKeywords['en'] || '', lang ) );

    // Alle 10 Sprachen parallel ausführen const results = waiting Promise.allSettled(requests);

    return results.reduce((acc, result, index) => { const lang = SUPPORTED_LANGUAGES[index]; if (result.status === 'erfüllt') { acc[lang] = result.value; } sonst { console.error(Fehlgeschlagen für ${lang}:, result.reason); } Rückgabe gemäß; }, {}); } „

    Dadurch werden 10 Sprachversionen eines einzelnen Videos in etwa 5–8 Minuten generiert (Parallelverarbeitung).


    Ratenlimits und Kreditbudgetierung

    Planen API-Ratenbegrenzung Credits/Monat
    Kostenlos (120 Credits) 2 Anforderungen/Min. 120 (einmalig)
    Anlasser 10 Anforderungen/min Pro Plan
    Pro 30 Anforderungen/min Pro Plan
    Agentur 60 Anforderungen/min Pro Plan

    Credit-Verbrauch: Jede Artikelgeneration verbraucht je nach Videolänge 10–15 Credits. Für ein 10-minütiges Video werden etwa 10 Credits benötigt; Für ein 60-minütiges Video werden etwa 15 Credits benötigt.

    Budgetempfehlung für die Stapelverarbeitung: Schätzen Sie „ceil(video_duration_minutes / 4) + 10“ Credits pro Video als konservatives Budget.


    Fehlerbehandlung

    Die Vidiome-API verwendet Standard-HTTP-Statuscodes:

    Code Bedeutung Aktion
    „200“ Erfolg Prozessantwort
    400 Ungültige Anfrage (falsche URL, nicht unterstützte Sprache usw.) Anforderungsparameter korrigieren
    401 Ungültiger oder fehlender API-Schlüssel Überprüfen Sie den Autorisierungsheader
    402 Unzureichende Credits Konto aufladen oder Batchgröße reduzieren
    429 Ratenlimit überschritten Exponentiellen Backoff implementieren
    „500“ Serverfehler Wiederholen Sie den Versuch mit exponentiellem Backoff (maximal 3 Versuche)

    Häufig gestellte Fragen

    Unterstützt die API von Vidiome das Hochladen von Dateien oder nur YouTube-URLs?

    Die API von Vidiome unterstützt sowohl YouTube-URLs als auch direkte Datei-Uploads. Rufen Sie zum Hochladen von Dateien zunächst „POST /api/v1/files“ mit Ihrer Videodatei (MP4, MOV oder WebM, bis zu 2 GB) auf, erhalten Sie eine „file_id“ und übergeben Sie diese „file_id“ dann an „POST /api/v1/articles“ mit „type“: „file_upload““. Dies ist nützlich für die Verarbeitung von Videos, die nicht auf YouTube gehostet werden – Webinar-Aufzeichnungen, Loom-Videos, interne Schulungsinhalte und von Vimeo gehostete Videos.### Wie gehe ich mit langen Videos (60+ Minuten) über die API um?

    Vidiome verarbeitet Videos mit einer Länge von bis zu 4 Stunden über die API. Bei Videos über 60 Minuten ist die API-Antwort standardmäßig asynchron – Sie erhalten sofort eine Job-ID und fragen dann alle 15–30 Sekunden „GET /api/v1/articles/{id}“ ab, bis der Status „abgeschlossen“ lautet. Ein 90-minütiges Video wird normalerweise in 6–9 Minuten verarbeitet. Dank der 60-Sekunden-Audio-Chunking-Architektur von Vidiome treten selbst bei sehr langen Videos keine Timeout-Probleme auf.

    Gibt es eine Webhook-Option anstelle von Polling?

    Ja. Vidiome unterstützt Webhook-Rückrufe zur Artikelvervollständigung. Fügen Sie Ihrem POST-Anfragetext ein „webhook_url“-Feld hinzu, das auf Ihren Endpunkt verweist, und Vidiome sendet nach Abschluss der Verarbeitung eine „POST“-Anfrage mit dem vollständigen Artikelobjekt – eine Abfrage ist nicht mehr erforderlich. Die Webhook-Nutzlast ist identisch mit dem Antwortformat „GET /api/v1/articles/{id}“.


    Nächste Schritte

    Vidiome

    Turn your videos into SEO traffic machines

    Meinen ersten Artikel generieren

    Keine Kreditkarte erforderlich · 120 Gratis-Credits