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
4 changes: 4 additions & 0 deletions providers/fikra-api/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
24 changes: 24 additions & 0 deletions providers/fikra-api/models/deepseek-v4-flash-0731.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Relay of the lab entry behind Fikra's OpenAI-compatible /v1 (prices: https://fikraapi.co.ke/pricing, verified 2026-10-19).
# Control surface (live probe 2026-10-20, raw counts and p-values in the PR thread): the documented request whitelist
# (https://fikraapi.co.ke/docs, verified 2026-10-19) covers only tools/tool_choice/n/seed/stop/penalties/response_format;
# `thinking` and `reasoning_effort` return 200 and are accepted silently, and no response on any lane carries a
# `reasoning_content` field (message keys: content/role only). reasoning_options stays empty until a control is shown to
# change the wire; effort levels are indistinguishable from sampling noise (MWU n=10-16/level, all p >= 0.11).
# Image content rejected (HTTP 400) live (2026-10-20).
# Limits: host GET /v1/models `context_window`/`max_output_tokens` (fetched 2026-10-20).
schema = 2
base_model = "deepseek/deepseek-v4-flash-0731"

[capabilities]
reasoning = { supported = true }

[limit]
context = 1048576
output = 131072

[cost.text.input]
price = 0.045
cache = { read = 0.025 }

[cost.text.output]
price = 0.17
24 changes: 24 additions & 0 deletions providers/fikra-api/models/deepseek-v4.1-flash-1017.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Relay of the lab entry behind Fikra's OpenAI-compatible /v1 (prices: https://fikraapi.co.ke/pricing, verified 2026-10-19).
# Control surface (live probe 2026-10-20, raw counts and p-values in the PR thread): the documented request whitelist
# (https://fikraapi.co.ke/docs, verified 2026-10-19) covers only tools/tool_choice/n/seed/stop/penalties/response_format;
# `thinking` and `reasoning_effort` return 200 and are accepted silently, and no response on any lane carries a
# `reasoning_content` field (message keys: content/role only). reasoning_options stays empty until a control is shown to
# change the wire; effort levels are indistinguishable from sampling noise (MWU n=10-16/level, all p >= 0.11).
# Image request accepted (200) live (2026-10-20) but returned empty content; attachment inherits the lab.
# Limits: host GET /v1/models `context_window`/`max_output_tokens` (fetched 2026-10-20).
schema = 2
base_model = "deepseek/deepseek-v4.1-flash-1017"

[capabilities]
reasoning = { supported = true }

[limit]
context = 1048576
output = 393216

[cost.text.input]
price = 0.05
cache = { read = 0.025 }

[cost.text.output]
price = 0.11
24 changes: 24 additions & 0 deletions providers/fikra-api/models/deepseek-v4.1-flash.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Relay of the lab entry behind Fikra's OpenAI-compatible /v1 (prices: https://fikraapi.co.ke/pricing, verified 2026-10-19).
# Control surface (live probe 2026-10-20, raw counts and p-values in the PR thread): the documented request whitelist
# (https://fikraapi.co.ke/docs, verified 2026-10-19) covers only tools/tool_choice/n/seed/stop/penalties/response_format;
# `thinking` and `reasoning_effort` return 200 and are accepted silently, and no response on any lane carries a
# `reasoning_content` field (message keys: content/role only). reasoning_options stays empty until a control is shown to
# change the wire; effort levels are indistinguishable from sampling noise (MWU n=10-16/level, all p >= 0.11).
# Image input verified live (2026-10-20): image_url content accepted and answered.
# Limits: host GET /v1/models `context_window`/`max_output_tokens` (fetched 2026-10-20).
schema = 2
base_model = "deepseek/deepseek-v4.1-flash"

[capabilities]
reasoning = { supported = true }

[limit]
context = 1048576
output = 384000

[cost.text.input]
price = 0.05
cache = { read = 0.025 }

[cost.text.output]
price = 0.11
31 changes: 31 additions & 0 deletions providers/fikra-api/models/fikra-auto-pro.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Host lane on Fikra's OpenAI-compatible /v1 (prices: https://fikraapi.co.ke/pricing, verified 2026-10-19).
# Router lane with no single nameable lab checkpoint, so it stays standalone; reasoning content is not exposed
# on the wire and `reasoning_effort` is accepted silently (live probe 2026-10-20, data in the PR thread).
# Image input verified live (2026-10-20) with a minimum image size enforced upstream.
# Limits: host GET /v1/models `context_window`/`max_output_tokens` (fetched 2026-10-20).
schema = 2
name = "Fikra Auto Pro"
description = "Auto-routed premium lane for long-context agent and coding runs on a 1M context"
open_weights = false
release_date = "2026-09"
last_updated = "2026-10-20"

[modalities]
input = ["text", "image"]
output = ["text"]

[capabilities]
tools = { supported = true }
reasoning = { supported = false }
structured_output = true
temperature = true

[limit]
context = 1048576
output = 256000

[cost.text.input]
price = 6.0

[cost.text.output]
price = 12.0
31 changes: 31 additions & 0 deletions providers/fikra-api/models/fikra-auto.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Host lane on Fikra's OpenAI-compatible /v1 (prices: https://fikraapi.co.ke/pricing, verified 2026-10-19).
# Router lane with no single nameable lab checkpoint, so it stays standalone; reasoning content is not exposed
# on the wire and `reasoning_effort` is accepted silently (live probe 2026-10-20, data in the PR thread).
# Image input verified live (2026-10-20): image_url content accepted and answered.
# Limits: host GET /v1/models `context_window`/`max_output_tokens` (fetched 2026-10-20).
schema = 2
name = "Fikra Auto"
description = "Auto lane: routes each request to the cheapest fitting lane on Fikra's OpenAI-compatible /v1"
open_weights = false
release_date = "2026-09"
last_updated = "2026-10-20"

[modalities]
input = ["text", "image"]
output = ["text"]

[capabilities]
tools = { supported = true }
reasoning = { supported = false }
structured_output = true
temperature = true

[limit]
context = 262144
output = 65536

[cost.text.input]
price = 0.045

[cost.text.output]
price = 0.35
23 changes: 23 additions & 0 deletions providers/fikra-api/models/fikra-code-35b.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Host lane on Fikra's OpenAI-compatible /v1 (prices: https://fikraapi.co.ke/pricing, verified 2026-10-19).
# Upstream identity (live probe 2026-10-20): an image-input request is rejected by the host with the verbatim error "model 'qwen3.6-35b-a3b' does not support image input".
# Control surface (live probe 2026-10-20, raw counts and p-values in the PR thread): the documented request whitelist
# (https://fikraapi.co.ke/docs, verified 2026-10-19) covers only tools/tool_choice/n/seed/stop/penalties/response_format;
# `thinking` and `reasoning_effort` return 200 and are accepted silently, and no response on any lane carries a
# `reasoning_content` field (message keys: content/role only). reasoning_options stays empty until a control is shown to
# change the wire; effort levels are indistinguishable from sampling noise (MWU n=10-16/level, all p >= 0.11).
# Limits: host GET /v1/models `context_window`/`max_output_tokens` (fetched 2026-10-20).
schema = 2
base_model = "alibaba/qwen3.6-35b-a3b"

[capabilities]
reasoning = { supported = true }

[limit]
context = 262144
output = 65536

[cost.text.input]
price = 0.045

[cost.text.output]
price = 0.33
23 changes: 23 additions & 0 deletions providers/fikra-api/models/fikra-pro-120b.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Host lane on Fikra's OpenAI-compatible /v1 (prices: https://fikraapi.co.ke/pricing, verified 2026-10-19).
# Upstream identity (live probe 2026-10-20): an image-input request is rejected by the host with the verbatim error "Model openai/gpt-oss-120b does not accept image input".
# Control surface (live probe 2026-10-20, raw counts and p-values in the PR thread): the documented request whitelist
# (https://fikraapi.co.ke/docs, verified 2026-10-19) covers only tools/tool_choice/n/seed/stop/penalties/response_format;
# `thinking` and `reasoning_effort` return 200 and are accepted silently, and no response on any lane carries a
# `reasoning_content` field (message keys: content/role only). reasoning_options stays empty until a control is shown to
# change the wire; effort levels are indistinguishable from sampling noise (MWU n=10-16/level, all p >= 0.11).
# Limits: host GET /v1/models `context_window`/`max_output_tokens` (fetched 2026-10-20).
schema = 2
base_model = "openai/gpt-oss-120b"

[capabilities]
reasoning = { supported = true }

[limit]
context = 131072
output = 65536

[cost.text.input]
price = 0.3

[cost.text.output]
price = 0.3
23 changes: 23 additions & 0 deletions providers/fikra-api/models/fikra-pro-20b.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Host lane on Fikra's OpenAI-compatible /v1 (prices: https://fikraapi.co.ke/pricing, verified 2026-10-19).
# Upstream identity (live probe 2026-10-20): an image-input request is rejected by the host with the verbatim error "Model openai/gpt-oss-20b does not accept image input".
# Control surface (live probe 2026-10-20, raw counts and p-values in the PR thread): the documented request whitelist
# (https://fikraapi.co.ke/docs, verified 2026-10-19) covers only tools/tool_choice/n/seed/stop/penalties/response_format;
# `thinking` and `reasoning_effort` return 200 and are accepted silently, and no response on any lane carries a
# `reasoning_content` field (message keys: content/role only). reasoning_options stays empty until a control is shown to
# change the wire; effort levels are indistinguishable from sampling noise (MWU n=10-16/level, all p >= 0.11).
# Limits: host GET /v1/models `context_window`/`max_output_tokens` (fetched 2026-10-20).
schema = 2
base_model = "openai/gpt-oss-20b"

[capabilities]
reasoning = { supported = true }

[limit]
context = 131072
output = 65536

[cost.text.input]
price = 0.2

[cost.text.output]
price = 0.2
23 changes: 23 additions & 0 deletions providers/fikra-api/models/fikra-qwen-27b.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Host lane on Fikra's OpenAI-compatible /v1 (prices: https://fikraapi.co.ke/pricing, verified 2026-10-19).
# Control surface (live probe 2026-10-20, raw counts and p-values in the PR thread): the documented request whitelist
# (https://fikraapi.co.ke/docs, verified 2026-10-19) covers only tools/tool_choice/n/seed/stop/penalties/response_format;
# `thinking` and `reasoning_effort` return 200 and are accepted silently, and no response on any lane carries a
# `reasoning_content` field (message keys: content/role only). reasoning_options stays empty until a control is shown to
# change the wire; effort levels are indistinguishable from sampling noise (MWU n=10-16/level, all p >= 0.11).
# Image input verified live (2026-10-20): image_url content accepted and answered.
# Limits: host GET /v1/models `context_window`/`max_output_tokens` (fetched 2026-10-20).
schema = 2
base_model = "alibaba/qwen3.8-27b"

[capabilities]
reasoning = { supported = true }

[limit]
context = 262144
output = 65536

[cost.text.input]
price = 0.045

[cost.text.output]
price = 0.35
23 changes: 23 additions & 0 deletions providers/fikra-api/models/fikra-qwen-max.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Host lane on Fikra's OpenAI-compatible /v1 (prices: https://fikraapi.co.ke/pricing, verified 2026-10-19).
# Control surface (live probe 2026-10-20, raw counts and p-values in the PR thread): the documented request whitelist
# (https://fikraapi.co.ke/docs, verified 2026-10-19) covers only tools/tool_choice/n/seed/stop/penalties/response_format;
# `thinking` and `reasoning_effort` return 200 and are accepted silently, and no response on any lane carries a
# `reasoning_content` field (message keys: content/role only). reasoning_options stays empty until a control is shown to
# change the wire; effort levels are indistinguishable from sampling noise (MWU n=10-16/level, all p >= 0.11).
# Image input verified live (2026-10-20) with a minimum image size enforced upstream.
# Limits: host GET /v1/models `context_window`/`max_output_tokens` (fetched 2026-10-20).
schema = 2
base_model = "alibaba/qwen3.8-max"

[capabilities]
reasoning = { supported = true }

[limit]
context = 1048576
output = 256000

[cost.text.input]
price = 6.0

[cost.text.output]
price = 12.0
23 changes: 23 additions & 0 deletions providers/fikra-api/models/gemini-4-argon.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Relay of the lab entry behind Fikra's OpenAI-compatible /v1 (prices: https://fikraapi.co.ke/pricing, verified 2026-10-19).
# Control surface (live probe 2026-10-20, raw counts and p-values in the PR thread): the documented request whitelist
# (https://fikraapi.co.ke/docs, verified 2026-10-19) covers only tools/tool_choice/n/seed/stop/penalties/response_format;
# `thinking` and `reasoning_effort` return 200 and are accepted silently, and no response on any lane carries a
# `reasoning_content` field (message keys: content/role only). reasoning_options stays empty until a control is shown to
# change the wire; effort levels are indistinguishable from sampling noise (MWU n=10-16/level, all p >= 0.11).
# Image content rejected (HTTP 400) live (2026-10-20).
# Limits: host GET /v1/models `context_window`/`max_output_tokens` (fetched 2026-10-20).
schema = 2
base_model = "google/gemini-4-argon"

[capabilities]
reasoning = { supported = true }

[limit]
context = 1048576
output = 65536

[cost.text.input]
price = 2.5

[cost.text.output]
price = 12.0
24 changes: 24 additions & 0 deletions providers/fikra-api/models/glm-5.2.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Relay of the lab entry behind Fikra's OpenAI-compatible /v1 (prices: https://fikraapi.co.ke/pricing, verified 2026-10-19).
# Control surface (live probe 2026-10-20, raw counts and p-values in the PR thread): the documented request whitelist
# (https://fikraapi.co.ke/docs, verified 2026-10-19) covers only tools/tool_choice/n/seed/stop/penalties/response_format;
# `thinking` and `reasoning_effort` return 200 and are accepted silently, and no response on any lane carries a
# `reasoning_content` field (message keys: content/role only). reasoning_options stays empty until a control is shown to
# change the wire; effort levels are indistinguishable from sampling noise (MWU n=10-16/level, all p >= 0.11).
# Image content rejected (HTTP 400) live (2026-10-20).
# Limits: host GET /v1/models `context_window`/`max_output_tokens` (fetched 2026-10-20).
schema = 2
base_model = "zhipuai/glm-5.2"

[capabilities]
reasoning = { supported = true }

[limit]
context = 262144
output = 131072

[cost.text.input]
price = 0.75
cache = { read = 0.55 }

[cost.text.output]
price = 1.65
24 changes: 24 additions & 0 deletions providers/fikra-api/models/glm-5.3-flash.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Relay of the lab entry behind Fikra's OpenAI-compatible /v1 (prices: https://fikraapi.co.ke/pricing, verified 2026-10-19).
# Control surface (live probe 2026-10-20, raw counts and p-values in the PR thread): the documented request whitelist
# (https://fikraapi.co.ke/docs, verified 2026-10-19) covers only tools/tool_choice/n/seed/stop/penalties/response_format;
# `thinking` and `reasoning_effort` return 200 and are accepted silently, and no response on any lane carries a
# `reasoning_content` field (message keys: content/role only). reasoning_options stays empty until a control is shown to
# change the wire; effort levels are indistinguishable from sampling noise (MWU n=10-16/level, all p >= 0.11).
# Image input verified live (2026-10-20): image_url content accepted and answered.
# Limits: host GET /v1/models `context_window`/`max_output_tokens` (fetched 2026-10-20).
schema = 2
base_model = "zhipuai/glm-5.3-flash"

[capabilities]
reasoning = { supported = true }

[limit]
context = 327680
output = 131072

[cost.text.input]
price = 0.155
cache = { read = 0.08 }

[cost.text.output]
price = 0.49
24 changes: 24 additions & 0 deletions providers/fikra-api/models/glm-5.3.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Relay of the lab entry behind Fikra's OpenAI-compatible /v1 (prices: https://fikraapi.co.ke/pricing, verified 2026-10-19).
# Control surface (live probe 2026-10-20, raw counts and p-values in the PR thread): the documented request whitelist
# (https://fikraapi.co.ke/docs, verified 2026-10-19) covers only tools/tool_choice/n/seed/stop/penalties/response_format;
# `thinking` and `reasoning_effort` return 200 and are accepted silently, and no response on any lane carries a
# `reasoning_content` field (message keys: content/role only). reasoning_options stays empty until a control is shown to
# change the wire; effort levels are indistinguishable from sampling noise (MWU n=10-16/level, all p >= 0.11).
# Image content rejected (HTTP 400) live (2026-10-20).
# Limits: host GET /v1/models `context_window`/`max_output_tokens` (fetched 2026-10-20).
schema = 2
base_model = "zhipuai/glm-5.3"

[capabilities]
reasoning = { supported = true }

[limit]
context = 327680
output = 131072

[cost.text.input]
price = 1.05
cache = { read = 0.55 }

[cost.text.output]
price = 3.35
24 changes: 24 additions & 0 deletions providers/fikra-api/models/kimi-k3.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Relay of the lab entry behind Fikra's OpenAI-compatible /v1 (prices: https://fikraapi.co.ke/pricing, verified 2026-10-19).
# Control surface (live probe 2026-10-20, raw counts and p-values in the PR thread): the documented request whitelist
# (https://fikraapi.co.ke/docs, verified 2026-10-19) covers only tools/tool_choice/n/seed/stop/penalties/response_format;
# `thinking` and `reasoning_effort` return 200 and are accepted silently, and no response on any lane carries a
# `reasoning_content` field (message keys: content/role only). reasoning_options stays empty until a control is shown to
# change the wire; effort levels are indistinguishable from sampling noise (MWU n=10-16/level, all p >= 0.11).
# Image input verified live (2026-10-20): image_url content accepted and answered.
# Limits: host GET /v1/models `context_window`/`max_output_tokens` (fetched 2026-10-20).
schema = 2
base_model = "moonshotai/kimi-k3"

[capabilities]
reasoning = { supported = true }

[limit]
context = 1113088
output = 1048576

[cost.text.input]
price = 2.1
cache = { read = 0.6 }

[cost.text.output]
price = 10.5
Loading
Loading