Файлы
File — это небольшое значение-ссылка: id, name, size, mime
и необязательный publicUrl — но никогда не сами байты. Байты хранятся в собственном объектном хранилище
платформы; сценарий передаёт между узлами только ссылку, точно так же, как передаёт число или строку. Это не даёт
работе с файлами раздувать историю выполнения сценария, которая должна оставаться небольшой — вложение на 50 МБ
никогда не поместилось бы туда как значение, а его ссылка File помещается без проблем.
Откуда берётся File
Заголовок раздела «Откуда берётся File»Медиа из Telegram. Фото, документ, голосовое сообщение, аудио или видео, приложенные к входящему сообщению, автоматически превращаются в
Fileещё до старта сценария —message.photo,message.document,message.voice,message.audioиmessage.videoуже являются значениямиFile(или отсутствуют, если в сообщении нет медиа этого вида). Отдельный узел для «скачивания» не нужен.Действие «Скачать файл». Загружает содержимое по любому URL и сохраняет его как
File— здесь обычная ссылка превращается в файл, с которым может работать сценарий.Действие «Вызвать AI (изображение)». Просит модель, совместимую с OpenAI, сгенерировать изображение по текстовому описанию и возвращает его как
File.HTTP-запрос, настроенный на возврат файла. У узла «HTTP-запрос» есть настройка «формат ответа»; при значении «файл» тело ответа сохраняется как
Fileвместо разбора как текста или JSON — удобно для скачивания бинарных данных (PDF, изображение, архив) с любого API. Та же настройка позволяет передатьFileв качестве тела самого запроса — для загрузки файла в API, ожидающий сырые байты.Ручная загрузка. Вкладка проекта Files (см. ниже) позволяет загрузить файл вручную — удобно, чтобы дать сценарию что-то на обработку во время тестирования, не дожидаясь реального триггера.
Действие «Создать файл из текста». Превращает строку, собранную сценарием (CSV, JSON-документ, отрендеренную HTML-страницу), в
File, чтобы её можно было отправить дальше или скачать так же, как любой другой файл.
Что можно делать с File
Заголовок раздела «Что можно делать с File»Прочитать как текст — действие «Прочитать файл как текст» загружает содержимое файла в строковую переменную, отказывая для файлов сверх настраиваемого размера (состояние сценария должно оставаться небольшим; крупные файлы предназначены для передачи между узлами, а не для хранения в переменной).
Отправить в Telegram — «Отправить файл» доставляет
Fileв чат как фото, документ, видео, аудио или голосовое сообщение (тип определяется автоматически по mime либо выбирается явно).Приложить к запросу AI — «Вызвать AI»/«AI Choice» принимают список вложений
File(изображения и, если модель поддерживает, документы), чтобы модель «видела» их вместе с промптом.Распознать речь — «Вызвать AI (распознавание)» превращает аудио
File(например, голосовое сообщение из Telegram) в текст.Удалить или заново получить по id («Информация о файле»), если сохранён только его id где-то ещё (строка в базе данных, см. интеграции с базами данных), а не полная ссылка.
Публичные ссылки — по желанию
Заголовок раздела «Публичные ссылки — по желанию»По умолчанию File доступен только изнутри — из сценариев самого проекта и с вкладки Files, но никогда по
голой ссылке, которую кто-то мог бы угадать или которой поделились. Действие «Опубликовать файл» включает публичную
ссылку без авторизации (длинный неугадываемый токен, а не сам id файла) — по ней файл может открыть кто угодно; «Снять
с публикации» выключает ссылку обратно, не удаляя сам файл. Удаление файла немедленно аннулирует любую ссылку на него.
Это намеренно отделено от отправки файла в Telegram или вложения в запрос AI — оба этих сценария работают и без
публикации, поскольку байты файла передаются напрямую, а не через ссылку, которую должна забирать третья сторона.
TTL и квоты
Заголовок раздела «TTL и квоты»Каждый файл учитывается в двух ограничениях: максимальный размер одного файла и максимальный суммарный размер файлов проекта — загрузка сверх любого из них отклоняется. Файлы также истекают автоматически, если сценарий явно не попросил иначе: файл, созданный запуском на dev-стенде, по умолчанию удаляется через сутки, файл, доставленный Telegram в чат, — через неделю, а файл, созданный опубликованным (production) запуском, не истекает сам по себе никогда. Эти значения по умолчанию администратор может менять для конкретного пользователя (см. «Администрирование») — так развёртывание может повысить или понизить их для отдельной учётной записи, не трогая значения по умолчанию для всех остальных.
Вкладка Files
Заголовок раздела «Вкладка Files»У каждого проекта есть вкладка Files (рядом с Runs), где перечислено всё, что сценарий — или ручная загрузка — положил в хранилище: имя, размер, тип, кем создан, когда истекает и опубликован ли он. Отсюда можно скачать, удалить, загрузить новый файл или переключить публичную ссылку, а также увидеть, сколько квоты проекта уже занято.
