Appearance
Инструменты
Инструменты — готовые сценарии «под ключ»: вы отправляете свои файлы, мы возвращаем готовый результат. Промпты и параметры моделей уже настроены — ничего подбирать не нужно.
Базовый URL: https://api.aihere.ru/api/v1
Авторизация: Authorization: Bearer <API-ключ>
Как работать с инструментами
- Посмотрите каталог —
GET /toolsвозвращает список инструментов и какие файлы каждому нужны (полеaccepts). Лимит: 30 запросов/мин. - Загрузите файлы — через загрузку по URL, base64 или multipart; в запуске передавайте полученные ссылки.
- Запустите инструмент —
POST /tools/generateсtool_idи нужными полями. В ответе —task_id. Лимит: 5 запросов/мин. - Заберите результат — единым способом через
GET /task/{task_id}или callback-уведомление, как у любой другой задачи API.
Стоимость списывается при постановке задачи; при сбое провайдера деньги возвращаются автоматически. Цены — в разделе Цены.
Каталог инструментов
tool_id | Slug | Название | Что принимает |
|---|---|---|---|
| 1 | passport-photo | Фото на паспорт | image_input — ровно 1 фото человека |
| 2 | star-greeting | Оживление фото (поздравление от звезды) | image_input — 1 фото, sound_input — 1 аудио с речью, опционально prompt |
| 3 | remove-background | Удаление фона | image_input — ровно 1 картинка (JPEG/PNG/WebP) |
- Фото на паспорт превращает обычное фото в официальное фото на паспорт РФ: белый фон, анфас, нужные пропорции (требования МВД/ICAO).
- Оживление фото — человек на фотографии произносит ваше аудио с естественной мимикой и движением губ. Аудио можно сгенерировать через
POST /sounds/fish-tts. - Удаление фона — на выходе PNG с прозрачным фоном.
Параметры запуска
POST /tools/generate
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
tool_id | int | да | Номер инструмента из каталога GET /tools |
image_input | array | * | Ссылки на фото (http/https) |
sound_input | array | * | Ссылки на аудио (http/https) |
video_input | array | — | Ссылки на видео (пока не используется инструментами) |
prompt | string | — | Текст пожелания (принимает только 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 | Провайдер недоступен или сбой сервиса баланса (списанные средства возвращаются) |
