Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
185 changes: 185 additions & 0 deletions internal/providers/configs/fireworks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
{
"name": "Fireworks AI",
"id": "fireworks",
"api_key": "$FIREWORKS_API_KEY",
"api_endpoint": "https://api.fireworks.ai/inference/v1",
"type": "openai-compat",
"default_large_model_id": "accounts/fireworks/models/kimi-k2p5",
"default_small_model_id": "accounts/fireworks/models/qwen3-8b",
"models": [
{
"id": "accounts/fireworks/models/deepseek-v3p1",
"name": "DeepSeek V3.1",
"cost_per_1m_in": 0,
"cost_per_1m_out": 0,
"cost_per_1m_in_cached": 0,
"cost_per_1m_out_cached": 0,
"context_window": 163840,
"default_max_tokens": 40960,
"can_reason": false,
"supports_attachments": false
},
{
"id": "accounts/fireworks/models/deepseek-v3p2",
"name": "Deepseek v3.2",
"cost_per_1m_in": 0,
"cost_per_1m_out": 0,
"cost_per_1m_in_cached": 0,
"cost_per_1m_out_cached": 0,
"context_window": 163840,
"default_max_tokens": 40960,
"can_reason": false,
"supports_attachments": false
},
{
"id": "accounts/fireworks/models/glm-5p1",
"name": "GLM 5.1",
"cost_per_1m_in": 0,
"cost_per_1m_out": 0,
"cost_per_1m_in_cached": 0,
"cost_per_1m_out_cached": 0,
"context_window": 202752,
"default_max_tokens": 50688,
"can_reason": false,
"supports_attachments": false
},
{
"id": "accounts/fireworks/models/glm-4p7",
"name": "GLM-4.7",
"cost_per_1m_in": 0,
"cost_per_1m_out": 0,
"cost_per_1m_in_cached": 0,
"cost_per_1m_out_cached": 0,
"context_window": 202752,
"default_max_tokens": 50688,
"can_reason": false,
"supports_attachments": false
},
{
"id": "accounts/fireworks/models/glm-5",
"name": "GLM-5",
"cost_per_1m_in": 0,
"cost_per_1m_out": 0,
"cost_per_1m_in_cached": 0,
"cost_per_1m_out_cached": 0,
"context_window": 202752,
"default_max_tokens": 50688,
"can_reason": false,
"supports_attachments": false
},
{
"id": "accounts/fireworks/models/kimi-k2p5",
"name": "Kimi K2.5",
"cost_per_1m_in": 0,
"cost_per_1m_out": 0,
"cost_per_1m_in_cached": 0,
"cost_per_1m_out_cached": 0,
"context_window": 262144,
"default_max_tokens": 65536,
"can_reason": false,
"supports_attachments": true
},
{
"id": "accounts/fireworks/models/kimi-k2p6",
"name": "Kimi K2.6",
"cost_per_1m_in": 0,
"cost_per_1m_out": 0,
"cost_per_1m_in_cached": 0,
"cost_per_1m_out_cached": 0,
"context_window": 262144,
"default_max_tokens": 65536,
"can_reason": false,
"supports_attachments": true
},
{
"id": "accounts/fireworks/models/minimax-m2p7",
"name": "MiniMax M2.7",
"cost_per_1m_in": 0,
"cost_per_1m_out": 0,
"cost_per_1m_in_cached": 0,
"cost_per_1m_out_cached": 0,
"context_window": 196608,
"default_max_tokens": 49152,
"can_reason": false,
"supports_attachments": false
},
{
"id": "accounts/fireworks/models/minimax-m2p5",
"name": "MiniMax-M2.5",
"cost_per_1m_in": 0,
"cost_per_1m_out": 0,
"cost_per_1m_in_cached": 0,
"cost_per_1m_out_cached": 0,
"context_window": 196608,
"default_max_tokens": 49152,
"can_reason": false,
"supports_attachments": false
},
{
"id": "accounts/fireworks/models/gpt-oss-120b",
"name": "OpenAI gpt-oss-120b",
"cost_per_1m_in": 0,
"cost_per_1m_out": 0,
"cost_per_1m_in_cached": 0,
"cost_per_1m_out_cached": 0,
"context_window": 131072,
"default_max_tokens": 32768,
"can_reason": false,
"supports_attachments": false
},
{
"id": "accounts/fireworks/models/qwen3-8b",
"name": "Qwen3 8B",
"cost_per_1m_in": 0,
"cost_per_1m_out": 0,
"cost_per_1m_in_cached": 0,
"cost_per_1m_out_cached": 0,
"context_window": 40960,
"default_max_tokens": 10240,
"can_reason": false,
"supports_attachments": false
},
{
"id": "accounts/fireworks/models/qwen3-vl-30b-a3b-instruct",
"name": "Qwen3 VL 30B A3B Instruct",
"cost_per_1m_in": 0,
"cost_per_1m_out": 0,
"cost_per_1m_in_cached": 0,
"cost_per_1m_out_cached": 0,
"context_window": 262144,
"default_max_tokens": 65536,
"can_reason": false,
"supports_attachments": true
},
{
"id": "accounts/fireworks/models/qwen3-vl-30b-a3b-thinking",
"name": "Qwen3 VL 30B A3B Thinking",
"cost_per_1m_in": 0,
"cost_per_1m_out": 0,
"cost_per_1m_in_cached": 0,
"cost_per_1m_out_cached": 0,
"context_window": 262144,
"default_max_tokens": 65536,
"can_reason": true,
"reasoning_levels": [
"low",
"medium",
"high"
],
"default_reasoning_effort": "medium",
"supports_attachments": true
},
{
"id": "accounts/fireworks/models/qwen3p6-plus",
"name": "Qwen3.6 Plus",
"cost_per_1m_in": 0,
"cost_per_1m_out": 0,
"cost_per_1m_in_cached": 0,
"cost_per_1m_out_cached": 0,
"context_window": 131072,
"default_max_tokens": 32768,
"can_reason": false,
"supports_attachments": true
}
]
}
8 changes: 8 additions & 0 deletions internal/providers/providers.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,9 @@ var cortecsConfig []byte
//go:embed configs/deepseek.json
var deepSeekConfig []byte

//go:embed configs/fireworks.json
var fireworksConfig []byte

//go:embed configs/gemini.json
var geminiConfig []byte

Expand Down Expand Up @@ -130,6 +133,7 @@ var providerRegistry = []ProviderFunc{
copilotProvider,
cortecsProvider,
deepSeekProvider,
fireworksProvider,
groqProvider,
huggingFaceProvider,
ioNetProvider,
Expand Down Expand Up @@ -204,6 +208,10 @@ func deepSeekProvider() catwalk.Provider {
return loadProviderFromConfig(deepSeekConfig)
}

func fireworksProvider() catwalk.Provider {
return loadProviderFromConfig(fireworksConfig)
}

func geminiProvider() catwalk.Provider {
return loadProviderFromConfig(geminiConfig)
}
Expand Down
2 changes: 2 additions & 0 deletions pkg/catwalk/provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ const (
InferenceKimiCoding InferenceProvider = "kimi-coding"
InferenceProviderCopilot InferenceProvider = "copilot"
InferenceProviderCortecs InferenceProvider = "cortecs"
InferenceProviderFireworks InferenceProvider = "fireworks"
InferenceProviderVercel InferenceProvider = "vercel"
InferenceProviderMiniMax InferenceProvider = "minimax"
InferenceProviderMiniMaxChina InferenceProvider = "minimax-china"
Expand Down Expand Up @@ -118,6 +119,7 @@ func KnownProviders() []InferenceProvider {
InferenceKimiCoding,
InferenceProviderCopilot,
InferenceProviderCortecs,
InferenceProviderFireworks,
InferenceProviderVercel,
InferenceProviderMiniMax,
InferenceProviderMiniMaxChina,
Expand Down
Loading