A single gateway in front of OpenAI, Anthropic, xAI, Google, OpenRouter, Ideogram, Recraft, Luma, Runway, Runware, GoApi, BlackForestLabs and NanoBananaApi. Your SDK keeps working; the images stay, the failures are free, and you know the price before you send.
One balance, pay as you go · Web, API, Telegram, Slack and Evolution CMS · 9 languages
# the client you already have, pointed at one gateway client = OpenAI( base_url="https://ai.artur.work/api/v1", api_key="<gateway key>", ) # any model from any provider, same call client.chat.completions.create(model="claude-sonnet-5", ...) client.chat.completions.create(model="gpt-5", ...) client.chat.completions.create(model="grok-4.5", ...) client.images.generate(model="gpt-image-1.5", ...)
# the client you already have, pointed at one gateway client = Anthropic( base_url="https://ai.artur.work", api_key="<gateway key>", ) # any model from any provider, same call client.messages.create(model="claude-sonnet-5", max_tokens=1024, ...) client.messages.create(model="gpt-5", max_tokens=1024, ...) client.messages.create(model="grok-4.5", max_tokens=1024, ...)
# any model from any provider, same call curl https://ai.artur.work/api/v1/chat/completions \ -H "Authorization: Bearer <gateway key>" \ -H "Content-Type: application/json" \ -d '{"model": "claude-sonnet-5", "messages": [{"role": "user", "content": "Hi"}]}'
Providers rename endpoints, retire models and change response shapes. Behind the gateway that is our problem: your integration keeps calling the same OpenAI-compatible API, extended where the vendors’ contracts stop short.
Every model publishes what a generation costs and how long it takes. Per-piece tariffs are exact; token-metered ones are estimated from what comparable runs actually billed. Latency figures carry their sample size and source, so an estimate never dresses up as a measurement.
All generated images are re-hosted on the gateway CDN. You get a stable URL that never points at a provider’s temporary link, named by the content itself, so the same image is always the same file.
Every call is metered against your balance; a request with an insufficient balance is refused before any provider is contacted. Long-running image jobs are polled to completion, and a generation that fails is recorded as failed, not billed.
Add your own OpenAI, Anthropic or other provider key and it is encrypted with AES-256-GCM under one of your gateway keys. Only API calls made with that key can open it. We cannot read it back, so it is never displayed, and a copy of the database is useless without it.
Issue as many gateway keys as you like, each pinned to the addresses it may be used from. Rotate one and its sealed credentials are re-sealed; delete one and they go with it.
Top up by card, or let a saved card top up automatically when the balance runs low. Sales to EU businesses with a validated VAT ID are booked as reverse charge; for consumers, VAT follows the rules of their own country.
An AI image workbench for the Evolution CMS 3.5+ manager. Describe a batch of image work; it runs in the background. A text model asks about anything genuinely ambiguous, plans the work, and a background worker carries it out against the gateway, a slice at a time, for as long as it takes.
cd core php artisan package:installrequire elcreator/aimage "*" php artisan migrate
Offered to agents such as Claude Code or Codex as aimage.* tools through eMCP. Keys are encrypted at rest on the CMS side too.
Chat with a text model or send /image <prompt> from the messenger you already have open, billed to your own balance.
No code at all. Chat with image upload, image generation with model, quality and size, and voice in English, Ukrainian, Czech and Slovak.
Any user can share a spare GPU and earn platform credits that they spend on their own inference; other users send that hardware batch jobs from the image page.
Prices are the typical AI task items we resell, with links to the provider pricing pages on the full list.
Token calculation differs between providers, and tokens are not a unified unit; they may or may not be equal. Providers can add surcharges for various things, such as reasoning, tool calling (e.g., web searches), and calculate media tokens differently. Therefore, the final price for any task cannot be predicted by the provider or us, so limiting it to the remaining balance of the user is used instead.
Full price list with provider links| Model | Item | Price |
|---|---|---|
| gpt-5 | Input | 1.1879 EUR |
| gpt-5 | Output | 9.5032 EUR |
| claude-sonnet-5 | Input | 1.9006 EUR |
| claude-sonnet-5 | Output | 9.5032 EUR |
| gemini-3.1-pro | Input | 1.9006 EUR |
| gemini-3.1-pro | Output | 11.4039 EUR |
| flux1.1-pro | Result | 0.038 EUR |
| recraft-3 | Result | 0.038 EUR |
| flux1-schnell | Result | 0.001901 EUR |
| whisper-1 | Sound input | 0.005702 EUR |
| tts-1-hd | Output | 28.5097 EUR |
Register with your e-mail or a social account, top up your balance, and issue a key from your profile. Your SDK needs one line changed.