# Файловая диктовка без Desktop

Переносимый запуск: команды ниже выполняются из корня комплекта, не из каталога этой страницы. Подготовка описана в [AUDIO-README.md](</experiments/voice-ai/archive/c/DOCS/voice-systems-textbook-2026-10-02/voice-systems-textbook/AUDIO-README.md>).

`chatgpt-transcribe.sh` отправляет готовую запись на удалённый ChatGPT
`POST https://chatgpt.com/backend-api/transcribe` и выводит JSON-поле text
в терминал. Запись передаётся одним multipart file, без Base64 и без изменения
аудиобайтов. Локального распознавания, микрофона, Codex или Electron здесь нет.

```bash
# Выполняйте из корня распакованного комплекта.
source ./scripts/audio-textbook/env.sh
bash "$repo/scripts/voice-probes/chatgpt-transcribe.sh"    "$INPUT_AUDIO" --auth-file "$auth_file"
```

Нужны Bash, Python3 и собственный ChatGPT-вход. Токен читается непосредственно
из файла, переданного через `--auth-file "$auth_file"`. Если аргумент не задан,
используется `${CODEX_HOME:-$HOME/.codex}/auth.json`. Токен не копируется в код/argv/вывод.
Файл входа только читается, refresh не выполняется. Cookies и attestation
не копируются. Redirect и HTTP proxy окружения отключены. Для другого профиля
передайте его auth-файл явно; основной профиль не переключается.

Демо проверяет размер 1 байт–25МБ, безопасное имя и сигнатуру известного
контейнера, чтобы не назвать WAV файлом FLAC. Это не полное декодирование:
обрезанные или повреждённые данные внутри контейнера всё ещё может обнаружить
только сервис/декодер. Точный серверный лимит этого приватного маршрута неизвестен.
Непустой текст — успех; HTTP-ошибка/неверный JSON/пустой текст — отказ.

29 сентября 2026 `raven.flac` был принят. Ранее прямой клиент давал 403 challenge;
сам по себе этот отказ не означает, что сервис не понимает FLAC. Используемый
static User-Agent повторяет наблюдавшуюся строку, но не делает Python клиент
тождественным Chromium. Доступ другого аккаунта не гарантирован.

Другие файлы каталога — исследовательские пробы, не часть этой команды.
`dictate-through-desktop.sh` использует запущенный Desktop и виртуальный микрофон;
для самостоятельной транскрипции он не нужен и в текущем этапе не запускался.

Контракты, схема Desktop/демо, различия авторизации и code-map:
[HTML-учебник](</experiments/voice-ai/archive/c/DOCS/voice-systems-textbook-2026-10-02/voice-systems-textbook/docs/codex-cli-voice-textbook.html#stt-http>),
[разбор HTTP](</experiments/voice-ai/archive/c/DOCS/voice-systems-textbook-2026-10-02/voice-systems-textbook/docs/chatgpt-audio-http.md>).
