Документация — JinPix | Руководство по API
Получить ключ На главную
Документация 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 Чат с языковой моделью

Параметры запроса

ПараметрТипОбяз.Описание
modelstringID модели: gpt-4.1-mini, claude-sonnet-4.6, gemini-3.5-flash, grok-4.3
messagesarrayМассив сообщений с полями role и content
temperaturefloatСлучайность ответа от 0 до 2 (по умолч. 1)
max_tokensintegerМаксимальное количество токенов в ответе
streambooleanСтриминг ответа по частям (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)

Генерация изображений

Эндпоинт /images/generations совместим с форматом OpenAI Images API. Запрос синхронный — ответ возвращает готовый URL изображения.

POST /images/generations Генерация по API-ключу новое

Параметры запроса

ПараметрТипОбяз.Описание
modelstringseedream-5-lite — ByteDance Seedream 5 Lite (4 токена)
nano-banana-pro — Gemini Flash Image (3 токена)
promptstringТекстовое описание изображения
sizestringЗарезервировано (игнорируется), для совместимости с OpenAI SDK

Ответ

JSON Response
{
  "created": 1753900800,
  "data": [
    { "url": "https://cdn.polza.ai/gen/abc123.webp" }
  ]
}

Примеры

cURL
curl -X POST https://api.jinpix.ai/v1/images/generations \
  -H "Authorization: Bearer jp-sk-ваш_ключ" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedream-5-lite",
    "prompt": "Закат над горами, фотореализм"
  }'
Python (OpenAI SDK)
from openai import OpenAI

client = OpenAI(
    api_key="jp-sk-ваш_ключ",
    base_url="https://api.jinpix.ai/v1"
)

response = client.images.generate(
    model="seedream-5-lite",
    prompt="Закат над горами, фотореализм",
)

print(response.data[0].url)
Python — LangChain агент с генерацией изображений
import requests
from langchain_openai import ChatOpenAI
from langchain_core.tools import tool

JINPIX_KEY = "jp-sk-ваш_ключ"

# Инструмент для агента — генерирует изображение и возвращает URL
@tool
def generate_image(prompt: str) -> str:
    """Генерирует изображение по текстовому описанию и возвращает URL."""
    r = requests.post(
        "https://api.jinpix.ai/v1/images/generations",
        headers={"Authorization": f"Bearer {JINPIX_KEY}"},
        json={"model": "seedream-5-lite", "prompt": prompt},
        timeout=130,
    )
    r.raise_for_status()
    return r.json()["data"][0]["url"]

llm = ChatOpenAI(
    model="gpt-4.1-mini",
    api_key=JINPIX_KEY,
    base_url="https://api.jinpix.ai/v1",
)

# Привязываем инструмент к модели и запускаем
llm_with_tools = llm.bind_tools([generate_image])
result = llm_with_tools.invoke("Нарисуй логотип стартапа в стиле минимализма")
print(result.tool_calls)
Генерация изображения занимает 15–60 секунд в зависимости от модели. Устанавливайте timeout=130 в HTTP-клиенте, чтобы запрос не прервался раньше времени.

Генерация видео

Генерация видео — асинхронная операция. API сразу возвращает task_id, затем вы опрашиваете статус.

POST /generate/video Создать задачу генерации
GET /tasks/{task_id} Получить статус и результат

Параметры

ПараметрТипОбяз.Описание
modelstringveo-3.1-fast, kling-3.0, seedance-2.0
promptstringОписание видео (до 1000 символов)
durationintegerДлительность в секундах: 3–30 (по умолч. 5)
aspect_ratiostring16:9, 9:16, 1:1 (по умолч. 16:9)
image_urlstringURL начального кадра для 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" }
  ]
}

Коды ошибок

КодНазваниеОписание
400Bad RequestНеверные параметры запроса
401UnauthorizedОтсутствует или неверный API-ключ
403ForbiddenДействие недоступно на вашем плане
429Too Many RequestsПревышен лимит запросов в минуту
500Internal Server ErrorОшибка на стороне сервера
503Service UnavailableМодель временно недоступна
Пример ошибки
{
  "error": {
    "code": "invalid_api_key",
    "message": "The API key provided is invalid.",
    "status": 401
  }
}

Подключение AI-агентов

JinPix API совместим с форматом OpenAI, поэтому любой агентский фреймворк, поддерживающий кастомный base_url, заработает без изменений кода — нужно лишь указать адрес JinPix и ваш ключ.

Через агентский API доступны только текстовые модели (чат). Генерация изображений и видео вызывается отдельными HTTP-запросами — примеры ниже.

LangChain

Установите пакет и передайте параметры JinPix при создании модели:

bash
pip install langchain-openai
Python — LangChain (простой чат)
from langchain_openai import ChatOpenAI
from langchain_core.messages import HumanMessage, SystemMessage

# Создаём модель — указываем base_url и ключ JinPix
llm = ChatOpenAI(
    model="gpt-4.1-mini",          # или gemini-2.5-flash, claude-sonnet-4.6 и др.
    api_key="jp-sk-ваш_ключ",
    base_url="https://api.jinpix.ai/v1",
    temperature=0.7,
)

messages = [
    SystemMessage(content="Ты полезный ассистент."),
    HumanMessage(content="Напиши короткое стихотворение о море."),
]

response = llm.invoke(messages)
print(response.content)
Python — LangChain + агент с инструментами
from langchain_openai import ChatOpenAI
from langchain.agents import AgentExecutor, create_tool_calling_agent
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.tools import tool

# Пример инструмента агента
@tool
def get_weather(city: str) -> str:
    """Возвращает текущую погоду в городе."""
    return f"В {city} сейчас 22°C, ясно."

llm = ChatOpenAI(
    model="gpt-4.1-mini",
    api_key="jp-sk-ваш_ключ",
    base_url="https://api.jinpix.ai/v1",
)

prompt = ChatPromptTemplate.from_messages([
    ("system", "Ты полезный ассистент с доступом к инструментам."),
    ("human", "{input}"),
    ("placeholder", "{agent_scratchpad}"),
])

agent = create_tool_calling_agent(llm, [get_weather], prompt)
executor = AgentExecutor(agent=agent, tools=[get_weather], verbose=True)

result = executor.invoke({"input": "Какая погода в Москве?"})
print(result["output"])

AutoGen (Microsoft)

AutoGen позволяет создавать мультиагентные диалоги. Настройте llm_config с параметрами JinPix:

bash
pip install pyautogen
Python — AutoGen (два агента)
import autogen

# Конфигурация модели через JinPix
llm_config = {
    "config_list": [
        {
            "model": "gpt-4.1-mini",       # любая текстовая модель JinPix
            "api_key": "jp-sk-ваш_ключ",
            "base_url": "https://api.jinpix.ai/v1",
        }
    ],
    "temperature": 0.5,
}

# Агент-ассистент
assistant = autogen.AssistantAgent(
    name="assistant",
    llm_config=llm_config,
    system_message="Ты опытный Python-разработчик.",
)

# Агент-пользователь (завершает диалог автоматически)
user_proxy = autogen.UserProxyAgent(
    name="user",
    human_input_mode="NEVER",
    max_consecutive_auto_reply=3,
    code_execution_config={"work_dir": ".", "use_docker": False},
)

# Запуск диалога
user_proxy.initiate_chat(
    assistant,
    message="Напиши функцию, которая проверяет, является ли число простым.",
)

Поддерживаемые модели для агентов

ID моделиПровайдерСильные стороны
gpt-4.1-miniOpenAIБыстрые задачи, низкая цена
gpt-5.5OpenAIФлагманская модель OpenAI
gemini-3.5-flashGoogleДлинный контекст, мультимодальность
gemini-3.1-flash-liteGoogleМаксимальная скорость, минимальная цена
claude-sonnet-4.6AnthropicДлинные рассуждения, код
claude-sonnet-5AnthropicФлагманская модель Anthropic
grok-4.3xAIАктуальные данные, аналитика
deepseek-v4-proDeepSeekГлубокое мышление, math
Каждый вызов агента списывает токены с вашего баланса JinPix. Ограничивайте max_consecutive_auto_reply в AutoGen или устанавливайте max_iterations в LangChain, чтобы агент не зациклился.

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);

Попробовать API

Отправьте запрос прямо из браузера — без настройки окружения. Ключ хранится только в сессии и нигде не передаётся на наши серверы помимо заголовка запроса.

Ключ сохраняется в sessionStorage и не передаётся третьим сторонам