Быстрый старт в API v1

Быстрый старт в API v1

Это руководство поможет начать работу с API Mitup AI за несколько минут. API совместимо с OpenAI Responses API. Поддерживает синхронную генерацию текста и асинхронную генерацию изображений, аудио и видео.

Шаг 1: Получите API-ключ

  1. Зарегистрируйтесь на платформе Mitup AI.
  2. Перейдите в личный кабинет, в раздел API.
  3. Нажмите «Сгенерировать токен». Если ключ уже есть, его можно обновить через кнопку «Обновить токен».
  4. Скопируйте ключ и сохраните его в безопасном месте.

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 использует разные схемы для текста и для медиа.

  1. Текст и мультимодальные модели (POST /api/v1/responses): HTTP-запрос ждёт полный результат. Ответ — объект Response в формате OpenAI.
  2. Изображения, аудио и видео (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, пожалуйста, сообщите нам в тех. поддержку.

Наша команда обязательно разберет проблему и поможет решить любой вопрос.

Что дальше

Чат-боты

Выберите чат-бота на интересующую вас тематику и начните с ним работу

Сайт использует cookies

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