Перейти к основному контенту

API увеличения разрешения изображений: выберите 2K, 4K или 8K и скачайте результат

Выберите 2K, 4K или 8K по пикселям итоговой обрезки, попробуйте в Playground, запустите пример на Python и исправьте гравировку, лица и размер файла.

Автор
Lydia
Опубликовано
Время чтения
7 мин чтения
Обновлено
Редакционная иллюстрация: фотографша с рыжими волосами в светлой печатной комнате рассматривает большой портретный отпечаток через лупу; это не результат API увеличения разрешения.

Используйте spicyapi/image-upscaler-v1/upscale, чтобы увеличить одно готовое изображение. Выбирайте 2k, 4k или 8k по тому, сколько пикселей нужно итоговой обрезке: это бюджеты пикселей примерно 4, 17 и 67 мегапикселей, а не фиксированные размеры длинной стороны. Все три стоят $0.012 за выходное изображение (1000 изображений — $12), в формате JPEG, PNG или WebP. Сначала попробуйте в Playground, затем запустите короткий пример на Python или передайте задачу Agent.

Выберите уровень по итоговой обрезке

Image Upscaler сохраняет соотношение сторон источника. Портрет 1024×1536 возвращает:

ЗапросБюджет пикселейВозвращаемый размерЦена
2kоколо 4 MP1672×2508$0.012/изображение
4k (по умолчанию)около 17 MP3344×5017$0.012/изображение
8kоколо 67 MP6689×10033$0.012/изображение

Другое соотношение сторон даёт другие размеры. Если вы мыслите в «2×» или «4×», линейное увеличение равно квадратному корню из бюджета, делённому на мегапиксели источника:

Источник2k4k8k
1024×1536 (1.6 MP)1.6×3.3×6.5×
1920×1080 (2.1 MP)1.4×2.8×5.7×
4000×3000 (12 MP фото с телефона)0.6× (уменьшает)1.2×2.4×

Уровень ниже количества пикселей источника уменьшает изображение: вход 3344×5017, отправленный на 2k, возвращает 1672×2509. Если источник уже подходит под цель, экспортируйте его обычным способом; у этого эндпоинта нет режима резкости в исходном размере.

Для веб-карточки шириной 600 пикселей при плотности 2× вам нужно 1200 пикселей по итоговой обрезке. Если эта обрезка сохраняет половину ширины источника, мастеру нужно 2400 пикселей по ширине. Портрет 1672 пикселей на 2k не дотягивает; 4k его покрывает.

Для печати умножьте дюймы на плотность, которую запрашивает ваш принтер. Изображение 10×15 дюймов при 300 пикселях на дюйм требует 3000×4500 пикселей, и портрет 4k покрывает это без обрезки. Изменение метаданных плотности не добавляет пикселей, а более тесная обрезка требует нового расчёта.

Выбирайте 8k только тогда, когда это нужно обрезке. Цена та же, но 67 мегапикселей — это примерно 268 MB необработанных четырёхканальных данных пикселей, что важно для памяти при редактировании, а загруженный JPEG на этом уровне достигает примерно 8 MB.

Подготовьте чистый источник

Сначала завершите удаление объектов, обрезку и другие правки и начинайте с лучшего оригинала, а не с миниатюры с сайта. Вход — это один JPEG, PNG или WebP размером не более 10 MB, поэтому большой печатный мастер может потребовать экспорта перед отправкой. Для вымышленного каталога канцелярских товаров используйте утверждённую фотографию перьевой ручки и её коробки и держите отдельную ссылку для точного гравированного имени: увеличение может превратить неоднозначные следы в уверенные, но неверные буквы.

Выбирайте output_format по тому, что будет дальше. jpeg (по умолчанию) самый компактный; PNG без потерь, но в несколько раз больше на 8k; WebP находится между ними. PNG не делает реконструированную деталь достоверной. Промпта нет, точной ширины/высоты нет, силы восстановления лица нет, seed нет.

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

Иллюстрация областей проверки, а не результат увеличения разрешения.

Сначала попробуйте в Playground

  1. Откройте страницу Image Upscaler и оставайтесь на вкладке Playground в представлении Form. Чтобы запустить, войдите в аккаунт с пополненным счётом.
  2. Перетащите изображение в Input image (JPG, PNG или WEBP, до 10 MB) или вставьте ссылку через Asset URL.
  3. Выберите в Resolution значение 2K, 4K или 8K, а в Output format — JPEG, PNG или WebP.
  4. Запустите, затем проверьте результат в его итоговом размере карточки или печати.

Попробуйте здесь лучший источник, прежде чем писать код. Тело запроса в Playground — тот же JSON, который принимает API, поэтому рабочую здесь конфигурацию можно перенести в код напрямую.

Затем вызовите из кода

Установите Python SDK (pip install spicyapi), задайте SPICY_API_KEY в окружении и выполните:

Установите Pillow (python -m pip install Pillow) для проверки загрузки в этом примере. Исходный выходной файл заменяется только после успешного декодирования нового JPEG.

python
import os
from pathlib import Path
import tempfile
import urllib.request
import uuid

from PIL import Image

from spicyapi import SpicyClient, output_assets

client = SpicyClient()  # reads SPICY_API_KEY from the environment

source = client.upload_file("./fountain-pen-master.png")  # local file becomes a spicy:// URI

task = client.create_task(
    model="spicyapi/image-upscaler-v1/upscale",
    input_data={"image_url": source["uri"], "resolution": "4k", "output_format": "jpeg"},
    idempotency_key=str(uuid.uuid4()),  # new key per new request; reuse only to retry the same one
)

print(f"Task ID: {task['taskId']}", flush=True)
final = client.wait_for_terminal(task["taskId"])
if final["state"] != "succeeded":
    raise RuntimeError(f"Task {task['taskId']} ended as {final['state']}")

assets = [a for a in output_assets(final)
          if a.get("url") and not a.get("pending") and not a.get("unavailable")]
if not assets:
    raise RuntimeError(f"Task {task['taskId']} has no downloadable output yet")

request = urllib.request.Request(assets[0]["url"], headers={"User-Agent": "upscale-example/1.0"})
target = Path("upscaled.jpg")
temporary = None
try:
    with tempfile.NamedTemporaryFile(dir=target.parent, suffix=".jpg", delete=False) as out:
        temporary = Path(out.name)
        with urllib.request.urlopen(request, timeout=60) as response:
            out.write(response.read())
    with Image.open(temporary) as image:
        if image.format != "JPEG":
            raise ValueError("Expected a JPEG output")
        image.load()  # reject unreadable or truncated data before replacing the keeper
    os.replace(temporary, target)
finally:
    if temporary is not None:
        temporary.unlink(missing_ok=True)

Один запуск занимает около 45 секунд. Сменить уровень или формат можно, изменив resolution и output_format. Загрузка, ожидание, повторы и ошибки описаны в руководстве по задачам и справочнике Python SDK. Ссылки на результат живут около 20 минут, а сгенерированные файлы удаляются не позднее чем через 14 дней, поэтому скопируйте результат в своё хранилище.

Или пусть это выполнит Agent

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

  • CLI. spicyapi выполняет одну задачу из терминала (npx @spicyapi/cli работает без установки). Поместите {"image_url": "spicy://...", "resolution": "4k"} в input.json, используя URI, который печатает загрузка:

``bash spicyapi files upload ./fountain-pen-master.png spicyapi tasks create --model spicyapi/image-upscaler-v1/upscale --input-file input.json --wait ``

  • MCP-сервер. Добавьте MCP-сервер к своему ассистенту, затем спросите: «Upscale ./fountain-pen-master.png to 4K with Image Upscaler.» Он вызывает spicyapi_upload_file, затем spicyapi_task_create, который останавливается для подтверждения цены, затем spicyapi_task_wait.
  • Skill. npx skills add spicyapi-ai/spicy-skill устанавливает Agent Skill, который заставляет ассистента по программированию читать актуальную схему модели, а не угадывать поля. Сам по себе он не может выполнять задачи, поэтому используйте его вместе с CLI или MCP.

Решите, нужны ли дополнительные пиксели

Проверьте результат в итоговой раскладке карточки или печати, а затем в полном размере на пере, гравировке и краях коробки: дополнительные пиксели полезны для этого применения, сохраняя точность продукта?

СимптомСледующий шаг
Результат меньше источникаСравните пиксели источника с бюджетом уровня; переходите на уровень выше, только если цели нужно увеличение.
Гравированные буквы выглядят чёткими, но невернымиЗамените источник более резкой фотографией или утверждённой графикой; больший уровень не может проверить недостающие буквы.
Вокруг тёмных краёв появляются светлые ореолыСравните с отправленным оригиналом. Если ореол создала его собственная резкость, экспортируйте более чистый источник перед повтором.
Лицо выглядит отполированным, но другимСравните глаза, выражение и линию волос с оригиналом; отклоните этот вариант, а не одобряйте его только за резкость.
Страница загружает огромное изображениеСохраните утверждённый мастер и экспортируйте меньшую обычную производную для показываемого места.
API отклоняет лишнее полеУберите scale, face_restore, width и похожие параметры; у этого эндпоинта их нет.
Вымышленный портрет взрослого мужчины сопровождается бумажными вырезами с выражением, линией волос и воротником на мягком фоне.

Иллюстрация деталей портрета для сравнения, а не восстановленная деталь лица.

Для вымышленных портретов взрослых SpicyAPI не запускает на этом инструменте проверку безопасности, поэтому согласие и юридические обязанности остаются на вас. Умеренные и продвинутые NSFW-входы увеличиваются обычным образом; перед пакетом запустите одну пробу своего материала.

Если мастер хорош, но на маленькой карточке пропадает гравировка, подправьте эту производную или уменьшите зум; ещё один проход ИИ — не первое решение. Если вам нужен более широкий кадр, а не больше пикселей, смотрите расширение кадра под новое соотношение сторон; для клипов смотрите увеличение разрешения видео.

Другие языки English · 日本語 · 한국어 · Deutsch · Français · Español · Português (Brasil) · Italiano · Polski

Примените руководство на практике

Открыть рабочий процесс

От концепта в ComfyUI до готового изображения крупнее.

Создайте портрет персонажа или обложку галереи с Z-Image Turbo, передайте его в Image Upscaler и сохраните увеличенное изображение из одного графа ComfyUI. Используйте его для подробных портретов, иллюстрированных обложек и просторных макетов галереи.