{"openapi":"3.1.0","info":{"title":"NLSGPT","version":"1","description":"Своя модель nlsgpt-1 и готовые продукты для казахстанского бизнеса. Модель можно не называть — отвечает наша. Оплата в тенге, закрывающие документы, один ключ на всё. Потокового ответа нет: с `stream: true` запрос отвечает 400 `streaming_not_supported`, деньги не списываются. Ответ приходит целиком, одним объектом."},"servers":[{"url":"https://gpt.nls.kz/v1"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Ключ вида nlsgpt-… из кабинета, раздел «Ключи»."}}},"paths":{"/chat/completions":{"post":{"operationId":"createChatCompletion","summary":"Ответ модели, совместимый с OpenAI. Без поля model отвечает nlsgpt-1","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["messages"],"properties":{"model":{"type":"string","enum":["nlsgpt-1","gpt-5.6-sol","gpt-5.6-luna","gemini-3.7-flash","qwen3.8-max","deepseek-v4-pro","deepseek-v4-flash"],"default":"nlsgpt-1","description":"Необязательно. Без него отвечает модель NLSGPT."},"messages":{"type":"array","items":{"type":"object"}},"stream":{"type":"boolean","enum":[false],"default":false,"description":"Потокового ответа нет: с `stream: true` запрос отвечает 400 `streaming_not_supported`, деньги не списываются. Ответ приходит целиком, одним объектом."}}}}}},"responses":{"200":{"description":"Ответ модели"},"400":{"description":"Запрос не принят, в том числе `streaming_not_supported`"}}}},"/models":{"get":{"operationId":"listModels","summary":"Модели, доступные вашей компании","description":"Формат ответа как у OpenAI: {\"object\": \"list\", \"data\": [...]}. Рядом с каждым id — длина контекста и цена в тенге за миллион токенов.","responses":{"200":{"description":"Список моделей"}}}},"/durys":{"post":{"operationId":"runDurys","summary":"Проверить текст на ошибки","description":"Пункты договора, письма клиентам, названия услуг — на русском и казахском. Правим опечатки, окончания и пунктуацию; стиль и смысл не трогаем. Цена: 2 500 ₸ за 1 000 строк.","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"UUID запроса. Повтор с тем же ключом не выполняется и не списывается: ответ 409 с кодом duplicate_request и полями event, units, charged_tenge для сверки. Ответ первого запроса не хранится."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["lines"],"properties":{"lines":{"type":"array","items":{"type":"string"},"maxItems":1000,"description":"Строки по одной на строка."}}}}}},"responses":{"200":{"description":"Результат","content":{"application/json":{"schema":{"type":"object","properties":{"product":{"type":"string","enum":["durys"]},"units":{"type":"integer","description":"Сколько строк посчитано"},"charged_tenge":{"type":"number","description":"Сколько списано с баланса"},"rows":{"type":"array","items":{"type":"object","properties":{"fixed":{"type":"string"},"note":{"type":"string"}}}}}}}}},"400":{"description":"Запрос не тот: нет обязательного поля или строк слишком много"},"409":{"description":"Idempotency-Key уже использован: запрос выполнен и оплачен один раз"},"402":{"description":"На балансе нет денег"},"403":{"description":"Продукт закрыт администратором компании"},"410":{"description":"Продукт закрыт навсегда, в ответе названа замена"},"422":{"description":"Не получилось выполнить, деньги не списаны"},"429":{"description":"Исчерпан лимит расхода, в ответе поле reset_at"},"503":{"description":"Поставщик не ответил, деньги не списаны"}}}},"/esep":{"post":{"operationId":"runEsep","summary":"Разобрать счёт или накладную","description":"Фотография, скан или PDF счёта, накладной, акта — и поля документа готовы к переносу в 1С: номер, дата, поставщик, БИН, сумма и НДС. Цена: 50 ₸ за документ.","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"UUID запроса. Повтор с тем же ключом не выполняется и не списывается: ответ 409 с кодом duplicate_request и полями event, units, charged_tenge для сверки. Ответ первого запроса не хранится."}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["files"],"properties":{"files":{"type":"array","maxItems":5,"items":{"type":"string","format":"binary"},"description":"Фотографии, сканы или PDF, до 10 МБ каждый"}}}}}},"responses":{"200":{"description":"Результат","content":{"application/json":{"schema":{"type":"object","properties":{"product":{"type":"string","enum":["esep"]},"units":{"type":"integer","description":"Сколько документов посчитано"},"charged_tenge":{"type":"number","description":"Сколько списано с баланса"},"documents":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"fields":{"type":"object","properties":{"number":{"type":"string"},"issued_on":{"type":"string"},"supplier":{"type":"string"},"bin":{"type":"string"},"total":{"type":"string"},"vat":{"type":"string"},"purpose":{"type":"string"}}},"error":{"type":"string","nullable":true}}}}}}}}},"400":{"description":"Запрос не тот: нет обязательного поля или строк слишком много"},"409":{"description":"Idempotency-Key уже использован: запрос выполнен и оплачен один раз"},"402":{"description":"На балансе нет денег"},"403":{"description":"Продукт закрыт администратором компании"},"410":{"description":"Продукт закрыт навсегда, в ответе названа замена"},"422":{"description":"Не получилось выполнить, деньги не списаны"},"429":{"description":"Исчерпан лимит расхода, в ответе поле reset_at"},"503":{"description":"Поставщик не ответил, деньги не списаны"}}}},"/meken":{"post":{"operationId":"runMeken","summary":"Привести адреса к единому виду","description":"Разнобой в написании адресов: «мкр-н Самал-2, д.15 кв 3» и «Самал 2 микрорайон дом 15 квартира 3» становятся одной строкой. Область, город, улица, дом, квартира — по отдельным полям. Цена: 2 500 ₸ за 1 000 записей.","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"UUID запроса. Повтор с тем же ключом не выполняется и не списывается: ответ 409 с кодом duplicate_request и полями event, units, charged_tenge для сверки. Ответ первого запроса не хранится."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["lines"],"properties":{"lines":{"type":"array","items":{"type":"string"},"maxItems":1000,"description":"Строки по одной на запись."}}}}}},"responses":{"200":{"description":"Результат","content":{"application/json":{"schema":{"type":"object","properties":{"product":{"type":"string","enum":["meken"]},"units":{"type":"integer","description":"Сколько записей посчитано"},"charged_tenge":{"type":"number","description":"Сколько списано с баланса"},"rows":{"type":"array","items":{"type":"object","properties":{"full":{"type":"string"},"region":{"type":"string"},"city":{"type":"string"},"street":{"type":"string"},"house":{"type":"string"},"room":{"type":"string"}}}}}}}}},"400":{"description":"Запрос не тот: нет обязательного поля или строк слишком много"},"409":{"description":"Idempotency-Key уже использован: запрос выполнен и оплачен один раз"},"402":{"description":"На балансе нет денег"},"403":{"description":"Продукт закрыт администратором компании"},"410":{"description":"Продукт закрыт навсегда, в ответе названа замена"},"422":{"description":"Не получилось выполнить, деньги не списаны"},"429":{"description":"Исчерпан лимит расхода, в ответе поле reset_at"},"503":{"description":"Поставщик не ответил, деньги не списаны"}}}},"/tilmash":{"post":{"operationId":"runTilmash","summary":"Перевести на казахский","description":"Наименования товаров, должности, статьи расходов и пункты меню — на казахский, списком. Термины бухгалтерии и делопроизводства не переводим дословно, а берём принятые в Казахстане. Цена: 2 500 ₸ за 1 000 строк.","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"UUID запроса. Повтор с тем же ключом не выполняется и не списывается: ответ 409 с кодом duplicate_request и полями event, units, charged_tenge для сверки. Ответ первого запроса не хранится."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["lines"],"properties":{"lines":{"type":"array","items":{"type":"string"},"maxItems":1000,"description":"Строки по одной на строка."}}}}}},"responses":{"200":{"description":"Результат","content":{"application/json":{"schema":{"type":"object","properties":{"product":{"type":"string","enum":["tilmash"]},"units":{"type":"integer","description":"Сколько строк посчитано"},"charged_tenge":{"type":"number","description":"Сколько списано с баланса"},"rows":{"type":"array","items":{"type":"object","properties":{"kazakh":{"type":"string"},"note":{"type":"string"}}}}}}}}},"400":{"description":"Запрос не тот: нет обязательного поля или строк слишком много"},"409":{"description":"Idempotency-Key уже использован: запрос выполнен и оплачен один раз"},"402":{"description":"На балансе нет денег"},"403":{"description":"Продукт закрыт администратором компании"},"410":{"description":"Продукт закрыт навсегда, в ответе названа замена"},"422":{"description":"Не получилось выполнить, деньги не списаны"},"429":{"description":"Исчерпан лимит расхода, в ответе поле reset_at"},"503":{"description":"Поставщик не ответил, деньги не списаны"}}}},"/tyndau":{"post":{"operationId":"runTyndau","summary":"Расшифровать запись в текст","description":"Совещание, звонок или диктофонная запись становятся текстом. Формат mp3, m4a, wav или ogg, до 25 МБ за раз — это примерно два часа разговора. Цена: 9 ₸ за минуту записи.","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"UUID запроса. Повтор с тем же ключом не выполняется и не списывается: ответ 409 с кодом duplicate_request и полями event, units, charged_tenge для сверки. Ответ первого запроса не хранится."}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["file"],"properties":{"file":{"type":"string","format":"binary","description":"mp3, m4a, wav или ogg, до 25 МБ"}}}}}},"responses":{"200":{"description":"Результат","content":{"application/json":{"schema":{"type":"object","properties":{"product":{"type":"string","enum":["tyndau"]},"units":{"type":"integer","description":"Сколько минут посчитано"},"charged_tenge":{"type":"number","description":"Сколько списано с баланса"},"text":{"type":"string"}}}}}},"400":{"description":"Запрос не тот: нет обязательного поля или строк слишком много"},"409":{"description":"Idempotency-Key уже использован: запрос выполнен и оплачен один раз"},"402":{"description":"На балансе нет денег"},"403":{"description":"Продукт закрыт администратором компании"},"410":{"description":"Продукт закрыт навсегда, в ответе названа замена"},"422":{"description":"Не получилось выполнить, деньги не списаны"},"429":{"description":"Исчерпан лимит расхода, в ответе поле reset_at"},"503":{"description":"Поставщик не ответил, деньги не списаны"}}}}}}