ASYNC BATCH

50,000 requests in one upload. /v1/batches, shaped exactly like OpenAI's.

Evals, labeling runs, backfills, agent-scale replay. Upload a JSONL of chat requests with purpose="batch", create a batch, and collect the output file when it completes. No concurrency shims, no queue babysitting, no premium for being quiet about it. Same base URL, same key, same rate card as interactive.

OpenAI-shaped request and response 50k lines per file 200 MB per upload 24h completion window Cancel any time
HOW IT WORKS

Two calls in, one file out.

Every line is one POST /v1/chat/completions call with a custom_id. The batch walks the same live lanes interactive traffic uses, complete and failed counts update in real time, and the finished job carries output_file_id you download with GET /v1/files/{id}/content. Failed lines land in a separate error file, so a 400 on line 1 does not burn line 49,999.

  • 01 Upload input with POST /v1/files, purpose="batch".
  • 02 Create the batch with input_file_id and completion_window="24h".
  • 03 Poll GET /v1/batches/{id} until status is completed.
  • 04 Download output_file_id, parse the JSONL, done.
import openai

client = openai.OpenAI(
    base_url="https://api.fikraapi.co.ke/v1",
    api_key="your_fikra_key"
)

f = client.files.create(
    file=open("requests.jsonl", "rb"),
    purpose="batch"
)

b = client.batches.create(
    input_file_id=f.id,
    endpoint="/v1/chat/completions",
    completion_window="24h"
)

print(b.id, b.status)
Model Input $/1M Output $/1M Cached input $/1M Context
deepseek-v4.1-flash $0.05 $0.11 $0.025 1.0M
deepseek-v4.1-flash-1017 $0.05 $0.11 $0.025 1.0M
deepseek-v4-flash-0731 $0.045 $0.17 $0.025 1.0M
glm-5.3-flash $0.155 $0.49 $0.08 0.3125M
kimi-k3 $2.1 $10.5 $0.6 1.0615M
step-5-preview $1.25 $3.3 automatic 1.0M
mimo-v2.6-pro $0.5 $1 $0.012 1.0M
glm-5.3 $1.05 $3.35 $0.55 0.3125M
gemini-4-argon $2.5 $12 automatic 1.0M
nvidia-nemotron-3.5-super-vl $0.5 $1.25 automatic 1.0M
qwen3.8-27b $0.045 $0.35 $0.1 0.9551M
glm-5.2 $0.75 $1.65 $0.55 0.25M
fikra-pro-20b $0.2 $0.2 automatic 0.125M
fikra-pro-120b $0.3 $0.3 automatic 0.125M
fikra-qwen-27b $0.045 $0.35 automatic 0.25M
fikra-qwen-max $6 $12 automatic 1.0M
fikra-auto $0.045 $0.35 automatic 0.25M
fikra-auto-pro $6 $12 automatic 1.0M
fikra-code-35b $0.045 $0.33 automatic 0.25M

Batch traffic bills at the same rates as interactive, straight off the live catalog. Machine-readable rates: pricing.md.

LIMITS

Clear limits, no contract talk.

If you need guaranteed capacity or a contract rate for 500M+ tokens per day, the volume tier is coming. Everything below is live today.

SIZE

50,000 request lines and 200 MB per input file. Batches can run concurrently with each other and with your interactive traffic.

WINDOW

completion_window is 24h. Most batches finish hours early. request_counts tracks completed and failed lines while the batch runs.

CONTROL

Transient upstream failures retry up to 3 attempts automatically. Cancel works before the batch reaches a terminal state, unbilled lines stop where they are.

Point the SDK at Fikra, upload the file.

One base URL, same rate card, batch included.

Get an API key →