diff --git a/providers/firmware/logo.svg b/providers/firmware/logo.svg new file mode 100644 index 00000000..baa524ba --- /dev/null +++ b/providers/firmware/logo.svg @@ -0,0 +1,18 @@ + + + + + + diff --git a/providers/firmware/models/anthropic/claude-haiku-4-5-20251001.toml b/providers/firmware/models/anthropic/claude-haiku-4-5-20251001.toml new file mode 100644 index 00000000..c5065d00 --- /dev/null +++ b/providers/firmware/models/anthropic/claude-haiku-4-5-20251001.toml @@ -0,0 +1,22 @@ +name = "Claude Haiku 4.5" +family = "claude-haiku" +release_date = "2025-10-15" +last_updated = "2025-10-15" +attachment = true +reasoning = true +temperature = true +tool_call = true +knowledge = "2025-02-28" +open_weights = false + +[cost] +input = 0 +output = 0 + +[limit] +context = 200_000 +output = 64_000 + +[modalities] +input = ["text", "image", "pdf"] +output = ["text"] diff --git a/providers/firmware/models/anthropic/claude-opus-4-5.toml b/providers/firmware/models/anthropic/claude-opus-4-5.toml new file mode 100644 index 00000000..cefa35bc --- /dev/null +++ b/providers/firmware/models/anthropic/claude-opus-4-5.toml @@ -0,0 +1,22 @@ +name = "Claude Opus 4.5 (latest)" +family = "claude-opus" +release_date = "2025-11-24" +last_updated = "2025-11-24" +attachment = true +reasoning = true +temperature = true +tool_call = true +knowledge = "2025-03-31" +open_weights = false + +[cost] +input = 0 +output = 0 + +[limit] +context = 200_000 +output = 64_000 + +[modalities] +input = ["text", "image", "pdf"] +output = ["text"] diff --git a/providers/firmware/models/anthropic/claude-sonnet-4-5-20250929.toml b/providers/firmware/models/anthropic/claude-sonnet-4-5-20250929.toml new file mode 100644 index 00000000..8d43cf6c --- /dev/null +++ b/providers/firmware/models/anthropic/claude-sonnet-4-5-20250929.toml @@ -0,0 +1,22 @@ +name = "Claude Sonnet 4.5" +family = "claude-sonnet" +release_date = "2025-09-29" +last_updated = "2025-09-29" +attachment = true +reasoning = true +temperature = true +tool_call = true +knowledge = "2025-07-31" +open_weights = false + +[cost] +input = 0 +output = 0 + +[limit] +context = 200_000 +output = 64_000 + +[modalities] +input = ["text", "image", "pdf"] +output = ["text"] diff --git a/providers/firmware/models/deepseek/deepseek-chat.toml b/providers/firmware/models/deepseek/deepseek-chat.toml new file mode 100644 index 00000000..580eb6ed --- /dev/null +++ b/providers/firmware/models/deepseek/deepseek-chat.toml @@ -0,0 +1,22 @@ +name = "DeepSeek Chat" +family = "deepseek-chat" +release_date = "2024-12-26" +last_updated = "2025-09-29" +attachment = true +reasoning = false +temperature = true +knowledge = "2024-07" +tool_call = true +open_weights = false + +[cost] +input = 0 +output = 0 + +[limit] +context = 128_000 +output = 8_192 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/firmware/models/deepseek/deepseek-coder.toml b/providers/firmware/models/deepseek/deepseek-coder.toml new file mode 100644 index 00000000..aa1a7df5 --- /dev/null +++ b/providers/firmware/models/deepseek/deepseek-coder.toml @@ -0,0 +1,21 @@ +name = "DeepSeek Coder" +family = "deepseek-coder" +release_date = "2024-01-25" +last_updated = "2024-01-26" +attachment = false +reasoning = false +temperature = true +tool_call = true +open_weights = true + +[cost] +input = 0 +output = 0 + +[limit] +context = 16_384 +output = 8_192 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/firmware/models/deepseek/deepseek-reasoner.toml b/providers/firmware/models/deepseek/deepseek-reasoner.toml new file mode 100644 index 00000000..f1fdf637 --- /dev/null +++ b/providers/firmware/models/deepseek/deepseek-reasoner.toml @@ -0,0 +1,25 @@ +name = "DeepSeek Reasoner" +family = "deepseek" +release_date = "2025-01-20" +last_updated = "2025-09-29" +attachment = true +reasoning = true +temperature = true +knowledge = "2024-07" +tool_call = true +open_weights = false + +[interleaved] +field = "reasoning_content" + +[cost] +input = 0 +output = 0 + +[limit] +context = 128_000 +output = 65_536 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/firmware/models/google/gemini-2.5-flash.toml b/providers/firmware/models/google/gemini-2.5-flash.toml new file mode 100644 index 00000000..ee456145 --- /dev/null +++ b/providers/firmware/models/google/gemini-2.5-flash.toml @@ -0,0 +1,22 @@ +name = "Gemini 2.5 Flash" +family = "gemini-flash" +release_date = "2025-07-17" +last_updated = "2025-07-17" +attachment = true +reasoning = true +temperature = true +knowledge = "2025-01" +tool_call = true +open_weights = false + +[cost] +input = 0 +output = 0 + +[limit] +context = 1_048_576 +output = 65_536 + +[modalities] +input = ["text", "image", "audio", "video", "pdf"] +output = ["text"] diff --git a/providers/firmware/models/google/gemini-2.5-pro.toml b/providers/firmware/models/google/gemini-2.5-pro.toml new file mode 100644 index 00000000..f017a9ab --- /dev/null +++ b/providers/firmware/models/google/gemini-2.5-pro.toml @@ -0,0 +1,22 @@ +name = "Gemini 2.5 Pro" +family = "gemini-pro" +release_date = "2025-03-20" +last_updated = "2025-06-05" +attachment = true +reasoning = true +temperature = true +knowledge = "2025-01" +tool_call = true +open_weights = false + +[cost] +input = 0 +output = 0 + +[limit] +context = 1_048_576 +output = 65_536 + +[modalities] +input = ["text", "image", "audio", "video", "pdf"] +output = ["text"] diff --git a/providers/firmware/models/google/gemini-3-flash-preview.toml b/providers/firmware/models/google/gemini-3-flash-preview.toml new file mode 100644 index 00000000..010dec4f --- /dev/null +++ b/providers/firmware/models/google/gemini-3-flash-preview.toml @@ -0,0 +1,23 @@ +name = "Gemini 3 Flash Preview" +family = "gemini-flash" +release_date = "2025-12-17" +last_updated = "2025-12-17" +attachment = true +reasoning = true +temperature = true +tool_call = true +structured_output = true +knowledge = "2025-01" +open_weights = false + +[cost] +input = 0 +output = 0 + +[limit] +context = 1_048_576 +output = 65_536 + +[modalities] +input = ["text", "image", "video", "audio", "pdf"] +output = ["text"] diff --git a/providers/firmware/models/google/gemini-3-pro-preview.toml b/providers/firmware/models/google/gemini-3-pro-preview.toml new file mode 100644 index 00000000..e68b8023 --- /dev/null +++ b/providers/firmware/models/google/gemini-3-pro-preview.toml @@ -0,0 +1,23 @@ +name = "Gemini 3 Pro Preview" +family = "gemini-pro" +release_date = "2025-11-18" +last_updated = "2025-11-18" +attachment = true +reasoning = true +temperature = true +tool_call = true +structured_output = true +knowledge = "2025-01" +open_weights = false + +[cost] +input = 0 +output = 0 + +[limit] +context = 1_000_000 +output = 64_000 + +[modalities] +input = ["text", "image", "video", "audio", "pdf"] +output = ["text"] diff --git a/providers/firmware/models/openai/gpt-4o.toml b/providers/firmware/models/openai/gpt-4o.toml new file mode 100644 index 00000000..c3863f68 --- /dev/null +++ b/providers/firmware/models/openai/gpt-4o.toml @@ -0,0 +1,23 @@ +name = "GPT-4o" +family = "gpt-4o" +release_date = "2024-05-13" +last_updated = "2024-08-06" +attachment = true +reasoning = false +temperature = true +knowledge = "2023-09" +tool_call = true +structured_output = true +open_weights = false + +[cost] +input = 0 +output = 0 + +[limit] +context = 128_000 +output = 16_384 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/firmware/models/openai/gpt-5.2.toml b/providers/firmware/models/openai/gpt-5.2.toml new file mode 100644 index 00000000..e123fa97 --- /dev/null +++ b/providers/firmware/models/openai/gpt-5.2.toml @@ -0,0 +1,22 @@ +name = "GPT-5.2" +family = "gpt-5" +release_date = "2025-12-11" +last_updated = "2025-12-11" +attachment = true +reasoning = true +temperature = false +knowledge = "2025-08-31" +tool_call = true +open_weights = false + +[cost] +input = 0 +output = 0 + +[limit] +context = 400_000 +output = 128_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/firmware/models/openai/gpt-5.toml b/providers/firmware/models/openai/gpt-5.toml new file mode 100644 index 00000000..c90cf83b --- /dev/null +++ b/providers/firmware/models/openai/gpt-5.toml @@ -0,0 +1,23 @@ +name = "GPT-5" +family = "gpt-5" +release_date = "2025-08-07" +last_updated = "2025-08-07" +attachment = true +reasoning = true +temperature = false +knowledge = "2024-09-30" +tool_call = true +structured_output = true +open_weights = false + +[cost] +input = 0 +output = 0 + +[limit] +context = 400_000 +output = 128_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/firmware/models/xai/grok-4-fast-non-reasoning.toml b/providers/firmware/models/xai/grok-4-fast-non-reasoning.toml new file mode 100644 index 00000000..3ff5fbf4 --- /dev/null +++ b/providers/firmware/models/xai/grok-4-fast-non-reasoning.toml @@ -0,0 +1,22 @@ +name = "Grok 4 Fast (Non-Reasoning)" +family = "grok" +release_date = "2025-09-19" +last_updated = "2025-09-19" +attachment = true +reasoning = false +temperature = true +knowledge = "2025-07" +tool_call = true +open_weights = false + +[cost] +input = 0 +output = 0 + +[limit] +context = 2_000_000 +output = 30_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/firmware/models/xai/grok-4-fast-reasoning.toml b/providers/firmware/models/xai/grok-4-fast-reasoning.toml new file mode 100644 index 00000000..eb192c17 --- /dev/null +++ b/providers/firmware/models/xai/grok-4-fast-reasoning.toml @@ -0,0 +1,22 @@ +name = "Grok 4 Fast (Reasoning)" +family = "grok" +release_date = "2025-09-19" +last_updated = "2025-09-19" +attachment = true +reasoning = true +temperature = true +knowledge = "2025-07" +tool_call = true +open_weights = false + +[cost] +input = 0 +output = 0 + +[limit] +context = 2_000_000 +output = 30_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/firmware/models/xai/grok-code-fast-1.toml b/providers/firmware/models/xai/grok-code-fast-1.toml new file mode 100644 index 00000000..49dcde8b --- /dev/null +++ b/providers/firmware/models/xai/grok-code-fast-1.toml @@ -0,0 +1,22 @@ +name = "Grok Code Fast 1" +family = "grok" +release_date = "2025-08-28" +last_updated = "2025-08-28" +attachment = false +reasoning = true +temperature = true +knowledge = "2023-10" +tool_call = true +open_weights = false + +[cost] +input = 0 +output = 0 + +[limit] +context = 256_000 +output = 10_000 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/firmware/provider.toml b/providers/firmware/provider.toml new file mode 100644 index 00000000..ac4c1bcc --- /dev/null +++ b/providers/firmware/provider.toml @@ -0,0 +1,6 @@ +name = "Firmware" +# Token for Firmware's OpenAI-compatible proxy +env = ["FIRMWARE_API_KEY"] +npm = "@ai-sdk/openai-compatible" +api = "https://app.firmware.ai/api/v1" +doc = "https://firmware.ai"