Used to convert the Claude API to OpenAI compatible API. Easily use Claude with any OpenAI compatible client.
Currently it is only compatible with the Claude-3 family of models, if you pass in any other model, the default will be to use claude-3-5-haiku-20241022.
You can customize the list of allowed models by setting the ALLOWED_MODELS
environment variable with a comma-separated list of model names. This is useful when new Claude models are released, allowing you to add support without rebuilding:
# Example: Setting custom allowed models
export ALLOWED_MODELS="claude-3-5-haiku-20241022,claude-3-5-sonnet-20241022,claude-3-haiku-20240307"
The first model in the list will be used as the default model.
curl http://127.0.0.1:6600/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-ant-xxxxxxxxxxxxxxxx" \
-d '{
"model": "claude-3-5-haiku-20241022",
"messages": [
{
"role": "system",
"content": "翻译为中文!"
},
{
"role": "user",
"content": "Hello!"
}
],
"stream": true
}'
Claude2OpenAI supports images in the same format as OpenAI. You can include images in your messages using either base64-encoded images or URLs.
curl http://127.0.0.1:6600/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-ant-xxxxxxxxxxxxxxxx" \
-d '{
"model": "claude-3-5-sonnet-20241022",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "What's in this image?"
},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/image.jpg"
}
}
]
}
]
}'
You can enable debug mode to help troubleshoot issues:
- Using an environment variable:
DEBUG=true ./claude2openai
- Using the command-line flag:
./claude2openai -debug
In debug mode, detailed information about requests and responses will be logged to help with troubleshooting.
Special thanks to Sma1lboy for his contribution.
brew tap owo-network/brew
brew install claude2openai
docker run -d --restart always -p 6600:6600 ghcr.io/missuo/claude2openai:latest
docker run -d --restart always -p 6600:6600 missuo/claude2openai:latest
To set custom allowed models with Docker:
docker run -d --restart always -p 6600:6600 -e ALLOWED_MODELS="claude-3-5-haiku-20241022,claude-3-5-sonnet-20241022" ghcr.io/missuo/claude2openai:latest
It is recommended that you use docker version 26.0.0 or higher, otherwise you need to specify the version in the compose.yaml
file.
+version: "3.9"
mkdir claude2openai && cd claude2openai
wget -O compose.yaml https://raw.githubusercontent.com/missuo/claude2openai/main/compose.yaml
docker compose up -d
Download the latest release from the release page.
chmod +x claude2openai
./claude2openai