Справка API
Используйте эти REST-эндпоинты Prompt Converter Cloud. Авторизуйтесь облачным API-ключом после подписки.
Аутентификация
Отправьте Authorization: Bearer pc_cloud_… или заголовок X-Api-Key. Создайте ключи на странице API-ключей после активной облачной подписки. Не отправляйте JWT Supabase.
Базовый URL
В продакшене используйте хост Cloud, например https://api.yourdomain.com. Локально: http://localhost:5000.
Ошибки
Неуспешные запросы возвращают JSON-объект с машиночитаемым кодом ошибки и необязательным сообщением.
{
"error": "quota_exceeded",
"message": "Optional human-readable detail"
}
Преобразовать промпт
POST
/v1/convert
Преобразует исходный текст в оптимизированный промпт для выбранной модели. Доступно во всех облачных планах и учитывается в месячной квоте преобразований.
Заголовки
-
Authorizationstring необязательно - Облачный API-ключ Bearer pc_cloud_…. Обязателен, если не передан X-Api-Key.
-
X-Api-Keystring необязательно - Облачный API-ключ pc_cloud_…. Альтернатива Authorization.
-
Content-Typestring обязательно - Для JSON-тела должно быть application/json.
Параметры тела
-
rawInputstring обязательно - Текст для преобразования или как ход чата.
-
targetModelstring необязательно - Ключ маршрута: gpt, claude, gemini или grok. По умолчанию gpt.
-
openAiResultModelstring необязательно - Необязательный id модели OpenAI из GET /v1/models, если targetModel — gpt.
-
claudeResultModelstring необязательно - Необязательный id модели Anthropic из GET /v1/models, если targetModel — claude.
-
geminiResultModelstring необязательно - Необязательный id модели Gemini из GET /v1/models, если targetModel — gemini.
-
grokResultModelstring необязательно - Необязательный id модели xAI Grok из GET /v1/models, если targetModel — grok.
Пример запроса
curl -X POST https://api.yourdomain.com/v1/convert \
-H "Authorization: Bearer pc_cloud_..." \
-H "Content-Type: application/json" \
-d '{"rawInput":"Explain dependency injection in .NET","targetModel":"gpt"}'
Успешный ответ
{
"result": "You are a senior .NET architect...",
"targetModel": "gpt",
"resultModel": "gpt-5.6-luna"
}
Ошибки
400 raw_input_required, 401 missing_authorization / invalid_api_key, 403 subscription_required, 429 quota_exceeded, 502 provider_failed
Создать ответ чата
POST
/v1/chat
Выполняет одноходовый чат с теми же полями модели, что и convert. Только Growth и Business. Учитывается в квоте преобразований.
Заголовки
-
Authorizationstring необязательно - Облачный API-ключ Bearer pc_cloud_…. Обязателен, если не передан X-Api-Key.
-
X-Api-Keystring необязательно - Облачный API-ключ pc_cloud_…. Альтернатива Authorization.
-
Content-Typestring обязательно - Для JSON-тела должно быть application/json.
Параметры тела
-
rawInputstring обязательно - Текст для преобразования или как ход чата.
-
targetModelstring необязательно - Ключ маршрута: gpt, claude, gemini или grok. По умолчанию gpt.
-
openAiResultModelstring необязательно - Необязательный id модели OpenAI из GET /v1/models, если targetModel — gpt.
-
claudeResultModelstring необязательно - Необязательный id модели Anthropic из GET /v1/models, если targetModel — claude.
-
geminiResultModelstring необязательно - Необязательный id модели Gemini из GET /v1/models, если targetModel — gemini.
-
grokResultModelstring необязательно - Необязательный id модели xAI Grok из GET /v1/models, если targetModel — grok.
Пример запроса
curl -X POST https://api.yourdomain.com/v1/chat \
-H "Authorization: Bearer pc_cloud_..." \
-H "Content-Type: application/json" \
-d '{"rawInput":"Explain dependency injection","targetModel":"gpt","openAiResultModel":"gpt-5.6-luna"}'
Успешный ответ
{
"result": "Dependency injection is a technique...",
"targetModel": "gpt",
"resultModel": "gpt-5.6-luna"
}
Ошибки
400 raw_input_required, 401 missing_authorization / invalid_api_key, 403 plan_required, 429 quota_exceeded, 502 provider_failed
Список моделей
GET
/v1/models
Возвращает модели чата, изображений и видео с краткими описаниями. Используйте id как *ResultModel или modelId.
Заголовки
-
Authorizationstring необязательно - Облачный API-ключ Bearer pc_cloud_…. Обязателен, если не передан X-Api-Key.
-
X-Api-Keystring необязательно - Облачный API-ключ pc_cloud_…. Альтернатива Authorization.
Параметры запроса
-
kindstring необязательно - Необязательный фильтр: chat, image или video.
Пример запроса
curl https://api.yourdomain.com/v1/models?kind=chat \ -H "Authorization: Bearer pc_cloud_..."
Успешный ответ
{
"models": [
{
"id": "gpt-5.6-luna",
"displayName": "GPT-5.6 Luna",
"provider": "openai",
"kind": "chat",
"description": "Chat model",
"targetModel": "gpt"
}
]
}
Ошибки
401 missing_authorization / invalid_api_key, 403 plan_required, 502 internal_error
Сгенерировать изображения
POST
/v1/images
Синхронно генерирует изображения и возвращает подписанные URL. Growth: 80 изображений за период; Business: 300.
Заголовки
-
Authorizationstring необязательно - Облачный API-ключ Bearer pc_cloud_…. Обязателен, если не передан X-Api-Key.
-
X-Api-Keystring необязательно - Облачный API-ключ pc_cloud_…. Альтернатива Authorization.
-
Content-Typestring обязательно - Для JSON-тела должно быть application/json.
Параметры тела
-
promptstring обязательно - Промпт генерации. Не может быть пустым.
-
modelIdstring обязательно - Id модели из GET /v1/models для соответствующего типа.
-
aspectRatiostring необязательно - Необязательное соотношение сторон, например 1:1, 16:9, 9:16 или 4:3.
-
countinteger необязательно - Необязательное число изображений (1–4), если модель это позволяет.
-
qualitystring необязательно - Необязательное качество изображения OpenAI: standard или high.
Пример запроса
curl -X POST https://api.yourdomain.com/v1/images \
-H "Authorization: Bearer pc_cloud_..." \
-H "Content-Type: application/json" \
-d '{"prompt":"A red balloon over a lake at dusk","modelId":"gpt-image-2","aspectRatio":"16:9"}'
Успешный ответ
{
"jobId": "11111111-1111-1111-1111-111111111111",
"status": "completed",
"kind": "image",
"modelId": "gpt-image-2",
"results": [
{
"storagePath": "user/job-0.png",
"signedUrl": "https://...",
"mimeType": "image/png"
}
]
}
Ошибки
400 prompt_required / model_not_allowed, 401 missing_authorization, 403 plan_required, 429 quota_exceeded, 502 provider_failed
Сгенерировать видео
POST
/v1/videos
Запускает задание видео и возвращает HTTP 202 с jobId. Опрашивайте GET /v1/videos/{jobId}. Growth: 20 видео; Business: 50.
Заголовки
-
Authorizationstring необязательно - Облачный API-ключ Bearer pc_cloud_…. Обязателен, если не передан X-Api-Key.
-
X-Api-Keystring необязательно - Облачный API-ключ pc_cloud_…. Альтернатива Authorization.
-
Content-Typestring обязательно - Для JSON-тела должно быть application/json.
Параметры тела
-
promptstring обязательно - Промпт генерации. Не может быть пустым.
-
modelIdstring обязательно - Id модели из GET /v1/models для соответствующего типа.
-
aspectRatiostring необязательно - Необязательное соотношение сторон, например 1:1, 16:9, 9:16 или 4:3.
-
durationSecondsinteger необязательно - Необязательная длительность видео в секундах (обычно 4 или 8).
Пример запроса
curl -X POST https://api.yourdomain.com/v1/videos \
-H "Authorization: Bearer pc_cloud_..." \
-H "Content-Type: application/json" \
-d '{"prompt":"A red balloon drifting over a lake","modelId":"sora-2","aspectRatio":"16:9","durationSeconds":8}'
Успешный ответ
{
"jobId": "22222222-2222-2222-2222-222222222222",
"status": "processing",
"kind": "video",
"modelId": "sora-2"
}
Ошибки
400 prompt_required / model_not_allowed, 401 missing_authorization, 403 plan_required, 429 quota_exceeded, 502 provider_failed
Опросить задание видео
GET
/v1/videos/{jobId}
Возвращает статус видеозадания владельца ключа. Завершённые задания содержат подписанные URL.
Заголовки
-
Authorizationstring необязательно - Облачный API-ключ Bearer pc_cloud_…. Обязателен, если не передан X-Api-Key.
-
X-Api-Keystring необязательно - Облачный API-ключ pc_cloud_…. Альтернатива Authorization.
Параметры пути
-
jobIduuid обязательно - Id задания, возвращённый POST /v1/videos.
Пример запроса
curl https://api.yourdomain.com/v1/videos/22222222-2222-2222-2222-222222222222 \ -H "Authorization: Bearer pc_cloud_..."
Успешный ответ
{
"jobId": "22222222-2222-2222-2222-222222222222",
"status": "completed",
"kind": "video",
"modelId": "sora-2",
"results": [
{
"storagePath": "user/job.mp4",
"signedUrl": "https://...",
"mimeType": "video/mp4"
}
]
}
Ошибки
400 job_id_required, 401 missing_authorization, 403 plan_required, 404 job_not_found
Получить использование
GET
/v1/usage
Возвращает использование преобразований и медиа за текущий облачный период, включая лимиты.
Заголовки
-
Authorizationstring необязательно - Облачный API-ключ Bearer pc_cloud_…. Обязателен, если не передан X-Api-Key.
-
X-Api-Keystring необязательно - Облачный API-ключ pc_cloud_…. Альтернатива Authorization.
Пример запроса
curl https://api.yourdomain.com/v1/usage \ -H "Authorization: Bearer pc_cloud_..."
Успешный ответ
{
"used": 42,
"limit": 5000,
"planName": "growth",
"periodStart": "2026-07-01T00:00:00Z",
"periodEnd": "2026-08-01T00:00:00Z",
"imagesUsed": 3,
"imagesLimit": 80,
"videosUsed": 1,
"videosLimit": 20
}
Ошибки
401 missing_authorization / invalid_api_key, 502 internal_error
Проверка работоспособности
GET
/v1/health
Проверка доступности. API-ключ не требуется.
Пример запроса
curl https://api.yourdomain.com/v1/health
Успешный ответ
{ "status": "ok" }
Ошибки
—