Оплата за время работы сервера не всегда точно отражает ценность, которую получает пользователь. fal меняет подход к тарификации WebSocket-сервисов, позволяя инженерам определять стоимость на основе конкретных единиц работы, а не продолжительности соединения.
fal теперь даёт возможность WebSocket-эндпоинтам декларировать биллинг прямо в ответе 101 upgrade. Это позволяет привязать стоимость к объёму выполненной работы, а не просто к длительности активной сессии.
Для гибкой тарификации предусмотрены два новых заголовка:
x-fal-billable-units— устанавливается, если количество единиц тарификации известно сразу при подключении.x-fal-billable-units-webhook— устанавливается в1, если точное количество единиц станет известно только по завершении сессии. В этом случае после окончания работы нужно отправить общее количество единиц черезPOST /requests/billable-units/{request_id}.
Если эти заголовки не указаны, платформа fal по-прежнему будет тарифицировать сессии по их продолжительности. Это отличается от подхода, например, AWS API Gateway, где WebSocket API тарифицируются по количеству сообщений (первый миллиард по $1.00 за миллион) и объёму переданных данных.
Этот шаг даёт инженерам fal гибкость, которой нет у многих стандартных облачных решений, таких как AWS API Gateway с его тарификацией за миллион сообщений или по времени. Однако фактическая стоимость одной «единицы» по-прежнему определяется fal, а не разработчиком.