Видео запросы
Отправляйте видеофайлы в модели, поддерживающие видео, через API AITUNNEL.
AITUNNEL поддерживает отправку видеофайлов в совместимые модели через API. Это руководство покажет вам, как работать с видео, используя наш API.
AITUNNEL поддерживает как прямые URL, так и base64-кодированные data URL для видео:
- URL: Эффективно для публично доступных видео, так как не требует локального кодирования
- Base64 Data URL: Требуется для локальных файлов или приватных видео, которые не являются публично доступными
Видео запросы
Запросы с видеофайлами к совместимым моделям доступны через API /v1/chat/completions с типом контента video_url. Параметр url может быть либо URL, либо base64-кодированным data URL. Обратите внимание, что только модели с возможностями обработки видео будут обрабатывать эти запросы.
Вы можете найти модели, поддерживающие видео, проверив поле input_modalities в информации о модели - оно должно включать "video".
Использование URL видео
Вот как отправить видео, используя URL. Обратите внимание, что для Google Gemini поддерживаются только ссылки YouTube:
import requests
import json
url = "https://api.aitunnel.ru/v1/chat/completions"
headers = {
"Authorization": "Bearer sk-aitunnel-xxx",
"Content-Type": "application/json"
}
messages = [
{
"role": "user",
"content": [
{
"type": "text",
"text": "Опиши, что происходит в этом видео."
},
{
"type": "video_url",
"video_url": {
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
}
}
]
}
]
payload = {
"model": "gemini-2.5-flash",
"messages": messages
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())const url = "https://api.aitunnel.ru/v1/chat/completions";
const headers = {
"Authorization": "Bearer sk-aitunnel-xxx",
"Content-Type": "application/json"
};
const messages = [
{
role: "user",
content: [
{
type: "text",
text: "Опиши, что происходит в этом видео."
},
{
type: "video_url",
video_url: {
url: "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
}
}
]
}
];
const payload = {
model: "gemini-2.5-flash",
messages: messages
};
const response = await fetch(url, {
method: "POST",
headers: headers,
body: JSON.stringify(payload)
});
const data = await response.json();
console.log(data);Использование видео в формате Base64
Для локально хранящихся видео вы можете отправить их, используя кодировку base64 в виде data URL:
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.aitunnel.ru/v1/chat/completions"
headers = {
"Authorization": "Bearer sk-aitunnel-xxx",
"Content-Type": "application/json"
}
# Читаем и кодируем видео
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": "Что происходит в этом видео?"
},
{
"type": "video_url",
"video_url": {
"url": data_url
}
}
]
}
]
payload = {
"model": "gemini-2.5-flash",
"messages": messages
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())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}`;
}
// Читаем и кодируем видео
const videoPath = 'path/to/your/video.mp4';
const base64Video = await encodeVideoToBase64(videoPath);
const url = "https://api.aitunnel.ru/v1/chat/completions";
const headers = {
"Authorization": "Bearer sk-aitunnel-xxx",
"Content-Type": "application/json"
};
const messages = [
{
role: "user",
content: [
{
type: "text",
text: "Что происходит в этом видео?"
},
{
type: "video_url",
video_url: {
url: base64Video
}
}
]
}
];
const payload = {
model: "gemini-2.5-flash",
messages: messages
};
const response = await fetch(url, {
method: "POST",
headers: headers,
body: JSON.stringify(payload)
});
const data = await response.json();
console.log(data);Поддерживаемые форматы видео
AITUNNEL поддерживает следующие форматы видео:
video/mp4video/mpegvideo/movvideo/webm
Типичные случаи использования
Видео-запросы открывают широкий спектр приложений:
- Суммаризация видео: Генерация текстовых сводок видеоконтента
- Распознавание объектов и действий: Определение объектов, людей и действий в видео
- Понимание сцен: Описание окружений, сред и контекстов
- Анализ спорта: Анализ игрового процесса, движений и тактики
- Видеонаблюдение: Мониторинг и анализ видеозаписей безопасности
- Образовательный контент: Анализ обучающих видео и предоставление инсайтов
Лучшие практики
Соображения по размеру файла
Видеофайлы могут быть большими, что влияет как на время загрузки, так и на стоимость обработки:
- Сжимайте видео когда это возможно, чтобы уменьшить размер файла без значительной потери качества
- Обрезайте видео чтобы включить только релевантные сегменты
- Учитывайте разрешение: Более низкие разрешения (например, 720p против 4K) уменьшают размер файла, сохраняя при этом пригодность для большинства задач анализа
- Частота кадров: Более низкая частота кадров может уменьшить размер файла для видео, где высокая временная разрешающая способность не критична
Оптимальная длина видео
Разные модели могут иметь разные ограничения на длительность видео:
- Проверьте документацию конкретной модели для максимальной длины видео
- Для длинных видео рассмотрите возможность разделения на более короткие сегменты
- Сосредоточьтесь на ключевых моментах, а не на отправке всего длинного контента
Компромиссы между качеством и размером
Балансируйте качество видео с практическими соображениями:
- Высокое качество (1080p+, высокий битрейт): Лучше всего для детального визуального анализа, обнаружения объектов, распознавания текста
- Среднее качество (720p, умеренный битрейт): Подходит для большинства общих задач анализа
- Низкое качество (480p, низкий битрейт): Приемлемо для базового понимания сцен и распознавания действий
Устранение неполадок
Видео не обрабатывается?
- Проверьте, что модель поддерживает видео-ввод (проверьте, что
input_modalitiesвключает"video") - Если URL видео не работает, попробуйте использовать base64-кодированный data URL вместо этого
- Проверьте, что формат видео поддерживается
- Убедитесь, что видеофайл не поврежден
Ошибки больших файлов?
- Сожмите видео, чтобы уменьшить размер файла
- Уменьшите разрешение видео или частоту кадров
- Обрежьте видео до более короткой длительности
- Проверьте ограничения размера файла для конкретной модели
- Рассмотрите использование URL видео (если поддерживается провайдером) вместо base64-кодирования для больших файлов
Плохие результаты анализа?
- Убедитесь, что качество видео достаточно для задачи
- Предоставьте четкие, конкретные промпты о том, что нужно проанализировать
- Рассмотрите, подходит ли длительность видео для модели
- Проверьте, что содержимое видео четко видно и хорошо освещено