收录 50+ 个真实可用的免费 AI API,涵盖文本、图像、语音、视频、代码等方向。每周自动验证可用性,告别失效 API 的烦恼。
| 服务 | 模型 | 免费额度 | 速率限制 | 无需信用卡 | 可用性 |
|---|---|---|---|---|---|
| Groq | LLaMA 3.3 70B | 14,400 req/day | 30 RPM | ✅ | 🟢 |
| Google AI Studio | Gemini 2.0 Flash | 1,500 req/day | 15 RPM | ✅ | 🟢 |
| Cloudflare AI | 多模型 | 无限* | 无限制 | ✅ | 🟢 |
| Together AI | 多开源模型 | $5 赠金 | — | ✅ | 🟢 |
| Cohere | Command R+ | 1,000 req/month | 20 RPM | ✅ | 🟢 |
| Mistral AI | Mistral 7B | 有限制 | — | ✅ | 🟢 |
| OpenRouter (Free) | 多模型 | 每日免费额度 | — | ✅ | 🟢 |
| Hugging Face | 数百个模型 | 无限* | 适中 | ✅ | 🟢 |
| Replicate | 数百个模型 | $5 赠金 | — | ❌ | 🟢 |
| DeepInfra | 多模型 | $1.80 赠金 | — | ✅ | 🟢 |
* 有算力/流量限制
目前免费 LLM API 中速度最快,基于定制 LPU 芯片,延迟极低
- 模型:LLaMA 3.3 70B、LLaMA 3.1 8B、Mixtral 8x7B、Gemma2 9B
- 免费额度:14,400 次请求/天,500k tokens/天
- 注册:无需信用卡
- 文档:https://console.groq.com/docs
from groq import Groq
client = Groq(api_key="YOUR_API_KEY")
response = client.chat.completions.create(
model="llama-3.3-70b-versatile",
messages=[{"role": "user", "content": "Hello!"}]
)
print(response.choices[0].message.content)Gemini 系列模型官方免费 API,多模态能力强
- 模型:Gemini 2.0 Flash、Gemini 1.5 Pro、Gemini 1.5 Flash
- 免费额度:1,500 次请求/天(Flash),100万 tokens/分钟
- 注册:Google 账号即可,无需信用卡
- 文档:https://ai.google.dev/gemini-api/docs
import google.generativeai as genai
genai.configure(api_key="YOUR_API_KEY")
model = genai.GenerativeModel("gemini-2.0-flash")
response = model.generate_content("写一首关于AI的诗")
print(response.text)聚合平台,每日轮换免费模型,一个 Key 访问多家模型
- 模型:每日更新,包含 DeepSeek、Qwen、Llama 等主流模型
- 免费额度:免费模型每日有限额度,付费模型按量计费
- 注册:无需信用卡
- 文档:https://openrouter.ai/docs
from openai import OpenAI
client = OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key="YOUR_OPENROUTER_KEY",
)
response = client.chat.completions.create(
model="deepseek/deepseek-chat:free", # 注意 :free 后缀
messages=[{"role": "user", "content": "Hello!"}]
)
print(response.choices[0].message.content)完全免费,无需注册 Cloudflare 账号的公开模型也可调用
- 模型:Llama 3.1、Mistral、Phi-2 等
- 免费额度:每天 10,000 次神经元调用(Workers AI 免费计划)
- 注册:Cloudflare 账号,无需信用卡
- 文档:https://developers.cloudflare.com/workers-ai/
const response = await fetch(
"https://api.cloudflare.com/client/v4/accounts/YOUR_ACCOUNT_ID/ai/run/@cf/meta/llama-3.1-8b-instruct",
{
method: "POST",
headers: { Authorization: `Bearer YOUR_API_TOKEN` },
body: JSON.stringify({ messages: [{ role: "user", content: "Hello!" }] }),
}
);
const data = await response.json();
console.log(data.result.response);专注于企业 RAG 场景,Command R+ 在检索增强上表现优秀
- 模型:Command R+、Command R、Embed v3
- 免费额度:1,000 次 API 调用/月(Trial Key)
- 注册:无需信用卡
- 文档:https://docs.cohere.com
import cohere
co = cohere.Client("YOUR_API_KEY")
response = co.chat(
model="command-r-plus",
message="解释量子纠缠"
)
print(response.text)开源模型最全的平台之一,支持 70+ 个模型
- 模型:LLaMA 3、Qwen 2.5、Mistral、DeepSeek 等
- 免费额度:注册赠 $5 额度
- 注册:无需信用卡
- 文档:https://docs.together.ai
from together import Together
client = Together(api_key="YOUR_API_KEY")
response = client.chat.completions.create(
model="meta-llama/Llama-3.3-70B-Instruct-Turbo",
messages=[{"role": "user", "content": "Hello!"}],
)
print(response.choices[0].message.content)模型最多,数百个开源模型,Serverless 推理免费可用
- 模型:几乎所有主流开源模型
- 免费额度:Serverless API 对小模型基本无限(受热度影响)
- 注册:无需信用卡
- 文档:https://huggingface.co/docs/api-inference
from huggingface_hub import InferenceClient
client = InferenceClient(api_key="YOUR_HF_TOKEN")
messages = [{"role": "user", "content": "Hello!"}]
response = client.chat.completions.create(
model="Qwen/Qwen2.5-72B-Instruct",
messages=messages,
max_tokens=500,
)
print(response.choices[0].message.content)欧洲顶级 AI 公司,La Plateforme 提供免费 Tier
- 模型:Mistral 7B、Mixtral 8x7B
- 免费额度:免费 Tier 有使用限制
- 注册:无需信用卡(免费 Tier)
- 文档:https://docs.mistral.ai
| 服务 | 模型 | 免费额度 | 说明 |
|---|---|---|---|
| Stability AI | SDXL、SD3 | 25 credits/月 | 注册即送 |
| Pollinations.ai | FLUX、SDXL 等 | 完全免费无限制 | 无需 Key |
| Replicate | 数百个模型 | $5 赠金 | 含 FLUX.1 |
| Fal.ai | FLUX、SD 等 | $5 赠金 | 速度快 |
无需 API Key,完全免费,直接拼接 URL 即可生成图像
https://image.pollinations.ai/prompt/一只可爱的熊猫在打太极?width=1024&height=1024&model=flux
import requests
from PIL import Image
from io import BytesIO
prompt = "a futuristic city at night, cyberpunk style"
url = f"https://image.pollinations.ai/prompt/{prompt}?width=1024&height=1024"
response = requests.get(url)
img = Image.open(BytesIO(response.content))
img.save("output.png")| 服务 | 功能 | 免费额度 | 说明 |
|---|---|---|---|
| ElevenLabs | TTS | 10,000字/月 | 音质极佳 |
| Microsoft Edge TTS | TTS | 完全免费 | 无需 Key |
| OpenAI Whisper API (HF) | STT | 免费(HF 托管) | 识别准确 |
| AssemblyAI | STT | 5小时/月 | 支持中文 |
import edge_tts
import asyncio
async def main():
tts = edge_tts.Communicate("你好,我是微软语音合成", voice="zh-CN-XiaoxiaoNeural")
await tts.save("output.mp3")
asyncio.run(main())| 服务 | 模型 | 免费额度 | 说明 |
|---|---|---|---|
| Kling AI | Kling 1.6 | 166积分/天 | 国产,质量高 |
| Hailuo AI | MiniMax | 新用户免费额度 | 效果不错 |
| Runway | Gen-3 | 125 credits | 注册赠送 |
| 服务 | 模型 | 免费额度 | 维度 |
|---|---|---|---|
| Voyage AI | voyage-3 | 200M tokens/月 | 1024 |
| Cohere | embed-v3 | 1000次/月 | 1024 |
| Jina AI | jina-embedding | 1M tokens/月 | 768 |
| Cloudflare AI | BGE-base | 无限* | 768 |
import requests
url = "https://api.jina.ai/v1/embeddings"
headers = {"Authorization": "Bearer YOUR_JINA_KEY", "Content-Type": "application/json"}
data = {"model": "jina-embeddings-v3", "input": ["你好世界", "Hello World"]}
response = requests.post(url, headers=headers, json=data)
embeddings = response.json()["data"]
print(f"向量维度: {len(embeddings[0]['embedding'])}")| 服务 | 能力 | 免费额度 |
|---|---|---|
| Google AI Studio | 图像/视频理解 | 1,500 req/天 |
| Groq | 图像理解(llava) | 14,400 req/天 |
| Hugging Face | 图像分类/描述等 | 受模型限制 |
| Moondream | 轻量图像理解 | 完全免费(本地) |
| 服务 | 说明 | 免费方式 |
|---|---|---|
| GitHub Copilot | IDE 插件 | 学生/开源免费 |
| Groq + CodeLlama | 代码专用模型 | 免费 API |
| Hugging Face + StarCoder2 | 开源代码模型 | 免费 HF API |
| Codeium | IDE 插件 | 个人永久免费 |
| 服务 | 说明 | 免费额度 |
|---|---|---|
| Tavily | AI 搜索 API | 1,000次/月 |
| Serper | Google 搜索 API | 2,500次/月 |
| Brave Search API | 搜索 API | 2,000次/月 |
| SearXNG | 自托管搜索 | 完全免费 |
git clone https://github.com/sinpoce/free-ai-apis
cd free-ai-apis
pip install -r requirements.txt
python check.py # 自动验证所有 API 可用性# utils/llm.py - 统一接口,一行代码切换任意免费 API
from utils.llm import LLM
# 切换 provider 只需改这一行
llm = LLM(provider="groq") # 最快
# llm = LLM(provider="gemini") # 最强
# llm = LLM(provider="openrouter") # 最多模型
response = llm.chat("你好!")
print(response)1. 轮询多个 Key 突破速率限制
import itertools
keys = ["key1", "key2", "key3"] # 多个免费账号的 Key
key_cycle = itertools.cycle(keys)
def get_next_key():
return next(key_cycle)2. 自动重试 + 降级
providers = ["groq", "gemini", "openrouter"]
for provider in providers:
try:
response = call_api(provider, prompt)
break
except RateLimitError:
continue # 自动切换下一个3. 缓存相同请求
import hashlib, json, os
def cached_llm_call(prompt, provider="groq"):
cache_key = hashlib.md5(prompt.encode()).hexdigest()
cache_file = f".cache/{cache_key}.json"
if os.path.exists(cache_file):
return json.load(open(cache_file))["response"]
response = call_api(provider, prompt)
json.dump({"response": response}, open(cache_file, "w"))
return response贡献格式:
### 服务名称
- **模型**:xxx
- **免费额度**:xxx
- **注册**:是否需要信用卡
- **文档**:链接如果这个项目对你有帮助,请点 Star 支持!每个 Star 都是持续更新的动力 🙏
Made with ❤️ · 每周更新 · 欢迎 PR