Skip to content

FreeGPT4-WEB-API is an easy to use python server that allows you to have a self-hosted, Unlimited and Free WEB API of the latest AI like DeepSeek R1 and GPT-4o

License

Notifications You must be signed in to change notification settings

aledipa/Free-GPT4-WEB-API

Repository files navigation

Docker Image CI GPT4-API-PyApp Docker Pulls

Free-GPT4-WEB-API

Self-hosted web API that exposes free, unlimited access to modern LLM providers through a single, simple HTTP interface. It includes an optional web GUI for configuration and supports running via Python or Docker.

  • Free to use
  • Unlimited requests
  • Simple HTTP interface (returns plain text)
  • Optional Web GUI
  • Docker image available

Note: The demo server, when available, can be overloaded and may not always respond.


Table of contents

  • Features
  • Screenshots
  • Quick start
    • Run with Docker
    • Run from source
  • Usage
    • Quick examples (browser, curl, Python)
    • File input
    • Web GUI
  • Command-line options
  • Configuration
    • Cookies
    • Proxies
    • Models and providers
    • Private mode and password
  • Siri integration
  • Requirements
  • Star history
  • Contributing
  • License

Features

  • Self-hosted DeepSeek-R1 and GPT-4o API
  • Unlimited usage
  • Free of cost
  • User-friendly GUI

Screenshots


Quick start

Option A: Run with Docker

Pull and run with an optional cookies.json and port mapping. In Docker, setting a GUI password is recommended (and required by some setups).

  • Minimal (no cookies):
docker run -p 5500:5500 d0ckmg/free-gpt4-web-api:latest
  • With cookies (read-only mount):
docker run \
  -v /path/to/your/cookies.json:/cookies.json:ro \
  -p 5500:5500 \
  d0ckmg/free-gpt4-web-api:latest
  • Override container port mapping:
docker run -p YOUR_PORT:5500 d0ckmg/free-gpt4-web-api:latest
  • docker-compose.yml:
version: "3.9"
services:
  api:
    image: "d0ckmg/free-gpt4-web-api:latest"
    ports:
      - "YOUR_PORT:5500"
    #volumes:
    #  - /path/to/your/cookies.json:/cookies.json:ro

Note:

  • If you plan to use the Web GUI in Docker, set a password (see “Command-line options”).
  • The API listens on port 5500 in the container.

Option B: Run from source

  1. Clone the repo
git clone https://github.com/aledipa/Free-GPT4-WEB-API.git
cd Free-GPT4-WEB-API
  1. Install dependencies
pip install -r requirements.txt
  1. Start the server (basic)
python3 FreeGPT4_Server.py

Usage

The API returns plain text by default.

Examples:

curl examples

  • Simple text prompt:
curl "http://127.0.0.1:5500/?text=Explain%20quicksort%20in%20simple%20terms"
  • File input (see --file-input in options):
fileTMP="$1"
curl -s -F file=@"${fileTMP}" http://127.0.0.1:5500/

Python example

import requests

resp = requests.get("http://127.0.0.1:5500/", params={"text": "Give me a limerick"})
print(resp.text)

Web GUI

  • Start with GUI enabled:
python3 FreeGPT4_Server.py --enable-gui

From the GUI you can configure common options (e.g., model, provider, keyword, history, cookies).


Command-line options

Show help:

python3 FreeGPT4_Server.py [-h] [--remove-sources] [--enable-gui]
                           [--private-mode] [--enable-history] [--password PASSWORD]
                           [--cookie-file COOKIE_FILE] [--file-input] [--port PORT]
                           [--model MODEL] [--provider PROVIDER] [--keyword KEYWORD]
                           [--system-prompt SYSTEM_PROMPT] [--enable-proxies] [--enable-virtual-users]

Options:

  • -h, --help Show help and exit
  • --remove-sources Remove sources from responses
  • --enable-gui Enable graphical settings interface
  • --private-mode Require a private token to access the API
  • --enable-history Enable message history
  • --password PASSWORD Set/change the password for the settings page
    • Note: Mandatory in some Docker environments
  • --cookie-file COOKIE_FILE Use a cookie file (e.g., /cookies.json)
  • --file-input Enable file-as-input support (see curl example)
  • --port PORT HTTP port (default: 5500)
  • --model MODEL Model to use (default: gpt-4)
  • --provider PROVIDER Provider to use (default: Bing)
  • --keyword KEYWORD Change input query keyword (default: text)
  • --system-prompt SYSTEM_PROMPT System prompt to steer answers
  • --enable-proxies Use one or more proxies to reduce blocking
  • --enable-virtual-users Enable virtual users to divide requests among multiple users

Configuration

Cookies

Some providers require cookies to work properly. For the Bing model, only the “_U” cookie is needed.

  • Passing cookies via file:
    • Use --cookie-file /cookies.json when running from source
    • In Docker, mount your cookies file read-only: -v /path/to/cookies.json:/cookies.json:ro
  • The GUI also exposes cookie-related settings.

Proxies

Enable proxies to mitigate blocks:

  • Start with --enable-proxies
  • Ensure your environment is configured for aiohttp/aiohttp_socks if you need SOCKS/HTTP proxies.

Models and providers

  • Models: includes gpt-4 (and variants such as GPT-4o) and DeepSeek-R1
  • Default model: gpt-4
  • Default provider: Bing
  • Change via flags or in the GUI:
--model gpt-4o --provider Bing

Private mode and password

  • --private-mode requires a private token to access the API
  • --password protects the settings page (mandatory in some Docker setups)
  • Use a strong password if you expose the API beyond localhost

Siri integration

Use the GPTMode Apple Shortcut to ask your self-hosted API via Siri.

Shortcut:

Say “GPT Mode” to Siri and ask your question when prompted.


Requirements


Star history

Star History Chart


Contributing

Contributions are welcome! Feel free to open issues and pull requests to improve features, docs, or reliability.

Credits:

  • Some examples and tips credited to community members, including @git-malik and @ayoubelmhamdi.

License

GNU General Public License v3.0

See LICENSE for details.