Быстрый старт в API v1
Это руководство поможет начать работу с API Mitup AI за несколько минут. API совместимо с OpenAI Responses API. Поддерживает синхронную генерацию текста и асинхронную генерацию изображений, аудио и видео.
Шаг 1: Получите API-ключ
- Зарегистрируйтесь на платформе Mitup AI.
- Перейдите в личный кабинет, в раздел API.
- Нажмите «Сгенерировать токен». Если ключ уже есть, его можно обновить через кнопку «Обновить токен».
- Скопируйте ключ и сохраните его в безопасном месте.
Base URL: https://ai.mitup.ru/api/v1
Шаг 2: Пополните баланс
Перейдите в раздел Банк и пополните лицевой счёт удобным способом.
Для работы через API не требуется подключение тарифа. Списание происходит с лицевого счёта согласно стоимости модели.
Шаг 3: Сделайте первый запрос
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://ai.mitup.ru/api/v1",
)
response = client.responses.create(
model="gemini-3.5-flash",
input="Привет!",
)
print(response.output_text)import requests
url = "https://ai.mitup.ru/api/v1/responses"
api_key = "YOUR_API_KEY"
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {api_key}"
}
params = {
"model": "gemini-3.5-flash",
"input": "Привет!"
}
response = requests.post(url, json=params, headers=headers)
print(response.json())curl -X POST "https://ai.mitup.ru/api/v1/responses" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "gemini-3.5-flash",
"input": "Привет!"
}'<?php
$url = "https://ai.mitup.ru/api/v1/responses";
$api_key = "YOUR_API_KEY";
$headers = [
"Content-Type: application/json",
"Authorization: Bearer " . $api_key,
];
$params = [
"model" => "gemini-3.5-flash",
"input" => "Привет!",
];
$data = json_encode($params, JSON_UNESCAPED_UNICODE);
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, "mitupai-API-client");
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($ch);
curl_close($ch);
$response = json_decode($response, true);
print_r($response);
?>Актуальные имена моделей можно получить через API или взять странице моделей.
Принцип работы
API использует разные схемы для текста и для медиа.
- Текст и мультимодальные модели (
POST /api/v1/responses): HTTP-запрос ждёт полный результат. Ответ — объект Response в формате OpenAI. - Изображения, аудио и видео (
POST /api/v1/images,/audios,/videos): сервер сразу отвечает кодом 202 и отдаётidсpolling_url. Результат нужно запрашивать отдельным GET, пока статус не станетcompletedилиfailed.
Стоимость генерации
Стоимость генерации в API работает по модели «pay as you go» (оплата по факту использования) в соответствии с ценой модели. Для работы через API не требуется подключение тарифа, необходимо иметь только положительный лицевой счет.
Коды ответов
| Код | Описание |
|---|---|
| 200 | Успешный запрос. Для /api/v1/responses — готовый объект Response |
| 202 | Задача принята. Для энпоинтов /api/v1/images, /api/v1/audios, /api/v1/videos — id и polling_url |
| 400 | Неверный запрос или модель недоступна при генерации |
| 401 | Неверный или отсутствующий API-ключ |
| 404 | Задача или модель не найдена |
| 408 | Таймаут на стороне модели (ошибка провайдера) |
| 429 | Превышен лимит ключа |
| 500 | Сбой генерации |
| 504 | Таймаут ожидания результата POST /responses |
Ошибки
Ошибка /responses возвращаются в формате OpenAI (поле error, HTTP 4xx/5xx).
Ошибка /images, /audios или /videos при GET — HTTP 200, в теле status: "failed" и объект error.
{
"error": {
"message": "Missing required parameter: 'model'.",
"type": "invalid_request_error",
"param": "model",
"code": "invalid_request"
}
}{
"error": {
"message": "The model `gpt-5` does not exist or is not available.",
"type": "invalid_request_error",
"param": "model",
"code": "model_not_found"
}
}{
"error": {
"message": "Invalid API key provided.",
"type": "authentication_error",
"param": null,
"code": "invalid_api_key"
}
}{
"error": {
"message": "The generation task was not found.",
"type": "invalid_request_error",
"param": null,
"code": "not_found"
}
}{
"error": {
"message": "The model `gpt-5` does not exist or is not available.",
"type": "invalid_request_error",
"param": "model",
"code": "model_not_found"
}
}{
"error": {
"message": "The request timed out.",
"type": "timeout",
"param": null,
"code": "timeout"
}
}{
"error": {
"message": "Rate limit exceeded. Please retry later.",
"type": "rate_limit_error",
"param": null,
"code": "rate_limit_exceeded"
}
}{
"error": {
"message": "You exceeded your current quota. Please add credits and try again.",
"type": "insufficient_quota",
"param": null,
"code": "insufficient_quota"
}
}{
"error": {
"message": "The model failed to generate a response.",
"type": "api_error",
"param": null,
"code": "api_error"
}
}{
"error": {
"message": "The request timed out.",
"type": "timeout",
"param": null,
"code": "timeout"
}
}Хранение результатов
Результат генерации (по всем эндпоинтам) хранится в течение 30 дней.
Ошибки и нестандартные ситуации
Если вы получили ошибку и она не описана в документации или не можете правильно составить запрос к API, пожалуйста, сообщите нам в тех. поддержку.
Наша команда обязательно разберет проблему и поможет решить любой вопрос.