Skip to content

Инструменты

Инструменты — готовые сценарии «под ключ»: вы отправляете свои файлы, мы возвращаем готовый результат. Промпты и параметры моделей уже настроены — ничего подбирать не нужно.

Базовый URL: https://api.aihere.ru/api/v1
Авторизация: Authorization: Bearer <API-ключ>

Как работать с инструментами

  1. Посмотрите каталогGET /tools возвращает список инструментов и какие файлы каждому нужны (поле accepts). Лимит: 30 запросов/мин.
  2. Загрузите файлы — через загрузку по URL, base64 или multipart; в запуске передавайте полученные ссылки.
  3. Запустите инструментPOST /tools/generate с tool_id и нужными полями. В ответе — task_id. Лимит: 5 запросов/мин.
  4. Заберите результат — единым способом через GET /task/{task_id} или callback-уведомление, как у любой другой задачи API.

Стоимость списывается при постановке задачи; при сбое провайдера деньги возвращаются автоматически. Цены — в разделе Цены.

Каталог инструментов

tool_idSlugНазваниеЧто принимает
1passport-photoФото на паспортimage_input — ровно 1 фото человека
2star-greetingОживление фото (поздравление от звезды)image_input — 1 фото, sound_input — 1 аудио с речью, опционально prompt
3remove-backgroundУдаление фонаimage_input — ровно 1 картинка (JPEG/PNG/WebP)
  • Фото на паспорт превращает обычное фото в официальное фото на паспорт РФ: белый фон, анфас, нужные пропорции (требования МВД/ICAO).
  • Оживление фото — человек на фотографии произносит ваше аудио с естественной мимикой и движением губ. Аудио можно сгенерировать через POST /sounds/fish-tts.
  • Удаление фона — на выходе PNG с прозрачным фоном.

Параметры запуска

POST /tools/generate

ПолеТипОбяз.Описание
tool_idintдаНомер инструмента из каталога GET /tools
image_inputarray*Ссылки на фото (http/https)
sound_inputarray*Ссылки на аудио (http/https)
video_inputarrayСсылки на видео (пока не используется инструментами)
promptstringТекст пожелания (принимает только star-greeting)

* — обязательность и количество файлов зависят от инструмента, см. колонку «Что принимает».

Только нужные поля

Передавайте только те поля, которые инструмент принимает (его accepts в каталоге). Лишние поля отклоняются с ошибкой 400 — так случайный prompt или лишний файл не испортит результат. «Фото на паспорт» и «Удаление фона» работают с фиксированным заданием и не принимают prompt.

Примеры

Фото на паспорт — cURL

bash
curl -X POST "https://api.aihere.ru/api/v1/tools/generate" \
  -H "Authorization: Bearer $AIHERE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "tool_id": 1,
  "image_input": ["https://myapp.example.com/uploads/portrait.jpg"]
}'

Оживление фото — Python

python
import requests

resp = requests.post(
    "https://api.aihere.ru/api/v1/tools/generate",
    headers={"Authorization": f"Bearer {API_KEY}"},
    json={
        "tool_id": 2,
        "image_input": ["https://myapp.example.com/uploads/photo.jpg"],
        "sound_input": ["https://myapp.example.com/uploads/greeting.mp3"],
    },
    timeout=120,
)
resp.raise_for_status()
task_id = resp.json()["task_id"]
print(f"Задача №{task_id} поставлена")

Удаление фона — JavaScript

javascript
const resp = await fetch("https://api.aihere.ru/api/v1/tools/generate", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    tool_id: 3,
    image_input: ["https://myapp.example.com/uploads/picture.png"],
  }),
});
if (!resp.ok) throw new Error(`HTTP ${resp.status}: ${await resp.text()}`);
const { task_id } = await resp.json();
console.log("Задача №" + task_id + " поставлена");

Ответ 200

Номер задачи — результат заберите через GET /task/{task_id}

json
{
  "task_id": 123
}

Ошибки

КодПричина
400Переданы лишние поля или неверное количество файлов (в detail — что именно не так)
401Нет или невалидный API-ключ
404Неизвестный tool_id — актуальный список: GET /tools
429Превышен rate-limit
502Ошибка провайдера генерации
503Провайдер недоступен или сбой сервиса баланса (списанные средства возвращаются)