API нейросети Sora от компании Yes Ai предоставляет возможность интеграции функций генерации видео в любые приложения, веб-сайты или проекты.
Нейросеть Sora, разработанная компанией Open Ai, превосходит многих конкурентов в сфере создания видео по текстовым описаниям. Проект обладает значительным потенциалом, поэтому мы регулярно расширяем возможности API. Рекомендуем подписаться на наш канал в Телеграм, чтобы быть в курсе последних обновлений.
Для подачи заданий и отслеживания их статусов в нейросети Sora вам потребуется API-токен (ключ авторизации). Подробная инструкция по его получению доступна здесь.
Стоимость генерации видео зависит от входных параметров. Актуальную информацию можно получить через нашего бота. Мы настоятельно рекомендуем провести тестирование нейросети Sora перед интеграцией в ваш проект. Для получения дополнительной информации обращайтесь в нашу службу поддержки через мессенджер Telegram по адресу @yes_ai_support.
Более подробную информацию о возможностях нейросети Sora вы можете найти в нашей статье.
API нейросети Sora от Yes Ai предоставляет следующие функции
Создание видео по текстовому описанию — генерация видео на основании только текстовых промтах без использования референсных изображений.
Создание видео по референсному изображению — генерация видео, основываясь на предоставленном изображении.
Создание видео с использованием референсного изображения и текстового описания (промт) — комбинированный подход для более точной генерации видео.
Выбор продолжительности видео — настройка длины видео от 5 до 20 секунд.
Выбор анимационных эффектов — использование полного авторского набора эффектов от Open AI для придания видео уникальности.
Выбор разрешения видео — поддержка различных разрешений: 480p, 720p, 1080p.
Выбор ориентации видео — возможность создания видео в альбомной, квадратной или портретной ориентации.
Эти функции делают API Sora мощным инструментом для генерации качественного видео контента, адаптированного под ваши потребности.
Инструкция: подача задания на генерацию видео в нейросети Sora через API
POST https://api.yesai.su/v2/yesvideo/aniimage/sora
headers: { Content-Type: application/json, Authorization: Bearer }
Пример API запроса для подачи задания на генерацию видео в Sora
curl -X POST https://api.yesai.su/v2/yesvideo/aniimage/sora
-H "Authorization: Bearer <token>"
-H "Content-Type: application/json"
-d '{
"prompt": "котенок бежит",
"image_url": "https://yoururl.com/image1.jpeg",
"effect_id": 0,
"resolution": 480,
"dimensions": "9:16",
"duration": 15
}'
prompt = '' (опционально: Текстовое описание задания. Обязателен, если не указан image_url);
image_url = '' (опционально: Ссылка на изображение. Требуется, если не указан prompt);
effect_id = 0 (опционально, по умолчанию: 0: Идентификатор видеоэффекта). Доступные варианты:
0 — Без эффекта
1 — Воздушные шары
2 — Ручная работа
3 — Старая пленка
4 — Нуарный стиль
5 — Оригами
resolution = 480 (опционально, по умолчанию: 480: Разрешение видео. Возможные значения: 480, 720, 1080);
dimensions = '9:16' (опционально, по умолчанию: 1:1: Соотношение сторон видео). Допустимые параметры:
duration = 15 (опционально, по умолчанию: 5: Длительность анимации изображения в секундах). Допустимые значения:
['success' => false, 'message' => 'IMAGE_URL_IS_EMPTY'], 400
['success' => false, 'message' => 'IMAGE_URL_NOT_VALID'], 400
['success' => false, 'message' => 'IMAGE_FILE_SIZE_NOT_VALID'], 400
['success' => false, 'message' => 'IMAGE_MIME_TYPE_NOT_VALID'], 400
['success' => false, 'message' => 'PROMPT_IS_EMPTY'], 400
['success' => false, 'message' => 'PROMPT_NOT_VALID'], 400
['success' => false, 'message' => 'PROMPT_AND_IMAGE_URL_IS_EMPTY'], 400
['success' => false, 'message' => 'RESOLUTION_IS_EMPTY'], 400
['success' => false, 'message' => 'RESOLUTION_NOT_VALID'], 400
['success' => false, 'message' => 'DIMENSIONS_IS_EMPTY'], 400
['success' => false, 'message' => 'DIMENSIONS_NOT_VALID'], 400
['success' => false, 'message' => 'DURATION_IS_EMPTY'], 400
['success' => false, 'message' => 'DURATION_NOT_VALID'], 400
['success' => false, 'message' => 'EFFECT_ID_IS_EMPTY'], 400
['success' => false, 'message' => 'EFFECT_ID_NOT_VALID'], 400
['success' => false, 'message' => 'SETTINGS_IS_EMPTY'], 400
['success' => false, 'message' => 'SETTINGS_NOT_VALID'], 400
['success' => false, 'message' => 'UNAUTHORIZED'], 401
['success' => false, 'message' => 'IMAGE_NOT_FOUND'], 404
['success' => false, 'message' => 'USER_HAS_BEEN_BANNED'], 409
['success' => false, 'message' => 'USER_HAS_BEEN_DELETED'], 409
['success' => false, 'message' => 'NOT_ENOUGH_RPOINTS'], 409
['success' => false, 'message' => 'PROMPT_NSFW_WORDS'], 409
['success' => false, 'message' => 'PARAMETERS_IS_NOT_ALLOWED'], 409
['success' => false, 'message' => 'TASK_LIMIT_EXCEEDED'], 409
['success' => false, 'message' => 'TOO_MANY_REQUESTS'], 429
['success' => false, 'message' => 'INTERNAL_SERVER_ERROR'], 500
Формат ответа при успешной подаче нового задания через API Yes Ai:
['success' => true, 'message' => 'OK', 'results' => ['animation_data' => [ ... ]]], 200
"status": 0 ("status_description":"in queue") - задание в очереди (ожидайте)
"status": 1 ("status_description":"in progress") - задание в работе (ожидайте)
"status": 2 ("status_description":"completed") - задание выполнено (можно обрабатывать результат)
"status": 3 ("status_description":"rejected with error") - задание отклонено с ошибкой (проверьте описание причины отклонения из блоков "comment_ru" и "comment_en")
"status": 4 ("status_description":"rejected due to timeout") - задание отклонено по таймауту (следует подать задание повторно)
Ответ API в формате JSON при проверке статуса выполнения задания - пример
{
"success": true, // данные успешно получены
"message": "OK",
"results": {
"animation_data": {
"id": 15977, // уникальный ID задания в системе Yes Ai
"user_id": 1234567890, // ID пользователя, который подал задание
"tariff_id": 30, // тарифный план пользователя (0 - Demo, 5 - Micro, 10 - Start, 20 - Standard, 30 - VIP)
"type": 23, // тип выполненного задания, 23 - генерация видео в нейросети Sora
"styles": [],
"settings": {
"sora_resolution": 480,
"sora_dimensions": "1:1",
"sora_duration": 5,
"sora_effect_id": 0
},
"child_ids": [],
"parent_id": 0,
"photo_url": "",
"image_url": "https://yourdomain.com/photo1.jpeg", // ссылка с исходным изображением, которое отправил клиент
"audio_url": "",
"video_url": "",
"final_frame_url": "",
"result_url": "https://yesai.su/files/yesvideo/animations/1234567890_173457...", // результат выполнения задания в формате MP4, его необходимо скачать на свой сервер
"result_type": "video",
"result_data": {
"video_fps": 30, // количество кадров в секунду
"video_width": 480, // ширина видео в пикселях, которое является результатом выполнения задания
"video_height": 480, // высота видео в пикселях, которое является результатом выполнения задания
"video_duration": 5, // длительность видео в секундах
"video_durrange": 0
},
"comment_ru": "", // комментарий к заданию на русском языке, он заполняется только в том случае, если задание не удалось выполнить
"comment_en": "", // комментарий к заданию на английском языке, он заполняется только в том случае, если задание не удалось выполнить
"accounting": {
"total_cost": 1, // итоговая стоимость выполнения задания в условных единицах
"spent_points": 0, // количество ⭐️ баллов, которые были сняты с баланса за выполнение задания. Для Sora поле всегда будет равно 0, т.к. оплата производится в 🔅 монетах
"spent_rpoints": 1, // количество 🔅 монет, которые были сняты с баланса за выполнение задания
"spent_repost_points": 0,
"spent_balance": 0, // количество денег с основного баланса, которое было снято за выполнение задания. Для Sora поле всегда будет равно 0, т.к. оплата производится в 🔅 монетах
"spent_rbalance": 0, // количество денег с бонусного баланса, которое было снято за выполнение задания. Для Sora поле всегда будет равно 0, т.к. оплата производится в 🔅 монетах
"remaining_points": 1820, // остаток средств на балансе ⭐️ баллов после выполнения задания
"remaining_rpoints": 3574.3038666, // остаток средств на балансе 🔅 монет после выполнения задания
"remaining_repost_points": 0,
"remaining_balance": 0, // остаток средств на основном балансе после выполнения задания
"remaining_rbalance": 5019.31631 // остаток средств на бонусном балансе после выполнения задания
},
"language": "",
"prompt": "ваш промт на любом языке", // оригинальный текст промта, отправленного клиентом - не отображается, если не было отправлено при подаче задания
"prompt_en": "your prompt", // текст промта на английском языке - система Yes Ai производит автоматический перевод промтов клиентов
"status": 2, // статус задания, где 2 - успешное завершение
"status_description": "completed", // текстовое пояснение у статусу задания, где completed означает успешное завершение
"start_at": 1735095375, // unixtime, время начала выполнения задания
"finish_at": 1735095463, // unixtime, время завершения выполнения задания
"created_at": 1735095279, // unixtime, время подачи задания клиентом
"updated_at": 1735095463 // unixtime, время последнего обновления статуса задания
}
}
}
Процедура обработки завершённых задач по генерации видео (Sora), поданных через API Yes Ai
После успешного выполнения задания по анимации изображения вы получите уникальную ссылку для скачивания видео в формате MP4, которое будет доступно на нашем сервере в течение 60 минут.
После завершения выполнения задания необходимо немедленно загрузить результат на ваш сервер.
Ограничения при подаче заданий и отслеживании их статусов
Вы имеете возможность создавать задания в системе Yes Ai через API и отслеживать их статусы в соответствии с установленными правилами.
Требования к изображениям для подачи новых заданий:
Максимальный размер файла: до 5 мегабайт для анимаций.
Максимальное разрешение: не превышает 2000 пикселей по ширине или высоте.
Допустимые форматы: JPEG, JPG, PNG.
Создание новых заданий через API
Для подачи новых заданий используйте метод POST:
Частота подачи: не более одного запроса в секунду.
Максимальное количество заданий в очереди: 8 заданий (очередь общая для всех типов заданий, подаваемых через API Yes Ai).
Если ваша система создаёт задания чаще заданного лимита, рекомендуется реализовать собственную очередь задач.
Отслеживание статусов заданий через API
Для получения статусов ранее поданных заданий используйте метод GET:
Техническая поддержка
По всем вопросам, касающимся использования API от Yes Ai, обращайтесь в официальную техническую поддержку через мессенджер Telegram: @yes_ai_support - https://t.me/yes_ai_support.