Skip to content

Запуск AI-инструмента ​

POST /tools/generate

Запускает инструмент из каталога (см. GET /tools) и возвращает номер задачи. Передавайте только те поля, которые инструмент принимает (поле accepts в каталоге). Результат забирайте через GET /task/{task_id}.

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

Параметры ​

ПолеТипОбяз.Описание
tool_idintegerдаНомер инструмента из каталога GET /tools
promptstring—Текстовый запрос (если инструмент принимает текст)
image_inputarray[string]—Ссылки на фото
video_inputarray[string]—Ссылки на видео
sound_inputarray[string]—Ссылки на аудио

Примеры ​

cURL ​

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

Python ​

python
import requests

resp = requests.post(
    "https://api.aihere.ru/api/v1/tools/generate",
    headers={
        "Authorization": f"Bearer {API_KEY}",
        # Опционально: вебхук о завершении задачи
        # "X-Callback-Url": "https://myapp.example.com/api/aihere-callback",
    },
    json={
        "tool_id": 1,
        "image_input": ["https://api.aihere.ru/files/abc123.jpg"],
    },
    timeout=60,
)
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: 1,
    image_input: ["https://api.aihere.ru/files/abc123.jpg"],
  }),
});
if (!resp.ok) throw new Error(`HTTP ${resp.status}: ${await resp.text()}`);
const { task_id } = await resp.json();
console.log("Задача №" + task_id + " поставлена");

PHP ​

php
$payload = json_decode('{"tool_id": 1, "image_input": ["https://api.aihere.ru/files/abc123.jpg"]}', true);

$ch = curl_init('https://api.aihere.ru/api/v1/tools/generate');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => json_encode($payload),
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer $apiKey",
        'Content-Type: application/json',
    ],
]);
$resp = json_decode(curl_exec($ch), true);
curl_close($ch);
echo "Задача №{$resp['task_id']} поставлена";

Ответ 200 ​

ID генерации

json
{
  "task_id": 123
}

Ошибки ​

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