The project's README from github.com/xtekky/gpt4free. As one markdown file: README.md.
Created by @xtekky,
maintained by @hlohaus
Support the project on GitHub Sponsors ❤️
Live demo & docs: https://g4f.dev | Documentation: https://g4f.dev/docs
GPT4Free (g4f) is a community-driven project that aggregates multiple accessible providers and interfaces to make working with modern LLMs and media-generation models easier and more flexible. GPT4Free aims to offer multi-provider support, local GUI, OpenAI-compatible REST APIs, and convenient Python and JavaScript clients — all under a community-first license.
This README is a consolidated, improved, and complete guide to installing, running, and contributing to GPT4Free.
Table of contents
mkdir -p ${PWD}/har_and_cookies ${PWD}/generated_media
sudo chown -R 1200:1201 ${PWD}/har_and_cookies ${PWD}/generated_media
docker pull hlohaus789/g4f
docker run -p 8080:8080 -p 7900:7900 \
--shm-size="2g" \
-v ${PWD}/har_and_cookies:/app/har_and_cookies \
-v ${PWD}/generated_media:/app/generated_media \
hlohaus789/g4f:latest
Notes:
mkdir -p ${PWD}/har_and_cookies ${PWD}/generated_media
chown -R 1000:1000 ${PWD}/har_and_cookies ${PWD}/generated_media
docker run \
-p 1337:8080 -p 8080:8080 \
-v ${PWD}/har_and_cookies:/app/har_and_cookies \
-v ${PWD}/generated_media:/app/generated_media \
hlohaus789/g4f:latest-slim
Notes:
A full Xfce desktop (TigerVNC + noVNC) with the g4f API and a one-click Install & Open menu for 100+ AI tools and providers — coding agents, browsers, gateways, local runtimes and assistants. See docker/sandbox-menu/README.md for the menu, the tool list and the settings.
docker run -d --name g4f-sandbox-desktop \
-p 8080:8080 -p 5900:5900 \
--shm-size="2gb" \
-v ${PWD}:/app/gpt4free \
-v ${PWD}/sandbox-home/.config:/home/pn/.config \
-v ${PWD}/sandbox-home/.local:/home/pn/.local \
hlohaus789/g4f:latest-sandbox-desktop
localhost:5900-v ${PWD}:/app/gpt4free mounts your app into the sandbox at the path the
image's editable g4f install points at, so the API serves your code and the
agents can edit it. Mount at /app/gpt4free, not /app.-v ${PWD}/sandbox-home/.config:/home/pn/.config and …/.local:/home/pn/.local
keep agent configs, credentials, caches and the sandbox settings across
container restarts — without them every new container starts with an empty
home and every tool asks for its login again. Do not mount over /home/pn
itself: the embedded Python and g4f runtime live in /home/pn/.g4f.HOME at a mounted
directory: -v ${PWD}/agent-home:/home/pn/work plus Sandbox Settings →
sandbox-cli settings --home /home/pn/work.bin/start-sandbox-desktop.sh wraps the same run (and
docker/docker-compose.sandbox-desktop.yml) with --build, --pull,
--port, shell, logs and stop.Prerequisites:
Install from PyPI (recommended):
pip install -U g4f[all]
Partial installs
Install from source:
git clone https://github.com/xtekky/gpt4free.git
cd gpt4free
pip install -r requirements.txt
pip install -e .
Notes:
from g4f.gui import run_gui
run_gui()
python -m g4f.cli gui --port 8080 --debug
python -m g4f --port 8080 --debug
http://localhost:1337/v1http://localhost:1337/docspython -m g4f.cli gui --port 8080 --debug
GPT4Free now includes a Model Context Protocol (MCP) server that allows AI assistants like Claude to access web search, scraping, and image generation capabilities.
Starting the MCP server (stdio mode):
# Using g4f command
g4f mcp
# Or using Python module
python -m g4f.mcp
Starting the MCP server (HTTP mode):
# Start HTTP server on port 8765
g4f mcp --http --port 8765
# Custom host and port
g4f mcp --http --host 127.0.0.1 --port 3000
HTTP mode provides:
POST http://localhost:8765/mcp - JSON-RPC endpointGET http://localhost:8765/health - Health checkConfiguring with Claude Desktop:
Add to your claude_desktop_config.json:
{
"mcpServers": {
"gpt4free": {
"command": "python",
"args": ["-m", "g4f.mcp"]
}
}
}
Available MCP Tools:
web_search - Search the web using DuckDuckGoweb_scrape - Extract text content from web pages image_generation - Generate images from text promptsFor detailed MCP documentation, see g4f/mcp/README.md
http://localhost:7900/?autoconnect=1&resize=scale&password=secret
Install:
pip install -U g4f[all]
Synchronous text example:
from g4f.client import Client
client = Client()
response = client.chat.completions.create(
model="auto",
messages=[{"role": "user", "content": "Hello, how are you?"}],
web_search=False
)
print(response.choices[0].message.content)
Expected:
Hello! How can I assist you today?
Image generation example:
from g4f.client import Client
client = Client()
response = client.images.generate(
model="flux",
prompt="a white siamese cat",
response_format="url"
)
print(f"Generated image URL: {response.data[0].url}")
Async client example:
from g4f.client import AsyncClient
import asyncio
async def main():
client = AsyncClient()
response = await client.chat.completions.create(
model="auto",
messages=[{"role": "user", "content": "Explain quantum computing briefly"}],
)
print(response.choices[0].message.content)
asyncio.run(main())
Notes:
Use the official JS client in the browser—no backend required.
Example:
<script type="module">
import Client from 'https://g4f.dev/dist/js/client.js';
const client = new Client();
const result = await client.chat.completions.create({
model: 'auto', // Or "glm-5.3", "kimi-k3", etc.
messages: [{ role: 'user', content: 'Explain quantum computing' }]
});
console.log(result.choices[0].message.content);
</script>
Notes:
Provider requirements may include:
http://localhost:1337/v1http://localhost:1337/docsContributions are welcome — new providers, features, docs, and fixes are appreciated.
How to contribute:
Repository: https://github.com/xtekky/gpt4free
g4f/Provider/Many more contributors are acknowledged in the repository.
GPT4Free is guided by community principles:
This program is licensed under the GNU General Public License v3.0 (GPLv3). See the full license: https://www.gnu.org/licenses/gpl-3.0.txt
Summary:
Copyright notice
xtekky/gpt4free: Copyright (C) 2025 xtekky
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
Install g4f-go (launcher):
curl -fsSL https://raw.githubusercontent.com/xtekky/gpt4free/main/bin/install.sh | bash
Install (pip):
pip install -U g4f[all]
Run GUI (Python):
python -m g4f.cli gui --port 8080 --debug
# or
python -c "from g4f.gui import run_gui; run_gui()"
Docker (full):
docker pull hlohaus789/g4f
docker run -p 8080:8080 -p 7900:7900 \
--shm-size="2g" \
-v ${PWD}/har_and_cookies:/app/har_and_cookies \
-v ${PWD}/generated_media:/app/generated_media \
hlohaus789/g4f:latest
Docker (slim):
docker run -p 1337:8080 -p 8080:8080 \
-v ${PWD}/har_and_cookies:/app/har_and_cookies \
-v ${PWD}/generated_media:/app/generated_media \
hlohaus789/g4f:latest-slim
Python usage patterns:
client.chat.completions.create(...)client.images.generate(...)AsyncClientDocs & deeper reading
Thank you for using and contributing to GPT4Free — together we make powerful AI tooling accessible, flexible, and community-driven.