Free.ai Docs
Démarrage rapide dans 60 secondes.
OpenAI-compatible chat API. Un token porteur, 400+ outils. Exécutez cette boucle, puis lisez.
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!"}]}'
Qu'est-ce que tu veux construire?
Démarrage rapide
Chat
POST /v1/chat/
{
"model": "qwen2.5-7b",
"messages": [
{"role": "user", "content": "Hello!"}
]
}
Génération d'images
POST /v1/image/generate/
{
"model": "flux",
"prompt": "a quiet cabin at dusk",
"width": 1024,
"height": 1024
}
Édition de l'image
POST /v1/image/edit/
multipart:
image: <file>
prompt: "remove the chair"
operation: "edit"
Texte à la parole
POST /v1/tts/
{
"model": "kokoro",
"voice": "af_heart",
"text": "Hello there!"
}
Discours au texte
POST /v1/stt/
multipart:
audio: <file>
model: "whisper-large-v3"
language: "auto"
Traduire
POST /v1/translate/
{
"text": "Hello",
"target_lang": "es"
}
SDKs
Python
pip install freeai-code
Nodenpm i freeai-code
Allez (en venant)
Ruby (en approche)
Ou utilisez OpenAI SDK — point base_url sur api.free.ai/v1
Recettes
FAQ
Inscrivez-vous à /signup/, validez votre e-mail et ouvrez /account/?tab=api. Cliquez sur Générer et une touche porteur (sk-free-...) apparaît.
JSON. La réponse /v1/chat/ reflète la forme OpenAI: choices[].message.content pour le texte, plus un objet d'utilisation qui signale un coût symbolique.
Oui — pass stream:true on chat requests. Les réponses arrivent sous forme d'événements envoyés par le serveur avec les mêmes données: {...} enveloppe que le protocole de streaming OpenAI. Le message final est data:[DONE].
Oui. Passez un tableau d'outils selon le schéma d'appel d'outils OpenAI. Les modèles Native-tool-call retournent les outils structurés tool_calls; les modèles non autochtones reviennent à une invitation en mode JSON qui émet la même forme.
Oui. Les modèles de chat compatibles avec la vision acceptent les parties de contenu image_url (URL ou base64). Pour STT, POST audio comme multipart/form-data à /v1/stt/. Pour PDF, utilisez /v1/pdf/extract/ à OCR et discutez du résultat.
Un plafond d'appel mensuel lié à votre forfait (1 000 gratuit, 10 000 Basic, 100 000 Pro, 1M Business) plus votre solde de jeton acheté. Il n'y a pas de gaz par seconde. La piscine quotidienne gratuite s'applique uniquement aux demandes web, pas aux appels API.
Pour l'API brute, les SDK OpenAI (Python + Node) et la plupart des frameworks LLM (LangChain, LlamaIndex, Vercel IA SDK) fonctionnent — set base_url to https://api.free.ai/v1 and your Bearer key.
Nous signons chaque webhook avec HMAC-SHA256 sur le corps brut. La signature est dans l'en-tête X-Free-Signature (hex-encodé). Rejeter toute charge utile dont la signature ne correspond pas à HMAC(votre_webhook_secret, brut_body).
{error:{message, type, code}}. 402 = out of credits (response includes upgrade URL + shortfall in tokens). 429 = daily pool exhausted (web only). 400 = validation error. 5xx = our problem; retry with exponential backoff.
Le paramètre /v1/chat/ accepte le schéma de requête OpenAI ChatCompletion et retourne la même forme de réponse. La plupart des codes clients OpenAI existants fonctionnent en changeant deux lignes — base_url + api_key.
Oui — chaque modèle auto-organisé est open-source (Apache 2.0 / MIT). Notre repo gpu_api est public; clonez-le, fournissez votre GPU, et exécutez la même pile d'inférence. Pour une installation de cloud privé gérée, contactez-nous.
Les modèles auto-organisés fonctionnent gratuitement sur votre piscine quotidienne de 30 000 jetons, puis facturent le nombre de jetons bruts. Les modèles Premium sont payants au fur et à mesure : 1,50× balisage de détail, passant à 1,30× à 500 $/30j et à 1,15× à 2,000 $/30j. Le coût en direct est sur chaque page modèle et sur chaque réponse API; les top-ups de jetons commencent à $1.