ideogram
Upscale
Увеличение разрешения изображения с проработкой деталей.
Цена рассчитывается
UPSCALEДанные каталога получены .
Цена
Цена рассчитывается
Цена рассчитывается автоматически по цене поставщика и появится в течение нескольких минут.
Перед оплачиваемым запросом создаётся резерв. Итоговый расход привязан к сохранённым параметрам и тарифу запроса. При неизвестном результате резерв удерживается до проверки; такой запрос не следует повторять с новым идентификатором.
О модели
Upscale предназначен для увеличения разрешения исходного изображения и восстановления деталей. В описании операции предусмотрена настройка сходства с оригиналом и степени проработки деталей; результатом служит изображение.
Характеристики
- Тип модели
- Изображения
- Вход модели
- Текст, Изображения
Данные, которые модель принимает вместе с запросом.
- Выход модели
- Изображения
Форматы результата, которые создаёт модель.
- Операции
- Генерация изображений
- Возможности модели
- Входные изображения, Генерация изображений
Контрольные показатели
Для этой версии модели оценок пока нет.
Оценки относятся к этой версии модели и методике источника. Качество и скорость конкретного запроса они не гарантируют.
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": "UPSCALE",
"prompt": "Иллюстрация для статьи об API, без надписей",
"n": 1,
"operation": "image_generation"
})
print("Стоимость:", format_rubles(quote["estimated_cost_microrub"]))
# Укажите допустимый бюджет вместо max_cost_microrub: 0.
payload = {
"model": "UPSCALE",
"prompt": "Иллюстрация для статьи об API, без надписей",
"n": 1,
"max_cost_microrub": 0
}
job = post("https://api.kvantora.ai/v1/images/generations", payload)
print(get("https://api.kvantora.ai/v1/jobs" + "/" + job["id"]))





