OpenAI
Sora 2
Sora 2 создаёт видео по текстовому запросу; поддерживает сложное движение, управление камерой, последовательность сцен и согласованность персонажей. Вход: не указаны; выход: видео.
12,66 ₽за секунду
openai/sora-2Данные каталога получены .
Цена
- Генерация видео · генерация / обработка
- 12,66 ₽ / 1 секунда
Цена указана в рублях для выбранной операции и её параметров.
Перед оплачиваемым запросом создаётся резерв. Итоговый расход привязан к сохранённым параметрам и тарифу запроса. При неизвестном результате резерв удерживается до проверки; такой запрос не следует повторять с новым идентификатором.
О модели
Создание реалистичных видео. Переключатель Pro включает более высокое качество. Поддерживаются режимы текст-в-видео и изображение-в-видео, где изображение становится первым кадром. Можно выбрать ориентацию и длительность в секундах; размер должен соответствовать ориентации.
- Релиз
Характеристики
- Тип модели
- Видео
- Вход модели
- Текст, Изображения
Данные, которые модель принимает вместе с запросом.
- Выход модели
- Видео
Форматы результата, которые создаёт модель.
- Операции
- Генерация видео
- Возможности модели
- Входные изображения, Видео по тексту, Видео по изображению
Настройки
По умолчаниюНе задано
По умолчанию4
По умолчаниюНе задано
Примеры

фигуристка выполняет тройной аксель с кошкой на голове

мужчина делает сальто назад на сапборде

человек стоит на 2 лошадях с раздвинутыми ногами. сделай не замедленным, а реалистичным. в конце парень сильно упал. один кадр

в стиле японского аниме, меланхоличная сцена под фейерверками ночного неба. мир так счастлив, но не двое влюблённых главных героев этого великолепного японского городка посреди фестиваля. японская анимация уровня фильма, крупные планы персонажей, разговаривающих на японском, красивая плавная рисованная анимация

астронавт-золотистый ретривер по имени Sora левитирует вокруг межгалактической космической станции на тему щенков с крошечным реактивным ранцем, который его толкает. великолепное зеркальное освещение и кометы летят по небу, на фоне играет ретро-футуристическая музыка на космическую тему. свет мерцает в глазах собаки. сначала собака летит к космической станции, двери открываются, чтобы впустить её. затем кадр меняется. теперь внутри космической станции множество теннисных мячей летает в невесомости. шлем астронавта собаки открывается, чтобы она могла схватить один. 35-мм плёнка, сложные детали и текстура шерсти собаки чётко видны, и свет комет мерцает на шерсти.

Викинги идут на войну — запуск в Северном море (10.0 с, зимний холодный дневной свет / раннее Средневековье)...

в стиле аниме студии Ghibli, мальчик и его собака бегут вверх по травянистой живописной горе с великолепными облаками, с видом на деревню вдали на заднем плане
Контрольные показатели
Для этой версии модели оценок пока нет.
Оценки относятся к этой версии модели и методике источника. Качество и скорость конкретного запроса они не гарантируют.
API-запрос
Операция доступна через API. Ключ храните в переменной окружения на своём сервере. REQUEST_ID: уникальный идентификатор запроса. При повторе сохраняйте его и тело запроса.
Ответ содержит задание. Проверяйте его по GET /v1/jobs/{id}. Перед отправкой получите стоимость через POST /v1/quotes и укажите допустимый лимит: как задать бюджет запроса.
import json
import os
from urllib.request import Request, HTTPRedirectHandler, build_opener
class NoRedirect(HTTPRedirectHandler):
def redirect_request(self, req, fp, code, msg, headers, newurl):
return None
opener = build_opener(NoRedirect)
def post(url, payload):
request = Request(url, data=json.dumps(payload).encode("utf-8"), headers={
"Authorization": "Bearer " + os.environ["KVANTORA_API_KEY"],
"Content-Type": "application/json",
"Idempotency-Key": os.environ["REQUEST_ID"],
}, method="POST")
with opener.open(request, timeout=120) as response:
return json.load(response)
def get(url):
request = Request(url, headers={
"Authorization": "Bearer " + os.environ["KVANTORA_API_KEY"],
}, method="GET")
with opener.open(request, timeout=120) as response:
return json.load(response)
def format_rubles(value):
amount = int(value)
sign, absolute = ("-" if amount < 0 else ""), abs(amount)
if 0 < absolute < 10_000:
return sign + "<0,01 ₽"
cents = (absolute + 5_000) // 10_000
return f"{sign}{cents // 100},{cents % 100:02d} ₽"
quote = post("https://api.kvantora.ai/v1/quotes", {
"model": "openai/sora-2",
"prompt": "Плавная заставка с геометрическими формами, без текста",
"settings": {
"duration": 4
},
"operation": "video_generation"
})
print("Стоимость:", format_rubles(quote["estimated_cost_microrub"]))
# Укажите допустимый бюджет вместо max_cost_microrub: 0.
payload = {
"model": "openai/sora-2",
"prompt": "Плавная заставка с геометрическими формами, без текста",
"settings": {
"duration": 4
},
"max_cost_microrub": 0
}
job = post("https://api.kvantora.ai/v1/videos", payload)
print(get("https://api.kvantora.ai/v1/jobs" + "/" + job["id"]))








