Как использовать API Vidiome для автоматизации создания статей из видео

    ·9 мин чтения·Автор Vidiome Team
    Vidiome APIArticle AutomationDeveloper TutorialContent Automation

    Техническое руководство для разработчиков: используйте конечную точку POST /api/v1/articles Vidiome для автоматизации создания видео в статье в большом масштабе. Включены примеры Curl + Node.js.

    Публичный REST API Vidiome позволяет разработчикам программно автоматизировать весь конвейер преобразования видео в статью — браузер не требуется, загрузка вручную не требуется. Один запрос POST /api/v1/articles возвращает структурированную, оптимизированную для SEO статью блога из любого URL-адреса YouTube или видеофайла.

    В этом руководстве рассматриваются спецификация конечной точки, аутентификация, примеры кода в Curl и Node.js, шаблоны вариантов использования для пакетной обработки и интеграции CMS, а также диаграмма рабочего процесса автоматизации.

    Для кого предназначено это руководство

    Разработчики SaaS создают функции автоматизации контента для клиентов или внутренних инструментов. – Контент-агентства обрабатывают более 20 видео в неделю и вынуждены отказаться от ручного использования Vidiome.

    • Команды платформы интегрируют преобразование видео в статью в существующую CMS или рабочий процесс работы с контентом.
    • Стартапы, использующие возможности Vidiome как уровня инфраструктуры контента.

    Если вы являетесь индивидуальным создателем, а не разработчиком, Веб-приложение Vidiome — более быстрый путь — это руководство предназначено специально для программного использования API.

    Vidiome

    Turn your videos into SEO traffic machines

    Сгенерировать первую статью

    Кредитная карта не требуется · 120 бесплатных кредитов

    Предварительные условия

    • Учетная запись Vidiome с как минимум Начальным планом (для доступа к API требуется платный или пробный план)
    • Ваш ключ API Vidiome (находится в разделе Настройки учетной записи → Ключи API).
    • Базовое знание HTTP REST API и Curl или Node.js.

    Vidiome предоставляет 120 бесплатных кредитов при регистрации — вы можете протестировать рабочий процесс веб-приложения, прежде чем переходить к интеграции API.


    Обзор конечной точки: POST /api/v1/articles

    Конечная точка создания статьи Vidiome принимает источник видео и параметры генерации, а затем возвращает полный объект статьи.

    Запрос

    ПОСТ https://vidiome.com/api/v1/articles
    Тип контента: приложение/json
    Авторизация: носитель YOUR_API_KEY
    

    Тело запроса

    {
      "источник": {
        "type": "youtube_url",
        "url": "https://www.youtube.com/watch?v=XXXXXXXXXXX"
      },
      "поколение": {
        "язык": "ru",
        "focus_keyword": "как конвертировать видео YouTube в сообщение в блоге",
        "output_format": "уценка"
      }
    }
    

    объект source

    Поле Тип Требуется Описание
    тип строка Да "youtube_url" или "file_upload"
    url строка Требуется, если type = youtube_url Полный URL-адрес видео YouTube
    file_id строка Требуется, если type = file_upload" Идентификатор файла из предыдущей загрузки /api/v1/files

    объект генерации

    Поле Тип Требуется Описание
    язык строка Да Код ISO 639-1. Поддерживаются: en, fr, es, pt, de, ru, hi, uk, id, tr
    focus_keyword строка Нет Целевое ключевое слово SEO — улучшает H1 и мета-выравнивание
    выходной_формат строка Нет "markdown" (по умолчанию) или "html"

    Ответ

    {
      "id": "art_01HZXXX",
      "статус": "завершено",
      "created_at": "2026-05-15T10:23:41Z",
      "processing_time_секунды": 187,
      "credits_used": 12,
      "статья": {
        "title": "Как конвертировать видео YouTube в публикацию в блоге за 5 минут",
        "meta_description": "Vidiome преобразует любой URL-адрес YouTube в структурированную SEO-запись в блоге менее чем за 5 минут. Пошаговое руководство с транскрипцией Whisper с точностью 95%+.",
        "content": "# Как конвертировать видео YouTube...\n\n## Что вам понадобится\n...",
        "word_count": 1247,
        "язык": "ru",
        "focus_keyword": "как конвертировать видео YouTube в сообщение в блоге"
      },
      "расшифровка": {
        "text": "Привет всем, сегодня я хочу показать вам...",
        "сегменты": [
          { "start": 0.0, "end": 4.2, "text": "Привет всем, сегодня я хочу вам показать" },
          ...
        ]
      }
    }
    

    Значения статуса

    Статус Значение
    в очереди Запрос принят, обработка не началась
    обработка Выполняется транскрипция и/или создание статьи
    завершен Статья готова в ответном теле
    не удалось Ошибка обработки — см. поле «ошибка»

    Для асинхронного опроса используйте GET /api/v1/articles/{id} с возвращаемым идентификатором.


    Примеры кода

    локон

    Curl -X POST https://vidiome.com/api/v1/articles \
      -H "Тип контента: приложение/json" \
      -H "Авторизация: носитель YOUR_API_KEY" \
      -д '{
        "источник": {
          "type": "youtube_url",
          "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
        },
        "поколение": {
          "язык": "ru",
          "focus_keyword": "стратегия перепрофилирования контента",
          "output_format": "уценка"
        }
      }'
    

    Опрос для завершения:``` баш

    Замените art_01HZXXX идентификатором из первоначального ответа.

    curl -H "Авторизация: носитель YOUR_API_KEY"
    https://vidiome.com/api/v1/articles/art_01HZXXX

    
    ### Node.js (извлечение)
    
    ```Javascript
    const VIDIOME_API_KEY =process.env.VIDIOME_API_KEY;
    
    асинхронная функцияgenerateArticle(youtubeUrl, focusKeyword, язык = 'en') {
      // Шаг 1: Отправьте запрос на создание статьи
      const ответ = ожидайте выборки('https://vidiome.com/api/v1/articles', {
        метод: 'POST',
        заголовки: {
          «Тип контента»: «приложение/json»,
          'Авторизация': `Носитель ${VIDIOME_API_KEY}`,
        },
        тело: JSON.stringify({
          источник: {
            введите: 'youtube_url',
            URL: URL-адрес YouTube,
          },
          поколение: {
            язык,
            focus_keyword: ключевое слово фокуса,
            выходной_формат: 'уценка',
          },
        }),
      });
    
      константное задание = ожидание ответа.json();
    
      если (!response.ok) {
        throw new Error(`Ошибка Vidiome API: ${job.message}`);
      }
    
      // Шаг 2: Опрос до завершения
      return await pollUntilComplete(job.id);
    }
    
    асинхронная функция pollUntilComplete(articleId, maxAttempts = 30, интервалMs = 10000) {
      для (пусть попытка = 0; попытка <maxAttempts; попытка++) {
        дождитесь нового обещания (решить => setTimeout (решить, интервалMs));
    
        const res = await fetch(`https://vidiome.com/api/v1/articles/${articleId}`, {
          заголовки: { 'Авторизация': `Носитель ${VIDIOME_API_KEY}` },
        });
    
        константная статья = ожидание res.json();
    
        if (article.status === 'завершено') {
          вернуть товар;
        }
    
        if (article.status === 'не удалось') {
          throw new Error(`Ошибка генерации статьи: ${article.error}`);
        }
    
        console.log(`[Vidiome] Статус: ${article.status} (попытка ${attempt + 1}/${maxAttempts})`);
      }
    
      throw new Error('Vidiome: превышено время ожидания опроса');
    }
    
    // Использование
    const результат = ожидание генерирования статьи(
      'https://www.youtube.com/watch?v=XXXXXXXXXXX',
      «как перепрофилировать видеоконтент»
    );
    
    console.log(result.article.title);
    console.log(`Количество слов: ${result.article.word_count}`);
    console.log(`Использовано кредитов: ${result.credits_used}`);
    // Запись в файл, отправка в CMS и т. д.
    

    Схема рабочего процесса автоматизации

    Вот полная архитектура автоматизации типичного конвейера пакетной обработки с использованием Vidiome:

    ┌────────────────────────────────────────────────────────┐
    │ СЛОЙ ВИДЕОИСТОЧНИКА │
    │ Плейлист YouTube/канал RSS/видеотека CMS │
    └──────────────────────┬────────────────────────────────┘
                           │ URL-адреса видео/ссылки на файлы
                           ▼
    ┌────────────────────────────────────────────────────────┐
    │ СЛОЙ ОРКЕСТРАЦИИ │
    │ Задание Cron/триггер веб-перехватчика/n8n/Make.com │
    │ - Дедупликация (пропуск уже обработанных URL) │
    │ - Ограничение скорости (соблюдайте бюджет кредитов API) │
    │ - Управление очередью │
    └──────────────────────┬────────────────────────────────┘
                           │ POST /api/v1/articles
                           ▼
    ┌────────────────────────────────────────────────────────┐
    │ ВИДИОМ API │
    │ 1. Шепотная транскрипция (фрагменты по 60 секунд, 95%+ акк.) │
    │ 2. Формирование статьи LLM (структура + SEO) │
    │ 3. Возвращает: заголовок, мета, контент (MD/HTML), расшифровка │
    └──────────────────────┬────────────────────────────────┘
                           │ Готовый объект статьи
                           ▼
    ┌────────────────────────────────────────────────────────┐
    │ СЛОЙ ПОСТ-ОБРАБОТКИ │
    │ - Очередь на проверку человеком (необязательно, но рекомендуется) │
    │ - Внедрение внутренних ссылок (добавление ссылок к существующим сообщениям)│
    │ - Назначение избранных изображений │
    │ - Внедрение разметки схемы (статья JSON-LD) │
    └──────────────────────┬────────────────────────────────┘
                           │ Готовая к публикации статья
                           ▼
    ┌────────────────────────────────────────────────────────┐
    │ CMS / ПЛАТФОРМА │
    │ WordPress (REST API) / Ghost (API администратора) │
    │ CMS Webflow / Contentful / Sanity / Пользовательская база данных │
    └───────────────────────────────────────────────────────┘
    

    Варианты использования

    Пакетная обработка канала YouTube

    Обработайте бэк-каталог всего канала YouTube за один проход:```Javascript асинхронная функцияprocessYouTubeChannel(channelVideoUrls, options = {}) { константа { язык = 'эн', concurrency = 3, // максимальное количество параллельных запросов Vidiome layMs = 2000, // задержка между пакетами (ограничение скорости) } = варианты;

    константные результаты = [];

    // Обработка в пакетном режиме параллелизма for (пусть я = 0; я <channelVideoUrls.length; я += параллелизм) { const пакет = ChannelVideoUrls.slice (я, я + параллелизм);

    const пакетные результаты = ждут Promise.allSettled(
      пакетная карта(url =>generateArticle(url, '', язык))
    );
    
    результаты.push(...batchResults);
    console.log(`Обработано видео ${Math.min(i + concurrency,channelVideoUrls.length)}/${channelVideoUrls.length}`);
    
    if (i + concurrency <channelVideoUrls.length) {
      дождитесь нового обещания (решить => setTimeout (решить, задержкаMs));
    }
    

    }

    возврат результатов; }

    
    Канал со 100 видео, обработанный по 3 одновременным запросам: всего около 100 минут (в среднем 3 минуты на видео × 100 ÷ 3 одновременно).
    
    ### Интеграция с CMS (пример WordPress)
    
    После того, как Vidiome вернет статью, отправьте ее непосредственно в WordPress через REST API:
    
    ```Javascript
    асинхронная функция publicToWordPress(vidiomeArticle, wpConfig) {
      const {siteUrl, имя пользователя, appPassword} = wpConfig;
      константные учетные данные = Buffer.from(`${username}:${appPassword}`).toString('base64');
    
      const response = await fetch(`${siteUrl}/wp-json/wp/v2/posts`, {
        метод: 'POST',
        заголовки: {
          «Тип контента»: «приложение/json»,
          'Авторизация': `Базовые ${credentials}`,
        },
        тело: JSON.stringify({
          заголовок: vidiomeArticle.article.title,
          контент: vidiomeArticle.article.content, // формат HTML, рекомендуемый для WP
          отрывок: vidiomeArticle.article.meta_description,
          статус: 'черновик', // Всегда сначала черновик на рассмотрение человека
        }),
      });
    
      возвращение ожидания ответа.json();
    }
    

    Многоязычный пакет: одно видео, 10 языков

    Создайте одну и ту же статью на всех 10 поддерживаемых языках одновременно:

    const SUPPORTED_LANGUAGES = ['en', 'fr', 'es', 'pt', 'de', 'ru', 'hi', 'uk', 'id', 'tr'];
    
    асинхронная функцияgenerateMultilingual(youtubeUrl, focusKeywords = {}) {
      const запросы = SUPPORTED_LANGUAGES.map(lang =>
        генерировать статью(
          URL-адрес YouTube,
          focusKeywords[язык] || focusKeywords['en'] || '',
          язык
        )
      );
    
      // Запускаем все 10 языков параллельно
      const результаты = ждут Promise.allSettled(requests);
    
      return results.reduce((acc, result, index) => {
        const lang = SUPPORTED_LANGUAGES[индекс];
        if (result.status === 'выполнено') {
          акк[язык] = результат.значение;
        } еще {
          console.error(`Ошибка для ${lang}:`, result.reason);
        }
        возврат акк;
      }, {});
    }
    

    Это генерирует 10 языковых версий одного видео примерно за 5–8 минут (параллельная обработка).


    Ограничения ставок и кредитное бюджетирование

    План Ограничение скорости API Кредитов/месяц
    Бесплатно (120 кредитов) 2 запроса/мин 120 (единовременно)
    Стартер 10 запросов/мин По плану
    Про 30 запросов/мин По плану
    Агентство 60 запросов/мин По плану

    Потребление кредитов. Для каждого создания статьи используется 10–15 кредитов в зависимости от продолжительности видео. Для 10-минутного видео используется примерно 10 кредитов; 60-минутное видео требует примерно 15 кредитов.

    Рекомендуемый бюджет для пакетной обработки: оцените ceil(video_duration_mines / 4) + 10 кредитов на видео в качестве консервативного бюджета.


    Обработка ошибок

    API Vidiome использует стандартные коды состояния HTTP:

    Код Значение Действие
    200 Успех Ответ процесса
    400 Неверный запрос (неверный URL-адрес, неподдерживаемый язык и т. д.) Исправить параметры запроса
    401 Неверный или отсутствующий ключ API Проверьте заголовок авторизации
    402 Недостаточно кредитов Пополните счет или уменьшите размер пакета
    429 Превышен лимит скорости Внедрить экспоненциальную отсрочку
    500 Ошибка сервера Повторить попытку с экспоненциальной задержкой (максимум 3 попытки)

    Часто задаваемые вопросы

    Поддерживает ли API Vidiome загрузку файлов или только URL-адреса YouTube?

    API Vidiome поддерживает как URL-адреса YouTube, так и прямую загрузку файлов. Для загрузки файлов сначала вызовите POST /api/v1/files с вашим видеофайлом (MP4, MOV или WebM, до 2 ГБ), получите file_id, затем передайте этот file_id в POST /api/v1/articles с «type»: «file_upload». Это полезно для обработки видео, не размещенных на YouTube — записей вебинаров, видеороликов Loom, внутреннего обучающего контента и видеороликов, размещенных на Vimeo.### Как обрабатывать длинные видео (более 60 минут) через API?

    Vidiome обрабатывает видео длительностью до 4 часов через API. Для видео продолжительностью более 60 минут ответ API по умолчанию асинхронный – вы сразу получите идентификатор задания, а затем будете опрашивать GET /api/v1/articles/{id} каждые 15–30 секунд, пока статус не станет завершен. 90-минутное видео обычно обрабатывается за 6–9 минут. 60-секундная архитектура разделения звука Vidiome означает, что даже очень длинные видеоролики не вызывают проблем с тайм-аутом.

    Есть ли опция веб-перехватчика вместо опроса?

    Да. Vidiome поддерживает обратные вызовы веб-перехватчиков для завершения статьи. Добавьте поле «webhook_url» в тело запроса POST, указывающее на вашу конечную точку, и Vidiome отправит запрос POST с полным объектом статьи после завершения обработки, что устраняет необходимость в опросе. Полезная нагрузка веб-перехватчика идентична формату ответа GET /api/v1/articles/{id}.


    Следующие шаги

    Vidiome

    Turn your videos into SEO traffic machines

    Сгенерировать первую статью

    Кредитная карта не требуется · 120 бесплатных кредитов

    Больше статей

    ·14 мин чтения

    Полный контрольный список SEO-поиска AI на 2026 год: 25 действий для ранжирования в ChatGPT, Perplexity и Google

    25 конкретных оптимизаций структуры контента, упоминаний сущностей, JSON-LD, технического SEO и LLMs.txt для ранжирования в ChatGPT, Perplexity, обзорах Google AI и Claude.

    Читать далее
    ·8 мин чтения

    Как конвертировать видео TikTok в SEO-сообщения в блоге с помощью ИИ

    Видео TikTok не ранжируются в Google, а посты в блогах. Узнайте, как преобразовать контент TikTok в длинные SEO-статьи менее чем за 15 минут с помощью искусственного интеллекта.

    Читать далее
    ·10 мин чтения

    Copy.ai против Vidiome: что лучше для создания контента блога из видео?

    Copy.ai генерирует контент блога из текстовых подсказок. Vidiome генерирует его прямо из вашего видео. Для перепрофилирования видео разница в конвейерах делает Vidiome более быстрым и точным выбором.

    Читать далее