AIStudio2API: A Go-based proxy service that converts Google AI Studio web protocols into compatible APIs.
What problem it solves
Users need a local service that can expose Google AI Studio Playground and Build conversations through familiar API formats. The project addresses protocol differences across OpenAI, Anthropic, Gemini, agent clients, media generation, and other AI Studio capabilities while providing account and service management.
Key features
Four compatible API protocols — The service exposes OpenAI Chat Completions, OpenAI Responses, Anthropic Messages, and Gemini GenerateContent endpoints. It also provides context-management features for Responses and Anthropic Messages.
Source: README
Multi-account scheduling — Accounts with Free, Pro, Ultra, and Plus entitlements can be recognized and scheduled across the available model catalog. Requests can be rotated between accounts or preferentially reused.
Source: README
Agent client and tool support — The service supports file operations used by agent clients and exposes function calls, tool results, Google tools, and native web search for selected clients. Four protocol formats support tool selection and strict parameter validation.
Source: README
Streaming and multimodal generation — Streaming responses can include text, thinking summaries, function calls, Google tools, media, and usage. The service also covers text-to-speech, image generation, video generation, Deep Research, YouTube input, files, transcription, Live, and Robotics.
Source: README
Graphical and desktop management — A web interface manages accounts, service state, logs, models, requests, usage, and configuration. Desktop applications are available for Windows, macOS, and Linux, with a system-tray process that can continue after the window is closed.
Source: README
Quick start
Copied verbatim from the project's README.
git clone https://github.com/Mag1cFall/AIStudio2API.git
cd AIStudio2API
cp .env.example .envcd web
npm ci
npm run build
cd ..
arch=$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/')
platform=$([ "$(uname -s)" = Darwin ] && echo darwin || echo linux)
mkdir -p spidermonkey
curl -L https://github.com/Mag1cFall/firefox/releases/download/v152.0.4-aistudio2api.1/spidermonkey-v152.0.4-aistudio2api.1-$platform-$arch.tar.gz | tar -xz -C spidermonkey
mkdir -p libwebp
curl -L https://github.com/Mag1cFall/libwebp/releases/download/v1.6.0-aistudio2api.1/libwebp-v1.6.0-aistudio2api.1-$platform-$arch.tar.gz | tar -xz -C libwebp
export CGO_CPPFLAGS="-I$PWD/spidermonkey/include -I$PWD/libwebp/include" CGO_LDFLAGS="-L$PWD/spidermonkey/lib -L$PWD/libwebp/lib"
if [ "$platform" = darwin ]; then
go build -o aistudio2api ./cmd/aistudio2api
else
target=$(uname -m)-linux-musl
CC="zig cc -target $target" CXX="zig c++ -target $target" go build -tags netgo,osusergo -ldflags="-linkmode external -extldflags -static" -o aistudio2api ./cmd/aistudio2api
fi
./aistudio2apicurl http://127.0.0.1:2048/v1/chat/completions \
-H "Authorization: Bearer 123" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-3.7-flash",
"messages": [{"role": "user", "content": "Hello, world!"}],
"stream": true
}'Who it may suit
Inference: may suit developers and operators who want to connect OpenAI-, Anthropic-, or Gemini-compatible clients to Google AI Studio. It may also suit users who need local account, request, model, usage, and log management across desktop, command-line, or Docker deployments.
Topics to discuss
How should account routing and entitlement-aware scheduling behave when model availability changes?
Which additional client or tool compatibility cases should receive priority?
How can operators make multi-account setup, authentication, and recovery easier to understand and maintain?
Written by ReadmeX AI from the project's README, source and public GitHub data; it may contain mistakes.
Read the original README https://github.com/Mag1cFall/AIStudio2API#readme
ReadmeX opened this community for a trending project; it is not run by the project. Maintainers can claim it from the community page.
Comments
…