use crate::{ModelPricing, ProviderPricing};

pub const FIREWORKS: ProviderPricing = ProviderPricing {
	name: "fireworks",
	models: FIREWORKS_MODELS,
};

const FIREWORKS_MODELS: &[ModelPricing] = &[
	ModelPricing {
		name: "deepseek-v4-pro",
		input_cached: Some(0.0145),
		input_normal: 1.74,
		output_normal: 3.48,
		output_reasoning: None,
	},
	ModelPricing {
		name: "deepseek-v4-flash",
		input_cached: Some(0.03),
		input_normal: 0.14,
		output_normal: 0.28,
		output_reasoning: None,
	},
	ModelPricing {
		name: "kimi-k2p6",
		input_cached: None,
		input_normal: 0.95,
		output_normal: 4.0,
		output_reasoning: None,
	},
	ModelPricing {
		name: "minimax-m2p7",
		input_cached: Some(0.06),
		input_normal: 0.3,
		output_normal: 1.2,
		output_reasoning: None,
	},
	ModelPricing {
		name: "qwen3p6-plus",
		input_cached: Some(0.1),
		input_normal: 0.5,
		output_normal: 3.0,
		output_reasoning: None,
	},
	ModelPricing {
		name: "glm-5p1",
		input_cached: Some(0.26),
		input_normal: 1.4,
		output_normal: 4.4,
		output_reasoning: None,
	},
	ModelPricing {
		name: "kimi-k2p5",
		input_cached: Some(0.1),
		input_normal: 0.6,
		output_normal: 3.0,
		output_reasoning: None,
	},
	ModelPricing {
		name: "deepseek-v3p2",
		input_cached: Some(0.28),
		input_normal: 0.56,
		output_normal: 1.68,
		output_reasoning: None,
	},
	ModelPricing {
		name: "deepseek-v3p1",
		input_cached: Some(0.28),
		input_normal: 0.56,
		output_normal: 1.68,
		output_reasoning: None,
	},
	ModelPricing {
		name: "llama-3p3-70b-instruct",
		input_cached: Some(0.45),
		input_normal: 0.9,
		output_normal: 0.9,
		output_reasoning: None,
	},
	ModelPricing {
		name: "minimax-m2p5",
		input_cached: Some(0.03),
		input_normal: 0.3,
		output_normal: 1.2,
		output_reasoning: None,
	},
	ModelPricing {
		name: "glm-4p7",
		input_cached: Some(0.3),
		input_normal: 0.6,
		output_normal: 2.2,
		output_reasoning: None,
	},
	ModelPricing {
		name: "qwen3-vl-30b-a3b-thinking",
		input_cached: Some(0.08),
		input_normal: 0.15,
		output_normal: 0.6,
		output_reasoning: None,
	},
	ModelPricing {
		name: "qwen3-vl-30b-a3b-instruct",
		input_cached: Some(0.08),
		input_normal: 0.15,
		output_normal: 0.6,
		output_reasoning: None,
	},
	ModelPricing {
		name: "qwen3-8b",
		input_cached: Some(0.1),
		input_normal: 0.2,
		output_normal: 0.2,
		output_reasoning: None,
	},
	ModelPricing {
		name: "qwen3-coder-480b-a35b-instruct",
		input_cached: Some(0.225),
		input_normal: 0.45,
		output_normal: 1.8,
		output_reasoning: None,
	},
	ModelPricing {
		name: "gpt-oss-20b",
		input_cached: Some(0.04),
		input_normal: 0.07,
		output_normal: 0.3,
		output_reasoning: None,
	},
	ModelPricing {
		name: "gpt-oss-120b",
		input_cached: Some(0.01),
		input_normal: 0.15,
		output_normal: 0.6,
		output_reasoning: None,
	},
	ModelPricing {
		name: "glm-4p6",
		input_cached: Some(0.275),
		input_normal: 0.55,
		output_normal: 2.19,
		output_reasoning: None,
	},
	ModelPricing {
		name: "kimi-k2-instruct",
		input_cached: Some(0.3),
		input_normal: 0.6,
		output_normal: 2.5,
		output_reasoning: None,
	},
	ModelPricing {
		name: "chronos-hermes-13b-v2",
		input_cached: Some(0.1),
		input_normal: 0.2,
		output_normal: 0.2,
		output_reasoning: None,
	},
	ModelPricing {
		name: "code-llama-13b",
		input_cached: Some(0.1),
		input_normal: 0.2,
		output_normal: 0.2,
		output_reasoning: None,
	},
	ModelPricing {
		name: "code-llama-13b-instruct",
		input_cached: Some(0.1),
		input_normal: 0.2,
		output_normal: 0.2,
		output_reasoning: None,
	},
	ModelPricing {
		name: "code-llama-13b-python",
		input_cached: Some(0.1),
		input_normal: 0.2,
		output_normal: 0.2,
		output_reasoning: None,
	},
	ModelPricing {
		name: "code-llama-34b",
		input_cached: Some(0.45),
		input_normal: 0.9,
		output_normal: 0.9,
		output_reasoning: None,
	},
	ModelPricing {
		name: "code-llama-34b-instruct",
		input_cached: Some(0.45),
		input_normal: 0.9,
		output_normal: 0.9,
		output_reasoning: None,
	},
	ModelPricing {
		name: "code-llama-34b-python",
		input_cached: Some(0.45),
		input_normal: 0.9,
		output_normal: 0.9,
		output_reasoning: None,
	},
	ModelPricing {
		name: "code-llama-70b",
		input_cached: Some(0.45),
		input_normal: 0.9,
		output_normal: 0.9,
		output_reasoning: None,
	},
	ModelPricing {
		name: "code-llama-70b-instruct",
		input_cached: Some(0.45),
		input_normal: 0.9,
		output_normal: 0.9,
		output_reasoning: None,
	},
	ModelPricing {
		name: "code-llama-70b-python",
		input_cached: Some(0.45),
		input_normal: 0.9,
		output_normal: 0.9,
		output_reasoning: None,
	},
	ModelPricing {
		name: "code-llama-7b",
		input_cached: Some(0.1),
		input_normal: 0.2,
		output_normal: 0.2,
		output_reasoning: None,
	},
	ModelPricing {
		name: "code-llama-7b-instruct",
		input_cached: Some(0.1),
		input_normal: 0.2,
		output_normal: 0.2,
		output_reasoning: None,
	},
	ModelPricing {
		name: "code-llama-7b-python",
		input_cached: Some(0.1),
		input_normal: 0.2,
		output_normal: 0.2,
		output_reasoning: None,
	},
	ModelPricing {
		name: "codeqwen-1.5-7b",
		input_cached: Some(0.1),
		input_normal: 0.2,
		output_normal: 0.2,
		output_reasoning: None,
	},
	ModelPricing {
		name: "codegemma-2b",
		input_cached: Some(0.05),
		input_normal: 0.1,
		output_normal: 0.1,
		output_reasoning: None,
	},
	ModelPricing {
		name: "codegemma-7b",
		input_cached: Some(0.1),
		input_normal: 0.2,
		output_normal: 0.2,
		output_reasoning: None,
	},
	ModelPricing {
		name: "cogito-671b-v2p1",
		input_cached: Some(0.6),
		input_normal: 1.2,
		output_normal: 1.2,
		output_reasoning: None,
	},
	ModelPricing {
		name: "cogito-v1-preview-llama-3b",
		input_cached: Some(0.05),
		input_normal: 0.1,
		output_normal: 0.1,
		output_reasoning: None,
	},
	ModelPricing {
		name: "cogito-v1-preview-llama-70b",
		input_cached: Some(0.45),
		input_normal: 0.9,
		output_normal: 0.9,
		output_reasoning: None,
	},
	ModelPricing {
		name: "cogito-v1-preview-llama-8b",
		input_cached: Some(0.1),
		input_normal: 0.2,
		output_normal: 0.2,
		output_reasoning: None,
	},
	ModelPricing {
		name: "cogito-v1-preview-qwen-14b",
		input_cached: Some(0.1),
		input_normal: 0.2,
		output_normal: 0.2,
		output_reasoning: None,
	},
	ModelPricing {
		name: "cogito-v1-preview-qwen-32b",
		input_cached: Some(0.45),
		input_normal: 0.9,
		output_normal: 0.9,
		output_reasoning: None,
	},
	ModelPricing {
		name: "dbrx-instruct",
		input_cached: Some(0.6),
		input_normal: 1.2,
		output_normal: 1.2,
		output_reasoning: None,
	},
	ModelPricing {
		name: "deepseek-coder-1.3b-base",
		input_cached: Some(0.05),
		input_normal: 0.1,
		output_normal: 0.1,
		output_reasoning: None,
	},
	ModelPricing {
		name: "deepseek-coder-33b-instruct",
		input_cached: Some(0.45),
		input_normal: 0.9,
		output_normal: 0.9,
		output_reasoning: None,
	},
	ModelPricing {
		name: "deepseek-coder-7b-base",
		input_cached: Some(0.1),
		input_normal: 0.2,
		output_normal: 0.2,
		output_reasoning: None,
	},
	ModelPricing {
		name: "deepseek-coder-7b-base-v1.5",
		input_cached: Some(0.1),
		input_normal: 0.2,
		output_normal: 0.2,
		output_reasoning: None,
	},
	ModelPricing {
		name: "deepseek-coder-7b-instruct-v1.5",
		input_cached: Some(0.1),
		input_normal: 0.2,
		output_normal: 0.2,
		output_reasoning: None,
	},
	ModelPricing {
		name: "deepseek-r1-(fast)",
		input_cached: Some(0.675),
		input_normal: 1.35,
		output_normal: 5.4,
		output_reasoning: None,
	},
	ModelPricing {
		name: "llama-2-13b",
		input_cached: Some(0.1),
		input_normal: 0.2,
		output_normal: 0.2,
		output_reasoning: None,
	},
	ModelPricing {
		name: "llama-2-13b-chat",
		input_cached: Some(0.1),
		input_normal: 0.2,
		output_normal: 0.2,
		output_reasoning: None,
	},
	ModelPricing {
		name: "llama-2-70b",
		input_cached: Some(0.05),
		input_normal: 0.1,
		output_normal: 0.1,
		output_reasoning: None,
	},
	ModelPricing {
		name: "llama-2-70b-chat",
		input_cached: Some(0.45),
		input_normal: 0.9,
		output_normal: 0.9,
		output_reasoning: None,
	},
	ModelPricing {
		name: "llama-2-7b",
		input_cached: Some(0.1),
		input_normal: 0.2,
		output_normal: 0.2,
		output_reasoning: None,
	},
	ModelPricing {
		name: "llama-2-7b-chat",
		input_cached: Some(0.1),
		input_normal: 0.2,
		output_normal: 0.2,
		output_reasoning: None,
	},
	ModelPricing {
		name: "llama-3-8b",
		input_cached: Some(0.1),
		input_normal: 0.2,
		output_normal: 0.2,
		output_reasoning: None,
	},
	ModelPricing {
		name: "llama-3-8b-instruct",
		input_cached: Some(0.1),
		input_normal: 0.2,
		output_normal: 0.2,
		output_reasoning: None,
	},
	ModelPricing {
		name: "llama-3-70b-instruct",
		input_cached: Some(0.45),
		input_normal: 0.9,
		output_normal: 0.9,
		output_reasoning: None,
	},
	ModelPricing {
		name: "llama-3.1-405b-instruct",
		input_cached: Some(1.5),
		input_normal: 3.0,
		output_normal: 3.0,
		output_reasoning: None,
	},
	ModelPricing {
		name: "mistral-7b",
		input_cached: Some(0.1),
		input_normal: 0.2,
		output_normal: 0.2,
		output_reasoning: None,
	},
	ModelPricing {
		name: "mixtral-8x7b",
		input_cached: Some(0.25),
		input_normal: 0.5,
		output_normal: 0.5,
		output_reasoning: None,
	},
	ModelPricing {
		name: "glm-5",
		input_cached: Some(0.2),
		input_normal: 1.0,
		output_normal: 3.2,
		output_reasoning: None,
	},
];
