Документация JinPix
Единый API для всех AI-моделей
JinPix предоставляет единый REST API для доступа к текстовым, изображений и видео-моделям. Один ключ — все возможности.
Быстрый старт
Сделайте первый запрос за 5 минут. Используйте любой HTTP-клиент.
OpenAI-совместимость
Чат-эндпоинт совместим с OpenAI SDK — минимальные изменения в коде.
9+ моделей
GPT-4.1, Claude, Gemini, Veo, Kling, Seedream и другие через один API.
Асинхронные задачи
Видео и тяжёлые генерации возвращают task_id для опроса статуса.
Базовый URL всех запросов:
https://api.jinpix.ai/v1
Быстрый старт
Чтобы начать работу с JinPix API, выполните три простых шага:
1
Получите API-ключ
Зарегистрируйтесь и создайте ключ в разделе API ключи. Ключ выглядит как
jp-sk-...2
Сделайте первый запрос
Передайте ключ в заголовке
Authorization: Bearer <ключ> и выберите модель.3
Обработайте ответ
API возвращает JSON. Для асинхронных операций используйте
task_id для получения результата.Пример — генерация изображения
cURL
curl -X POST https://api.jinpix.ai/v1/generate/image \ -H "Authorization: Bearer jp-sk-ваш_ключ" \ -H "Content-Type: application/json" \ -d '{ "model": "seedream-5-lite", "prompt": "Закат над горами, фотореализм", "width": 1024, "height": 1024 }'
Ответ
JSON
{
"id": "gen_01j9xk2...",
"model": "seedream-5-lite",
"url": "https://cdn.jinpix.ai/gen/01j9xk2.webp",
"width": 1024,
"height": 1024,
"created_at": "2025-04-23T12:00:00Z"
}
Аутентификация
Все запросы к JinPix API должны содержать заголовок Authorization с вашим API-ключом.
HTTP Header
Authorization: Bearer jp-sk-ваш_ключ_здесь
Никогда не передавайте API-ключ на клиентскую сторону. Используйте только серверный код или переменные окружения.
Текстовые модели
Эндпоинт чата совместим с форматом OpenAI. Вы можете использовать стандартный OpenAI SDK, просто изменив base_url.
POST
/chat/completions
Чат с языковой моделью
Параметры запроса
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
model | string | ✓ | ID модели: gpt-4.1-mini, claude-sonnet-4.6, gemini-2.5-flash, grok-3-fast |
messages | array | ✓ | Массив сообщений с полями role и content |
temperature | float | — | Случайность ответа от 0 до 2 (по умолч. 1) |
max_tokens | integer | — | Максимальное количество токенов в ответе |
stream | boolean | — | Стриминг ответа по частям (SSE) |
Python (OpenAI SDK)
from openai import OpenAI client = OpenAI( api_key="jp-sk-ваш_ключ", base_url="https://api.jinpix.ai/v1" ) response = client.chat.completions.create( model="gpt-4.1-mini", messages=[ {"role": "user", "content": "Привет! Расскажи о себе."} ], temperature=0.7 ) print(response.choices[0].message.content)
Генерация изображений
POST
/generate/image
Синхронная генерация
Параметры
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
model | string | ✓ | seedream-5-lite, nano-banana-pro |
prompt | string | ✓ | Текстовое описание изображения (до 2000 символов) |
negative_prompt | string | — | Что исключить из изображения |
width | integer | — | Ширина в пикселях: 512–2048 (по умолч. 1024) |
height | integer | — | Высота в пикселях: 512–2048 (по умолч. 1024) |
steps | integer | — | Количество шагов диффузии: 10–50 (по умолч. 30) |
seed | integer | — | Seed для воспроизводимого результата |
Генерация видео
Генерация видео — асинхронная операция. API сразу возвращает task_id, затем вы опрашиваете статус.
POST
/generate/video
Создать задачу генерации
GET
/tasks/{task_id}
Получить статус и результат
Параметры
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
model | string | ✓ | veo-3.1-fast, kling-3.0, seedance-2.0 |
prompt | string | ✓ | Описание видео (до 1000 символов) |
duration | integer | — | Длительность в секундах: 3–30 (по умолч. 5) |
aspect_ratio | string | — | 16:9, 9:16, 1:1 (по умолч. 16:9) |
image_url | string | — | URL начального кадра для image-to-video |
Список доступных моделей
GET
/models
Все доступные модели
JSON Response
{
"data": [
{ "id": "gpt-4.1-mini", "type": "text" },
{ "id": "gemini-2.5-flash", "type": "text" },
{ "id": "claude-sonnet-4.6", "type": "text" },
{ "id": "grok-3-fast", "type": "text" },
{ "id": "seedream-5-lite", "type": "image" },
{ "id": "nano-banana-pro", "type": "image" },
{ "id": "veo-3.1-fast", "type": "video" },
{ "id": "kling-3.0", "type": "video" },
{ "id": "seedance-2.0", "type": "video" }
]
}
Коды ошибок
| Код | Название | Описание |
|---|---|---|
400 | Bad Request | Неверные параметры запроса |
401 | Unauthorized | Отсутствует или неверный API-ключ |
403 | Forbidden | Действие недоступно на вашем плане |
429 | Too Many Requests | Превышен лимит запросов в минуту |
500 | Internal Server Error | Ошибка на стороне сервера |
503 | Service Unavailable | Модель временно недоступна |
Пример ошибки
{
"error": {
"code": "invalid_api_key",
"message": "The API key provided is invalid.",
"status": 401
}
}
SDK и примеры
JinPix совместим с OpenAI SDK для чат-запросов. Для образных и видео-генераций используйте стандартный HTTP-клиент.
JavaScript / Node.js
// Генерация видео (асинхронно) const res = await fetch("https://api.jinpix.ai/v1/generate/video", { method: "POST", headers: { "Authorization": "Bearer jp-sk-ваш_ключ", "Content-Type": "application/json" }, body: JSON.stringify({ model: "veo-3.1-fast", prompt: "Полёт над ночным городом, синематик", duration: 5, aspect_ratio: "16:9" }) }); const { task_id } = await res.json(); // Опрос статуса const poll = async () => { const status = await fetch(`https://api.jinpix.ai/v1/tasks/${task_id}`, { headers: { "Authorization": "Bearer jp-sk-ваш_ключ" } }).then(r => r.json()); if (status.state === "completed") return status.url; await new Promise(r => setTimeout(r, 3000)); return poll(); }; const videoUrl = await poll(); console.log(videoUrl);