From aa4012f12034d1ef28ef500c8bd800e36333a92e Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Mon, 6 Apr 2026 01:43:53 -0400 Subject: [PATCH] adjust pricing --- .../estimate_image_cost_fal_nano_banana_2.rs | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/crates/api_clients/artcraft/artcraft_router/src/generate/generate_image/cost/fal/estimate_image_cost_fal_nano_banana_2.rs b/crates/api_clients/artcraft/artcraft_router/src/generate/generate_image/cost/fal/estimate_image_cost_fal_nano_banana_2.rs index 855c17a75c..6f9a40f37a 100644 --- a/crates/api_clients/artcraft/artcraft_router/src/generate/generate_image/cost/fal/estimate_image_cost_fal_nano_banana_2.rs +++ b/crates/api_clients/artcraft/artcraft_router/src/generate/generate_image/cost/fal/estimate_image_cost_fal_nano_banana_2.rs @@ -6,12 +6,22 @@ use crate::generate::generate_image::plan::fal::plan_generate_image_fal_nano_ban pub(crate) fn estimate_image_cost_fal_nano_banana_2( plan: &PlanFalNanaBanana2<'_>, ) -> ImageGenerationCostEstimate { - // Pricing: $0.08/image at 0.5K, $0.15/image at 1K or 2K, $0.30/image at 4K. + // Pricing: $0.08/image base (1K). Multipliers: 0.5K = 0.75x, 2K = 1.5x, 4K = 2x. // (Stored as USD cents.) + // + // Fal docs: + // Your request will cost $0.08 per image. For $1.00, you can run this model 12 times. + // 2K and 4K outputs will be charged at 1.5 times and 2 times the standard rate, respectively. + // 0.5K (512px) resolution outputs will be charged at 0.75 times the standard rate. If web + // search is used, an additional $0.015 will be charged. If high thinking is used, + // an additional $0.002 will be charged. Note: Pricing is subject to change. + // let cost_per_image: u64 = match plan.resolution { - Some(FalNb2Resolution::HalfK) => 8, - Some(FalNb2Resolution::FourK) => 30, - _ => 15, + Some(FalNb2Resolution::HalfK) => 6, // $0.06 = $0.08 * 0.75 + Some(FalNb2Resolution::OneK) => 8, // $0.08 base + Some(FalNb2Resolution::TwoK) => 12, // $0.12 = $0.08 * 1.5 + Some(FalNb2Resolution::FourK) => 16, // $0.16 = $0.08 * 2.0 + None => 8, // default = 1K base }; let num_images: u64 = match plan.num_images {