Skip to main content

Free.ai Python SDK — access 400+ AI tools from your code

Project description

Free.ai Python SDK

Access 400+ AI tools from your Python code. Chat, image generation, text to speech, translation, video, music, and more.

Website | API Docs | PyPI | CLI Tool

Install

pip install freeai

Quick Start

from freeai import FreeAI

ai = FreeAI(api_key="sk-free-xxx")  # or FreeAI() for anonymous

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

# Chat with a specific model
response = ai.chat("Explain quantum computing", model="openai/gpt-4o")
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"

# Speech to text
transcript = ai.stt(url="https://example.com/audio.mp3")
print(transcript.text)

# Music generation
music = ai.music("Upbeat jazz piano")
music.save("jazz.mp3")

# Video generation
video = ai.video("A cat walking through a garden")
video.save("cat.mp4")

BYOK (Bring Your Own Key)

Use your own API keys from any provider. Zero markup.

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

# Anthropic
ai = FreeAI(provider="anthropic", api_key="sk-ant-xxx")
response = ai.chat("Hello", model="claude-sonnet-4")

# Google
ai = FreeAI(provider="google", api_key="AIzaSyxxx")
response = ai.chat("Hello", model="gemini-2.5-pro")

# OpenRouter (346+ models)
ai = FreeAI(provider="openrouter", api_key="sk-or-xxx")
response = ai.chat("Hello", model="meta-llama/llama-3.3-70b")

Or via environment variables:

export FREEAI_API_KEY=sk-proj-xxx
export FREEAI_PROVIDER=openai
ai = FreeAI()  # picks up env vars automatically

All Methods

Method Description Returns
ai.chat(message, model=...) Chat with any LLM ChatResponse
ai.image(prompt, model=...) Generate an image ImageResponse
ai.tts(text, voice=..., model=...) Text to speech TTSResponse
ai.stt(url=..., model=...) Speech to text STTResponse
ai.translate(text, to=...) Translate text TranslateResponse
ai.music(prompt, duration=...) Generate music MusicResponse
ai.video(prompt, model=...) Generate video VideoResponse
ai.enhance_image(url, scale=2) Upscale image 2x/4x ImageResponse
ai.remove_background(url) Remove image background ImageResponse
ai.models() List available models list
ai.health() API health check dict

Response Objects

Every response has:

  • Typed attributes (.text, .url, etc.)
  • .usage — token usage info (.tokens_used, .tokens_charged, .source, .model)
  • .raw — the full JSON response dict

Media responses (image, tts, music, video) have a .save(path) method to download the file.

Models

Self-Hosted (cheapest)

Model Type ID
Qwen 2.5 7B Chat qwen7b
Qwen 2.5 Coder 32B Code qwen-coder-32b
FLUX.1 Schnell Image flux-schnell
Kokoro TTS kokoro
faster-whisper STT whisper
MadLAD-400 Translation madlad400
AudioLDM 2 Music audioldm2
CogVideoX Video cogvideox

OpenRouter (346+ models)

Use the provider/model format:

ai.chat("Hello", model="openai/gpt-4o")
ai.chat("Hello", model="anthropic/claude-sonnet-4")
ai.chat("Hello", model="google/gemini-2.5-pro")
ai.chat("Hello", model="meta-llama/llama-3.3-70b")
ai.chat("Hello", model="deepseek/deepseek-chat-v3")

Full list: free.ai/apps/ or ai.models()

Pricing

  • Anonymous: Daily free limits (no API key needed)
  • Free account: 50K tokens/day (sign up)
  • Paid plans: From $5/month (pricing)
  • BYOK: $0 — your key, your bill, zero markup

Error Handling

from freeai import FreeAI, AuthenticationError, RateLimitError, InsufficientCreditsError

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

try:
    response = ai.chat("Hello")
except AuthenticationError:
    print("Bad API key")
except InsufficientCreditsError:
    print("Out of tokens — buy more at free.ai/pricing/")
except RateLimitError:
    print("Too many requests — slow down")

Free.ai Ecosystem

  • Free.ai — 400+ free AI tools on the web
  • Python SDKpip install freeai (you are here)
  • CLI Coderpip install freeai-code — AI coding in your terminal
  • iOS App — Native iPhone/iPad app
  • Android App — Native Android app
  • API Docs — Full API reference
  • Web IDE — Code in your browser

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

free_dot_ai-0.1.0.tar.gz (8.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

free_dot_ai-0.1.0-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file free_dot_ai-0.1.0.tar.gz.

File metadata

  • Download URL: free_dot_ai-0.1.0.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for free_dot_ai-0.1.0.tar.gz
Algorithm Hash digest
SHA256 bf93f6adeec8c859e1f620541a5184f8e16d77cda0876b1fca56ca38ad5ad330
MD5 b048374679285cabc773755a52078ac7
BLAKE2b-256 fb89fb30626cacc3f3df957338d8170ea017dfd5ef94b98796008768c9957a49

See more details on using hashes here.

File details

Details for the file free_dot_ai-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: free_dot_ai-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for free_dot_ai-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 77cf3be2d186a874e83a09c6dbf2171cbce5f0f73f2bf5b7a327cd2ab910da75
MD5 5aaabe92f9cafab5d71a955930b10f49
BLAKE2b-256 dd3988a720a4e18d2be0692df619ebc706ddd027d21ca6ea023a220b6b440016

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page