WiozenAPI
InfoClaude 5.5 yarın sabah 08:00'e kadar %90 indirimli (Opus 5.5: milyon token başına $0,40 girdi, $2 çıktı). Bakiye yüklemiş hesaplarda kişi başı $2'lık kullanıma kadar geçerli. Wiozen kampanyayı erken bitirme ve koşullarını değiştirme hakkını saklı tutar.

Docs

One address compatible with OpenAI and Anthropic. Add your address and key, and use the tools you already know.

Tool guides

Getting started

API URLhttps://api.wiozen.com
AuthenticationAuthorization: Bearer sk-gw-…or x-api-key
Modelwiozen-anthropicAll models

Create your key on the Keys page. Only published model names are accepted. Any other name returns 400.

Setup

examples update to the model you select
terminal
# If Claude Code is not installed
npm install -g @anthropic-ai/claude-code

export ANTHROPIC_BASE_URL="https://api.wiozen.com"
export ANTHROPIC_AUTH_TOKEN="sk-gw-..."
export ANTHROPIC_MODEL="wiozen-anthropic"
claude

Claude Code currently runs on the wiozen-anthropic model. You can use Claude and Gemini models with the tools on the other tabs.

Key Tool

Connects Claude Desktop and Claude Code without writing environment variables: open the tool, enter your sk-gw-… key, and click Apply.

Endpoints

PathFormatDescription
POST/v1/messagesAnthropicClaude Code, Cursor, VS Code and the Anthropic SDK
POST/v1/messages/count_tokensAnthropicToken counting; free of charge
POST/v1/chat/completionsOpenAIOpenAI SDK and OpenAI-compatible tools
POST/v1/responsesOpenAI ResponsesCodex and Responses API clients
POST/v1/images/generationsImageImage generation from text and reference images
POST/v1/embeddingsVectorText embeddings
POST/v1/audio/speechAudioText to speech
POST/v1/audio/transcriptionsAudioSpeech to text
POST/v1/searchWebWeb search
POST/v1/web/fetchWebFetch page content as Markdown
GET/v1/modelsOpenAIList of available models

Image generation

/v1/images/generations generates images from text. If you pass a reference image in the image field, generation starts from that image: editing, changing the background, or showing the same product in a different scene. The image comes back as base64 in data[0].b64_json in the response.

Image from text
curl https://api.wiozen.com/v1/images/generations \
  -H "Authorization: Bearer $API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "model": "gemini-3.1-flash-image",
    "prompt": "A red apple on a white table, studio photo"
  }'
With a reference image · Python
import base64, requests

ref = base64.b64encode(open("urun.png", "rb").read()).decode()

r = requests.post(
    "https://api.wiozen.com/v1/images/generations",
    headers={"Authorization": "Bearer sk-gw-..."},
    json={
        "model": "gemini-3.1-flash-image",
        "prompt": "Keep the same product, make the background light blue",
        "image": "data:image/png;base64," + ref,
    },
)
open("sonuc.jpg", "wb").write(base64.b64decode(r.json()["data"][0]["b64_json"]))

The reference image must be a data URI or plain base64; URLs are not accepted. One reference image is used per request.

Response format

200 · JSON
{
  "id": "msg_01XyZ987654321",
  "type": "message",
  "role": "assistant",
  "content": [{ "type": "text", "text": "Hello!" }],
  "model": "wiozen-anthropic",
  "stop_reason": "end_turn",
  "usage": { "input_tokens": 14, "output_tokens": 11 }
}
"stream": true · SSE
event: message_start
data: {"type":"message_start","message":{"id":"msg_01X...","role":"assistant"}}

event: content_block_delta
data: {"type":"content_block_delta","delta":{"type":"text_delta","text":"Hello"}}

event: message_delta
data: {"type":"message_delta","delta":{"stop_reason":"end_turn"},"usage":{"output_tokens":11}}

data: [DONE]

Parameters

ParameterTypeRequiredDescription
modelstringYesPublished model name. An empty or unrecognized name returns 400.
messagesarrayYesMessage array: [{"role": "user", "content": "..."}]
max_tokensintegerNoMaximum tokens to generate (up to 64,000). The model thinks first on hard questions, and thinking counts against this budget; if the budget runs out, the response can end empty with stop_reason: "max_tokens". 16,000 or more is recommended.
streambooleanNoWhen true, the response streams as Server-Sent Events.
toolsarrayNoTool calling is supported in both formats.

Billing

  • Dollar balance. The amount you add becomes your balance and does not expire; each request deducts the price of the tokens it uses. Current prices are on the Models page.
  • Four separate prices. Input, cached input read, cached input write, and output are priced separately. A cache read costs one tenth of the input price; in long-context agent use, this makes up most of the cost.
  • Reservation. When a request starts, its estimated cost is held from your balance, then adjusted to the actual cost when the response ends. Setting max_tokens higher than you need increases this held amount.
  • Failed requests are not charged. /v1/messages/count_tokens is free too.
  • Key limit. You can set a spend cap on a key; when it is reached, only that key stops.
  • You can see the request breakdown on the Usage page.

Errors

StatusMeaningWhat to do
400Invalid request or unrecognized modelCheck the model name and request body. The error message lists the available models.
401Key missing or invalidCheck your sk-gw-… key and header.
403Account suspendedContact us through Support.
429 Quota exhaustedInsufficient balanceTop up your balance.
429 API key spend limit reachedKey's spend limit reachedRaise or remove the limit on the Keys page.
502 / 504Upstream provider could not respondThe request is not charged. Try again shortly.