Mukoraporogaramu

Build with Free.ai - one Bearer token, 477 AI tools.

Chat, image, video, music, voice, OCR, translate - all on a single OpenAI-compatible endpoint. Generous free pool, transparent markup, partner pricing at scale.

30,000 Kigenga / Umunsi. Kuri Tangira & vendorShortName;.

Impera Akadomo

Ubwoko:. ya: Ishusho Ubwoko:. i Ubwoko: Na: A UMWE Ikurikiranyanyuguti. - -.

, Igaragazambere -

Self-hosted models bill at raw cost. Premium models add a transparent markup that drops as you scale. Every response reports the exact token cost.

99 languages out of the box

Chat, translate, TTS, STT - every major modality covers 99 languages with no extra config. Pass a language code and it works.

60-second quickstart

API,. - -... Urufunguzo in na Gukoresha.

curl https://api.free.ai/v1/chat/ \
  -H "Authorization: Bearer sk-free-YOUR-KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen2.5-7b",
    "messages": [{"role":"user","content":"Hello!"}]
  }'
import requests

r = requests.post(
    "https://api.free.ai/v1/chat/",
    headers={"Authorization": "Bearer sk-free-YOUR-KEY"},
    json={
        "model": "qwen2.5-7b",
        "messages": [{"role": "user", "content": "Hello!"}],
    },
)
print(r.json()["choices"][0]["message"]["content"])
const r = await fetch("https://api.free.ai/v1/chat/", {
  method: "POST",
  headers: {
    "Authorization": "Bearer sk-free-YOUR-KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "qwen2.5-7b",
    messages: [{role: "user", content: "Hello!"}],
  }),
});
const data = await r.json();
console.log(data.choices[0].message.content);
package main

import (
  "bytes"; "fmt"; "io"; "net/http"
)

func main() {
  body := []byte(`{"model":"qwen2.5-7b","messages":[{"role":"user","content":"Hello!"}]}`)
  req, _ := http.NewRequest("POST", "https://api.free.ai/v1/chat/", bytes.NewBuffer(body))
  req.Header.Set("Authorization", "Bearer sk-free-YOUR-KEY")
  req.Header.Set("Content-Type", "application/json")
  resp, _ := http.DefaultClient.Do(req)
  defer resp.Body.Close()
  out, _ := io.ReadAll(resp.Body)
  fmt.Println(string(out))
}
require "net/http"
require "json"

uri = URI("https://api.free.ai/v1/chat/")
req = Net::HTTP::Post.new(uri, {
  "Authorization" => "Bearer sk-free-YOUR-KEY",
  "Content-Type"  => "application/json",
})
req.body = {
  model: "qwen2.5-7b",
  messages: [{role: "user", content: "Hello!"}],
}.to_json

res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) { |h| h.request(req) }
puts JSON.parse(res.body)["choices"][0]["message"]["content"]

Pricing - discounts kick in automatically

Self-hosted models run free on your 30,000-token daily pool, then bill at raw cost. Premium models are pay-as-you-go; markup drops with 30-day spend.

Kigenga
30,000 / day
Web only - covers self-hosted models
Nka
1.50×
< $500 / 30 iminsi
Ibara:
1.30×
≥ $500 / 30 iminsi
Umufatanyabikorwa
1.15×
& ge; $2,000 / ukwezi

Gushyiraho →

API request tiers

Your plan lifts every key's monthly request cap automatically - no new key needed. Token billing per request is unchanged.

Igenzura ry'Inyandiko Agaciro: Ukwezi Umunota
Bitari ngombwa $0 1,000 60
Bisanzwe $5/mo 10,000 120
Igaragazambere: $19/mo 100,000 300
Ibikorwa $49/mo 1,000,000 600

a →

Shipping AI features inside your own product? See the Platform API for the business plans and volume pricing.

Gushyiraho

@handle Nka a

ku, A Rimwe - Umurongo: IYANDIKA Itagi: ku Icyo ari cyo cyose Ipaji:.; Konti: Hejuru i.

Set up @yourhandle

Webhooks

Configure a signed callback for long-running jobs (video gen, batch transcription, share-link creation, low-credit alerts). HMAC-SHA256 signature in X-Free-Signature.

Kugena Imiterere →

Ibibazo bizwa kenshi

Sign up free at /signup/ and confirm your email - that unlocks the 30,000-token daily free pool. Open /account/?tab=api and click Generate. Keys are Bearer tokens of the form sk-free-... and start working immediately. No application, no waitlist.

The 30,000-token daily free pool covers self-hosted models on both web and API. Beyond it, self-hosted models bill the raw token count; external models add a 50% retail markup at deduction. Once you spend $500 in a 30-day window the markup drops to 30%; at $2,000+ you become a partner and the markup falls to 15%. Premium external models always bill purchased tokens; token top-ups start at $1.

API requests are governed by your purchased balance and a per-key monthly cap tied to your plan: 1,000 calls free, 10,000 on Basic, 100,000 on Pro, 1M on Business. There's no per-second throttle on top - if your key has tokens and you're under the monthly cap, the request runs.

. Inzira:: nibyo ku / v1 / / Kuri Akira -. Imiterere i Umukiriya Akazi Ihindurangero.

Yes - the chat endpoint accepts a tools array per the OpenAI tool-calling schema. Models that support native tool use (Qwen 2.5 family + most premium models) will return tool_calls; models without native support fall back to a JSON-mode prompt.

Standard JSON: {error:{message, type, code}}. HTTP 402 means out of credits (response includes shortfall + an upgrade URL). HTTP 429 means daily pool exhausted on a non-API call. HTTP 400 covers validation errors with a human-readable message.

We publish freeai-code on npm + PyPI for the Coder IDE wrapper. For the raw API, the OpenAI SDKs work - point base_url at https://api.free.ai/v1 and pass your sk-free-... key. Same for Vercel AI SDK, LangChain, llamaindex, etc.

Configure your endpoint URL under /account/?tab=developer. We sign every payload with HMAC-SHA256 - the signature is in the X-Free-Signature header. Webhook events fire for: long-running job completion, share-link generation, low-credit alerts, and team invite acceptance.

i Igihe in ku (1.50 ×, 1.30 ×, 1.15 ×). - Oya - i Kijyambere Igiteranyo. Umurongo: ku buri i Igiteranyo Igihe Oya.

Free models run on our self-hosted GPU fleet (Qwen 2.5, FLUX, Whisper, Kokoro, etc.) and are covered by your daily pool. Paid models route to leading external providers - those require purchased credits and can't be paid for from the daily pool. Both share the same /v1/chat/ endpoint; pass model:premium/ to opt into a paid model.

Yes - every self-hosted model on Free.ai is open-source under permissive licenses (Apache 2.0, MIT). The model IDs we use match the upstream HuggingFace IDs, and our gpu_api repo is public. If you want our orchestration on your hardware, talk to us about a private cloud install.

Bya hafi. external - Urufunguzo - Gukuramo Inyandikonyakwirema ku. Hanyuma, i Igito + i Inyandikonyakwirema Hasi ya: hejuru - Igice Abakiliya.

Free.ai? Abayobozi!

iyi Ipaji