Free.ai API

Urufunguzo.

Byakoreshejwe

1
Urufunguzo

Hanyuma Urufunguzo

2
Akadomo

Ishusho,,,, Imvugiro - Byose Rimwe

3
in

Impuzandengo..

Gutangira

# Chat with AI
curl -X POST https://api.free.ai/v1/chat/ \
  -H "Authorization: Bearer sk-free-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "messages": [{"role": "user", "content": "Hello!"}],
    "model": "qwen7b"
  }'

# Generate an image — self-hosted (free within daily allowance)
curl -X POST https://api.free.ai/v1/image/generate/ \
  -H "Authorization: Bearer sk-free-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "A sunset over mountains", "model": "flux-schnell"}'

# Generate with a premium model (paid tokens only — FLUX Kontext, Seedream,
# Ideogram, Nano Banana, Gemini 3 Pro, etc.). Full list at /v1/providers.
curl -X POST https://api.free.ai/v1/image/generate/ \
  -H "Authorization: Bearer sk-free-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "A sunset over mountains", "model": "premium/flux-pro/kontext"}'

# Generate a video (premium)
curl -X POST https://api.free.ai/v1/video/generate/ \
  -H "Authorization: Bearer sk-free-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "A cat running in slow motion", "duration": 5, "model": "premium/kling-video/v2.6/pro/text-to-video"}'

# Text to speech
curl -X POST https://api.free.ai/v1/tts/ \
  -H "Authorization: Bearer sk-free-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "Hello world", "voice": "default", "model": "kokoro"}'

# Translate text
curl -X POST https://api.free.ai/v1/translate/ \
  -H "Authorization: Bearer sk-free-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "Hello world", "target": "es"}'
import requests

API_KEY = "sk-free-YOUR_KEY"
BASE = "https://api.free.ai"
HEADERS = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}

# Chat
r = requests.post(f"{BASE}/v1/chat/", headers=HEADERS, json={
    "messages": [{"role": "user", "content": "Hello!"}],
    "model": "qwen7b"  # or "openai/gpt-4o", "anthropic/claude-sonnet-4", etc.
})
print(r.json()["choices"][0]["message"]["content"])

# Generate image — self-hosted (free within daily allowance)
r = requests.post(f"{BASE}/v1/image/generate/", headers=HEADERS, json={
    "prompt": "A sunset over mountains",
    "model": "flux-schnell",  # or "premium/flux-pro/kontext" for paid tier
    "aspect_ratio": "16:9"
})
print(r.json()["image_url"])

# Generate video (premium — see /v1/providers for the full list)
r = requests.post(f"{BASE}/v1/video/generate/", headers=HEADERS, json={
    "prompt": "A cat running in slow motion",
    "duration": 5,
    "model": "premium/kling-video/v2.6/pro/text-to-video"
})
print(r.json()["video_url"])

# Text to speech
r = requests.post(f"{BASE}/v1/tts/", headers=HEADERS, json={
    "text": "Hello world",
    "model": "kokoro",
    "voice": "af_heart"
})
print(r.json()["audio_url"])

# Transcribe audio
r = requests.post(f"{BASE}/v1/stt/transcribe/", headers=HEADERS, json={
    "url": "https://example.com/audio.mp3",
    "model": "whisper"
})
print(r.json()["text"])
const API_KEY = "sk-free-YOUR_KEY";
const BASE = "https://api.free.ai";

// Chat
const chat = await fetch(`${BASE}/v1/chat/`, {
  method: "POST",
  headers: { "Authorization": `Bearer ${API_KEY}`, "Content-Type": "application/json" },
  body: JSON.stringify({
    messages: [{ role: "user", content: "Hello!" }],
    model: "qwen7b"
  })
});
const data = await chat.json();
console.log(data.choices[0].message.content);

// Generate image — self-hosted (free within daily allowance)
const img = await fetch(`${BASE}/v1/image/generate/`, {
  method: "POST",
  headers: { "Authorization": `Bearer ${API_KEY}`, "Content-Type": "application/json" },
  body: JSON.stringify({ prompt: "A sunset over mountains", model: "flux-schnell" })
});

// Premium image model (paid tokens) — full list at /v1/providers
const imgPro = await fetch(`${BASE}/v1/image/generate/`, {
  method: "POST",
  headers: { "Authorization": `Bearer ${API_KEY}`, "Content-Type": "application/json" },
  body: JSON.stringify({ prompt: "A sunset over mountains", model: "premium/flux-pro/kontext" })
});
console.log((await img.json()).image_url);

Igaragazambere ry'ibara

Impuzandengo ya: Byose. Koresha i Cyangwa i Ipaji:.

Ubwoko bw'amadosiye Bito
Ubwoko bw'inyandikoUbwoko bw'agakandishoIgihe cyarenzeInyandiko y'Iyemererakoresha
Qwen 2. 5 7B0Iyinjiza IbisohokaApache
1.IshushoIshushoApache
KokoroUmwandiko Kuri1. 4. InyugutiApache
-Kuri UmwandikoISEGONDA ByaMIT
LDM 2Ibyinjijwe2.000Apache
400Umwandiko wahinduwe ururimiByakoreshejweApache
IsesengurabyoseIshushoIshushoBSD
RMBGMbuganyuma Gukuraho...IshushoApache
IshushoVidewo...Videwo...Apache
Inyandiko zisanzweGutandukanya500MIT
Ishusho y'imbere Urugero

GPT-4, Claude, Gemini, Llama, DeepSeek, na Birenzeho. Igihe ni ku Kuri.

Ubwoko bw'inyandikoMutangaUbutumwaIbisobanuro
GPT-4oGufungura~20Byihuta
Gemini 2. 0Google~15Byihuta
MistralMistral~10Agaciro:
DeepSeek V3DeepSeek~30Isobanuramiterere
Llama 3. 3 70BMeta~25Gufungura
Claude Sonnet 4Ibara:~400Ubwiza
GPT-4oGufungura~325Ubwiza
Qwen 2. 5 72BAlibaba~40,

Full list of 346+ models at /models/. All use the same /v1/chat/ endpoint — just change the model parameter.

Inzira

Urugero: i Byakoreshejwe.

Urugero: our_tokens = provider_usd_cost × 100,000 × 1.30

Urugero:: 0. 1. 1. 000: 0. × 100. 000 × 1. = 325 Kuva:

Akadomo

0
POST /v1/chat/Na: Icyo ari cyo cyose Urugero (- Cyangwa external).
Ishusho
POST /v1/image/generate/Kuri Ishusho
POST /v1/image/edit/Imisusire
POST /v1/image/enhance/2x 4x
POST /v1/image/remove-bg/Mbuganyuma
Videwo...
POST /v1/video/generate/Ishusho Kuri Videwo...
Umwandiko Kuri
POST /v1/tts/,
POST /v1/tts/stream/- Igihe
Kuri Umwandiko
POST /v1/stt/transcribe/Videwo... - Ururimi:
& Audio
POST /v1/music/generate/Bivuye Umwandiko Ibisobanuro
POST /v1/music/separate/Gutandukanya
Umwandiko
POST /v1/write/Ibigize (Imeli,,)
POST /v1/code/generate/Inyandikoporogaramu in Icyo ari cyo cyose Ururimi
POST /v1/summarize/Umwandiko
POST /v1/humanize/Umwandiko Ijwi
POST /v1/detect/Ibigize
Umwandiko wahinduwe ururimi
POST /v1/translate/Umwandiko (-, + Ururimi:)
POST /v1/ocr/Umwandiko Bivuye Ishusho
Ukoresha:
GET /v1/modelsList all available models (self-hosted + external)
GET /v1/status/{job_id}/Imimerere Bya Ibikorwa
GET /healthKugenzura...

Kwemeza

Urufunguzo in i Inyandikoporogaramu Inyandikoporogaramu Umutwempangano

Authorization: Bearer sk-free-YOUR_API_KEY

A Inyandikoporogaramu Inyandikoporogaramu Funga Byakoreshejwe

{
  "choices": [...],
  "free_ai_usage": {
    "tokens_used": 142,      // actual tokens processed
    "tokens_charged": 142,   // tokens deducted from your balance
    "source": "self_hosted", // or "external"
    "model": "qwen7b"
  }
}

Amabwiriza

ku i Ipaji: na.

Imiterere y'ishushoUkweziInyandiko zisaba gufunguraAgaciro:
KigengaUMUNSI10$0
Itangira250K30$5 / ukwezi
Igihe kya karere1.25M60$19 / ukwezi
Ibikorwa6.25M120$49 / ukwezi
ItsindaKugenaKugenaUmuntu

Bihari 5, 1, 40. Oya

& CLI

SDK

buri Kuva: Inyandikoporogaramu.

pip install free-dot-ai
from freeai import FreeAI

ai = FreeAI(api_key="sk-free-xxx")

# Chat
response = ai.chat("What is Python?")
print(response.text)

# Image generation
image = ai.image("A sunset over mountains")
image.save("sunset.png")

# Text to speech
audio = ai.tts("Hello world", voice="af_heart")
audio.save("hello.mp3")

# Translation
result = ai.translate("Hello", to="es")
print(result.text)  # "Hola"
GitHub < guibutton > < guibutton >
Inyandikonyakwirema

, Gufungura - Inkomoko Kuri __ 4__,, na.

pip install free-dot-ai-code
# Start a coding session
cd your-project/
free-code

# Ask about your codebase
free-code ask "How does auth work?"

# Execute a task
free-code run "Add unit tests for User model"

30K Kigenga / Umunsi..

GitHub < guibutton > < guibutton > Urubuga

(Urufunguzo)

Utubuto Kuva: Icyo ari cyo cyose. Zeru Free.ai just proxies the request.

MutangaImiterere y' UrufunguzoAmadosiyeIbimenyetso
Gufungurask-proj-xxxo, o,$0
Ibara:sk-ant-xxxClaude Sonnet 4. 4.,$0
GoogleAIzaSyxxxGemini 2. 5,,$0
Ikindisk-or-xxx etc.+ Bivuye Byose$0
# Python SDK with BYOK
from freeai import FreeAI

ai = FreeAI(provider="openai", api_key="sk-proj-xxx")
response = ai.chat("Hello", model="gpt-4o")

# CLI with BYOK
# free-code config set provider openai
# free-code config set api_key sk-proj-xxx

Your key, your usage, your bill. No logging. No token deductions from your Free.ai balance.

Ibibazo bizwa kenshi

Konti Kubona 30K / Umunsi Birenzeho na hejuru Umubare Imipaka.

!,. Impuzandengo ni hagati i Ipaji: na., i.

Impera Akadomo Guhindura>> i Urugero Igenamiterere Urutonde ku Cyangwa

Yes! The /v1/chat/ endpoint follows the OpenAI chat completions format. You can use any OpenAI-compatible SDK — just change the base URL to https://api.free.ai and use your Free.ai API key.

< IDOSIYE > < / IDOSIYE >: nibyo in Kubaza.... Biturutse

Kubona A Na: Ikosa & Ubutumwa. Birenzeho Ku / Cyangwa Kureba ya: Kuri Gusubiramo. - Buri gihe Bihari Mo Imbere.

! - Imisusire / 2. 0. Ibigize ni ya: Ikoresha:.

-: ku.,, Bya hafi.: Kuri i Urugero:. Kuri __, na Birenzeho. Birenzeho Kuri.

Konti: Ipaji: Ku / Konti: / Cyangwa Kugenzura... i Inyandikoporogaramu Umwanya in

Yes! Install our Python SDK: pip install free-dot-ai. It wraps every endpoint with typed responses. For coding assistance, install pip install free-dot-ai-code. The API also follows OpenAI's format, so you can use the openai Python/Node SDK with our base URL. GitHub

Intego ya: 99. 9%. Imishinga Gushyiramo. / ya: Igihe Imimerere.

@ Cyangwa / Umuntu /. Kubona Ikintu Gikomeye Gushigikira. Gushyiramo ya:.

Free.ai? Abayobozi!

iyi Ipaji