Free.ai API
Satu kunci API. Setiap alat AI. Pengeluaran token sederhana.
Cara Kerjanya
Ambil Kunci API
Pembelian token, kemudian hasilkan kunci
Panggil setiap Titik Akhir
Chat, images, TTS, STT, music, translasi semua satu API
Membayar Tokens
Satu keseimbangan, setiap alat memerlukan token, sederhana.
Cepat Mulai
# 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);
Pricing Token
Semuanya membutuhkan token. Satu neraca untuk semua alat. Nilai yang sama apakah Anda menggunakan API atau situs web.
| Model | Tipe | Biaya Token | Lisensi |
|---|---|---|---|
| Qwen 2.5 7B | Chat/Write/Kode | Token aktual yang dipakai (masukan+keluaran) | Apache 2.0 |
| FLUX.1 Schnell | Generasi Gambar | 1.000 token/image | Apache 2.0 |
| Kokoro | Teks ke Pidato | 1 token per 4 karakter | Apache 2.0 |
| lebih cepat-whisper | Pidato ke Teks | 4 token/detik dari audio | MIT |
| AudioLDM 2 | Generasi Musik | 2.000 token/track | Apache 2.0 |
| MadLAD-400 | Terjemahan (450+ langs) | Token aktual digunakan | Apache 2.0 |
| Real-ERGAN | Peningkatan Gambar | 500 token/image | BSD |
| BRIA RMBG | Penghapusan Latar Belakang | 500 token/image | Apache 2.0 |
| CogVideoX | Generasi Video | 5.000 token/video | Apache 2.0 |
| Demucs | Pemisahan Vokal | 500 token/track | MIT |
Akses GPT-4, Claude, Gemini, Llama, DeepSeek, dan 340+ lebih model. Biaya Token didasarkan pada harga provider dikonversi ke token kami.
| Model | Penyedia | ~Token per pesan | Catatan |
|---|---|---|---|
| Mini GPT-4o | OpenAI | ~20 | Murah, cepat |
| Gemini 2.0 Flash | ~15 | Sangat cepat | |
| Mistral Nemo | Mistral | ~10 | Nilai besar |
| DeepSeek V3 | DeepSeek | ~30 | Penalaran yang kuat |
| Llama 3,3 70B | Meta | ~25 | Bobot terbuka |
| Claude Sonnet 4 | Anthropic | ~400 | Kualitas Premium |
| GPT-4o | OpenAI | ~325 | Kualitas Premium |
| Qwen 2,5 72B | Alibaba | ~40 | Besar, mampu |
Daftar lengkap dari model 346+ di /apps/. Semua gunakan parameter
Model berhossi diri: Anda membayar token yang tepat yang digunakan.
Model eksternal: our_tokens = provider_usd_cost × 100,000 × 1.30
Contoh: GPT-4o biaya $0.0025 per 1K token prompt. Untuk 1.000 token: $0.0025 × 1.30 = 325 token dari keseimbanganmu.
Semua Titik
POST /v1/chat/ | Chat dengan model apapun (diri berhossi atau eksternal). Streaming didukung. |
POST /v1/image/generate/ | Teks ke gambar (FLUX, SDXL) |
POST /v1/image/edit/ | Inpaint, outpaint, style transfer |
POST /v1/image/enhance/ | Skala atas 2x/4x (Real-ESRGAN) |
POST /v1/image/remove-bg/ | Hapus latar belakang (BRIA RMBG) |
POST /v1/video/generate/ | Teks/gambar ke video (CogVideoX) |
POST /v1/tts/ | Hasilkan pidato (Kokoro, Piper, Melottis, Chatterbox) |
POST /v1/tts/stream/ | Streaming TTS (real-time potongan audio) |
POST /v1/stt/transcribe/ | Transkrip audio/video (wisper cepat, 99 bahasa) |
POST /v1/music/generate/ | Buat musik dari deskripsi teks |
POST /v1/music/separate/ | Suara terpisah/tems (Demucs) |
POST /v1/write/ | Hasilkan isi (essay, email, cerita, dsb.) |
POST /v1/code/generate/ | Hasilkan kode dalam bahasa apapun |
POST /v1/summarize/ | Ringkaskan teks |
POST /v1/humanize/ | Membuat teks AI terdengar manusia |
POST /v1/detect/ | Mendeteksi konten AI-generated |
POST /v1/translate/ | Terjemahkan teks (MadLAD-400, 450+ bahasa) |
POST /v1/ocr/ | Ekstrak teks dari gambar |
GET /v1/models | List all available models (self-hosted + external) |
GET /v1/status/{job_id}/ | Periksa status tugas async |
GET /health | Pemeriksaan kesehatan API |
Otentikasi
Sertakan kunci API Anda dalam tajuk
Authorization: Bearer sk-free-YOUR_API_KEY
Setiap respon termasuk
{
"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"
}
}
Batas Laju & Rencana
Harga sama di situs web dan API. Tak ada harga API terpisah.
| Rencana | Tokens/Month | Permintaan API/Min | Harga |
|---|---|---|---|
| Bebas | 30K/day (pool) | 10 | $0 |
| Dasar | 250K | 30 | $5/mo |
| Pro | 1.25M | 60 | $19/mo |
| Bisnis | 6.25M | 120 | 49/mo |
| Enterprise | Ubahan | Ubahan | Kontak |
Paket Token tersedia: 200K/$5, 1M/$15, 5M/$40. Tokens tidak pernah berakhir.
Python SDK & CLI
Python SDK
Akses setiap alat AI dari kode Python Anda.
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
PyPI
Asisten Coding CLI
Free, open-source alternatif untuk Claude Code, Cursor, dan GitHub Copilot.
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 free tokens/day. BYOK supported. 346+ models. Session sync with Web IDE.
GitHub PyPI Web IDEBYOK (Bawa Kunci Sendiri)
Gunakan kunci API Anda sendiri dari penyedia apapun. Nol markup, biaya nol. Free.ai just proxies the request.
| Penyedia | Format Kunci | Model | Markup |
|---|---|---|---|
| OpenAI | sk-proj-xxx | GPT-4o, GPT-4o Mini, o1, o3, dll. | $0 |
| Anthropic | sk-ant-xxx | Claude Sonnet 4, Opus 4, Haiku, dll. | $0 |
AIzaSyxxx | Gemini 2.5 Pro, Flash, dll. | $0 | |
| Penyedia Lain | sk-or-xxx etc. | 346+ model dari semua penyedia | $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.