Для получения чистого Markdown любой страницы добавьте .md к URL страницы.
Для полного индекса документации см. https://api.vega.chat/docs/llms.txt.
Для полного содержания документации см. https://api.vega.chat/docs/llms-full.txt.
Для интеграции AI‑клиентов (Claude Code, Cursor и др.) подключитесь к серверу MCP по адресу https://api.vega.chat/docs/_mcp/server.

Ввод видео

MD версия

VEGA поддерживает отправку видеофайлов совместимым моделям через API. Это руководство покажет, как работать с видео, используя наш API.

VEGA поддерживает как прямые URL, так и data URL, закодированные в base64, для видео:

  • URL: Эффективно для публично доступных видео, так как не требует локального кодирования
  • Data URL в base64: Требуется для локальных файлов или приватных видео, которые недоступны публично

Важно: Поддержка URL видео различается у провайдеров. VEGA отправляет URL видео только тем провайдерам, которые явно поддерживают их. Например, Google Gemini в AI Studio поддерживает только ссылки YouTube (не Vertex AI).

Только API: Ввод видео в настоящее время поддерживается только через API. Загрузка видео недоступна в интерфейсе чата VEGA на данный момент.

Ввод видео

Запросы с видеофайлами к совместимым моделям доступны через API /api/v1/chat/completions с типом содержимого video_url. Параметр url может быть как обычным URL, так и data URL, закодированным в base64. Обратите внимание, что только модели с возможностями обработки видео смогут обработать такие запросы.

Вы можете искать модели, поддерживающие видео, отфильтровав по модальности ввода видео на нашей странице моделей.

Использование URL видео

Вот как отправить видео, используя URL. Обратите внимание, что для Google Gemini в AI Studio поддерживаются только ссылки YouTube:

typescript
import { OpenRouter } from '@openrouter/sdk';

const client = new OpenRouter({
  apiKey: '{{API_KEY_REF}}',
});

const result = await client.chat.send({
  model: "{{MODEL}}",
  messages: [
    {
      role: "user",
      content: [
        {
          type: "text",
          text: "Please describe what's happening in this video.",
        },
        {
          type: "video_url",
          videoUrl: {
            url: "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
          },
        },
      ],
    },
  ],
  stream: false,
});

console.log(result);
python
import requests
import json

url = "https://api.vega.chat/api/v1/chat/completions"
headers = {
    "Authorization": f"Bearer {API_KEY_REF}",
    "Content-Type": "application/json"
}

messages = [
    {
        "role": "user",
        "content": [
            {
                "type": "text",
                "text": "Please describe what's happening in this video."
            },
            {
                "type": "video_url",
                "video_url": {
                    "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
                }
            }
        ]
    }
]

payload = {
    "model": "{{MODEL}}",
    "messages": messages
}

response = requests.post(url, headers=headers, json=payload)
print(response.json())
typescript
const response = await fetch("https://api.vega.chat/api/v1/chat/completions", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${API_KEY_REF}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "{{MODEL}}",
    messages: [
      {
        role: "user",
        content: [
          {
            type: "text",
            text: "Please describe what's happening in this video.",
          },
          {
            type: "video_url",
            video_url: {
              url: "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
            },
          },
        ],
      },
    ],
  }),
});

const data = await response.json();
console.log(data);

Использование видео, закодированных в Base64

Для локально хранимых видео вы можете отправлять их, используя кодирование base64 в виде data URL:

typescript
import { OpenRouter } from '@openrouter/sdk';
import * as fs from 'fs';

const client = new OpenRouter({
  apiKey: '{{API_KEY_REF}}',
});

async function encodeVideoToBase64(videoPath: string): Promise<string> {
  const videoBuffer = await fs.promises.readFile(videoPath);
  const base64Video = videoBuffer.toString('base64');
  return `data:video/mp4;base64,${base64Video}`;
}

// Read and encode the video
const videoPath = 'path/to/your/video.mp4';
const base64Video = await encodeVideoToBase64(videoPath);

const result = await client.chat.send({
  model: '{{MODEL}}',
  messages: [
    {
      role: 'user',
      content: [
        {
          type: 'text',
          text: "What's in this video?",
        },
        {
          type: 'video_url',
          videoUrl: {
            url: base64Video,
          },
        },
      ],
    },
  ],
  stream: false,
});

console.log(result);
python
import requests
import json
import base64
from pathlib import Path

def encode_video_to_base64(video_path):
    with open(video_path, "rb") as video_file:
        return base64.b64encode(video_file.read()).decode('utf-8')

url = "https://api.vega.chat/api/v1/chat/completions"
headers = {
    "Authorization": f"Bearer {API_KEY_REF}",
    "Content-Type": "application/json"
}

# Read and encode the video
video_path = "path/to/your/video.mp4"
base64_video = encode_video_to_base64(video_path)
data_url = f"data:video/mp4;base64,{base64_video}"

messages = [
    {
        "role": "user",
        "content": [
            {
                "type": "text",
                "text": "What's in this video?"
            },
            {
                "type": "video_url",
                "video_url": {
                    "url": data_url
                }
            }
        ]
    }
]

payload = {
    "model": "{{MODEL}}",
    "messages": messages
}

response = requests.post(url, headers=headers, json=payload)
print(response.json())
typescript
import * as fs from 'fs';

async function encodeVideoToBase64(videoPath: string): Promise<string> {
  const videoBuffer = await fs.promises.readFile(videoPath);
  const base64Video = videoBuffer.toString('base64');
  return `data:video/mp4;base64,${base64Video}`;
}

// Read and encode the video
const videoPath = 'path/to/your/video.mp4';
const base64Video = await encodeVideoToBase64(videoPath);

const response = await fetch('https://api.vega.chat/api/v1/chat/completions', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${API_KEY_REF}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    model: '{{MODEL}}',
    messages: [
      {
        role: 'user',
        content: [
          {
            type: 'text',
            text: "What's in this video?",
          },
          {
            type: 'video_url',
            video_url: {
              url: base64Video,
            },
          },
        ],
      },
    ],
  }),
});

const data = await response.json();
console.log(data);

Поддерживаемые форматы видео

VEGA поддерживает следующие форматы видео:

  • video/mp4
  • video/mpeg
  • video/mov
  • video/webm

Распространённые сценарии использования

Видео ввод открывает широкий спектр применений:

  • Суммирование видео: Генерация текстовых резюме видеоконтента
  • Распознавание объектов и действий: Идентификация объектов, людей и действий в видео
  • Понимание сцены: Описание обстановки, окружения и контекста
  • Анализ спорта: Анализ игрового процесса, движений и тактики
  • Наблюдение: Мониторинг и анализ видеоматериалов наблюдения
  • Образовательный контент: Анализ обучающих видео и предоставление выводов

Лучшие практики

Учёт размера файлов

Видеофайлы могут быть большими, что влияет как на время загрузки, так и на стоимость обработки:

  • Сжимайте видео по возможности, чтобы уменьшить размер файла без значительной потери качества
  • Обрезайте видео, оставляя только релевантные сегменты
  • Учитывайте разрешение: Низкое разрешение (например, 720p вместо 4K) уменьшает размер файла, оставаясь пригодным для большинства задач анализа
  • Частота кадров: Низкая частота кадров может уменьшить размер файла для видео, где высокая временная разрешающая способность не критична

Оптимальная длительность видео

Разные модели могут иметь разные ограничения по длительности видео:

  • Проверьте документацию модели на предмет максимальной длительности видео
  • Для длинных видео рассмотрите возможность разбивки на более короткие сегменты
  • Сосредоточьтесь на ключевых моментах, а не отправляйте весь длительный контент

Компромисс между качеством и размером

Сбалансируйте качество видео с практическими соображениями:

  • Высокое качество (1080p+, высокий битрейт): Лучшее для детального визуального анализа, обнаружения объектов, распознавания текста
  • Среднее качество (720p, умеренный битрейт): Подходит для большинства общих задач анализа
  • Низкое качество (480p, низкий битрейт): Приемлемо для базового понимания сцены и распознавания действий

Специфическая поддержка URL видео у провайдеров

Поддержка URL видео значительно различается у провайдеров:

  • Google Gemini (AI Studio): Поддерживает только ссылки YouTube (например, https://www.youtube.com/watch?v=...)
  • Google Gemini (Vertex AI): Не поддерживает URL видео — используйте data URL, закодированные в base64
  • Другие провайдеры: Проверьте документацию модели на предмет поддержки URL видео

Устранение неполадок

Видео не обрабатывается?

  • Убедитесь, что модель поддерживает ввод видео (проверьте, что input_modalities включает "video")
  • Если используете URL видео, подтвердите, что провайдер поддерживает URL видео (см. раздел «Специфическая поддержка URL видео у провайдеров» выше)
  • Для Gemini в AI Studio убедитесь, что используете ссылку YouTube, а не прямой URL видеофайла
  • Если URL видео не работает, попробуйте вместо него использовать data URL, закодированный в base64
  • Проверьте, поддерживается ли формат видео
  • Убедитесь, что видеофайл не повреждён

Ошибки из‑за большого файла?

  • Сожмите видео, чтобы уменьшить размер файла
  • Уменьшите разрешение видео или частоту кадров
  • Обрежьте видео до более короткой длительности
  • Проверьте ограничения размера файла для конкретной модели
  • Рассмотрите возможность использования URL видео (если поддерживается провайдером) вместо кодирования base64 для больших файлов

Плохие результаты анализа?

  • Убедитесь, что качество видео достаточно для задачи
  • Дайте чёткие, конкретные запросы о том, что анализировать
  • Оцените, подходит ли длительность видео для модели
  • Убедитесь, что содержимое видео ясно видно и хорошо освещено.