Структурированный вывод (Structured Outputs)
Параметр response_format заставляет модель вернуть корректный JSON. Поддерживается двумя режимами.
Режим json_object
Модель гарантирует, что вывод является валидным JSON. Структуру вы определяете в системном промпте.
curl https://plusvibeapi.ru/v1/chat/completions \
-H "Authorization: Bearer $PLUSVIBE_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.5",
"response_format": { "type": "json_object" },
"messages": [
{"role": "system", "content": "Ответь JSON с полями: name (string), score (number)."},
{"role": "user", "content": "Оцени ответ: очень хорошо"}
]
}'Режим json_schema
Строгое соответствие JSON Schema — модель заполняет именно указанные поля. Поддерживается моделями GPT-5.x и совместимыми.
curl https://plusvibeapi.ru/v1/chat/completions \
-H "Authorization: Bearer $PLUSVIBE_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.5",
"response_format": {
"type": "json_schema",
"json_schema": {
"name": "review",
"strict": true,
"schema": {
"type": "object",
"properties": {
"name": { "type": "string" },
"score": { "type": "number", "minimum": 1, "maximum": 10 },
"summary": { "type": "string" }
},
"required": ["name", "score", "summary"],
"additionalProperties": false
}
}
},
"messages": [
{"role": "user", "content": "Оцени продукт: быстро доставили, упаковка аккуратная"}
]
}'Если модель не поддерживает
json_schema, шлюз автоматически передаёт запрос как есть. Для надёжного парсинга используйте GPT-5.x — они поддерживают strict-режим.Пример ответа
{
"id": "chatcmpl-...",
"choices": [{
"message": {
"role": "assistant",
"content": "{\"name\":\"товар X\",\"score\":9,\"summary\":\"Быстро и удобно\"}"
},
"finish_reason": "stop"
}],
"usage": { "prompt_tokens": 42, "completion_tokens": 18, "total_tokens": 60 }
}