Docs

Vortops has one address, https://api.vortops.com, and four calls. Accounts are open and keys are issued from your dashboard. Ask for early access and we will set up your account and a free test key.

Quickstart

  1. Get a test key. It starts with vk_test_. Test keys never call a model and never cost anything.
  2. Check it works. This returns who the key belongs to.
curl https://api.vortops.com/v1/me \
  -H "Authorization: Bearer $VORTOPS_KEY"
  1. Switch to a live key (vk_live_) and ask for something real.
curl https://api.vortops.com/v1/route \
  -H "Authorization: Bearer $VORTOPS_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "task": "greeting",
    "model": "@cf/meta/llama-3.2-3b-instruct",
    "input": {
      "messages": [{ "role": "user", "content": "Say hello in five words." }],
      "max_tokens": 20
    }
  }'

The reply includes what it cost.

{
  "output": { "response": "Hello there, friend, welcome!" },
  "request_id": "req_4f1c0b7a9d2e41a8b3c6d0e2",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "credits_charged": 1,
  "mode": "live"
}

Keys

  • Each project has its own keys. Make a live key and a test key, and give each a name such as "Production".
  • A key is shown once when it is created. Vortops keeps only a hash, so a lost key cannot be recovered. Make a new one and revoke the old one.
  • Revoking a key works at once.
  • Keep keys on your server. Never put one in a web page, a mobile app or a public repository. Vortops does not allow calls from browsers, on purpose.

Endpoints

CallWhat it does
GET /v1/healthIs the service up. No key needed.
GET /v1/modelsThe models you can use. No key needed.
GET /v1/meWho this key is: the project, its billing mode, credits used this month and credits left.
POST /v1/tasks/seo-auditCheck a public website and get a report with 31 plain-language checks, a score, the most important fixes and a short summary. Send url and optionally business. Costs a flat 8 credits (about US$0.08). Test keys return a free sample.
POST /v1/tasks/image-checkAlt text, title, caption, tags, hidden-data review and a web copy for a picture. Send image_url or image_base64. Costs a flat 3 credits (about US$0.03). Test keys return a free sample.
POST /v1/tasks/reply-helperA summary, advice and three replies for a customer's review or message. Send message. Costs a flat 2 credits (about US$0.02). Test keys return a free sample.
POST /v1/tasks/review-insightsThemes, praise, complaints and what to fix first from a batch of reviews. Send reviews. Costs a flat 4 credits (about US$0.04). Test keys return a free sample.
POST /v1/tasks/post-ideasSocial post ideas sized for a platform. Send business and optionally platform, tone and topic. Costs a flat 3 credits (about US$0.03). Test keys return a free sample.
POST /v1/tasks/review-requestHonest ways to ask a customer for a review. Send business and channel. Costs a flat 2 credits (about US$0.02). Test keys return a free sample.
POST /v1/tasks/draft-checkRisks in a reply or post before it is published, with a safer version. Send draft. Costs a flat 2 credits (about US$0.02). Test keys return a free sample.
POST /v1/tasks/titles-checkTitle, description and sharing tags of a page, with rewrites. Send url. Costs a flat 2 credits (about US$0.02). Test keys return a free sample.
POST /v1/tasks/links-checkBroken and redirecting links on a page. Send url. Costs a flat 3 credits (about US$0.03). Test keys return a free sample.
POST /v1/tasks/speed-checkPage weight, blocking scripts, compression and caching. Send url. Costs a flat 3 credits (about US$0.03). Test keys return a free sample.
POST /v1/tasks/accessibility-checkCommon accessibility problems on a page. Send url. Costs a flat 3 credits (about US$0.03). Test keys return a free sample.
POST /v1/tasks/security-checkhttps, security headers and cookie flags. Send url. Costs a flat 2 credits (about US$0.02). Test keys return a free sample.
POST /v1/routeRun a model. Send model, input and an optional task label for your own reports.

Models

These are the models you can send to /v1/route today. GET /v1/models always returns the live list. Prices are in US dollars per million tokens (1 million tokens is roughly 750,000 words). Every call costs at least 1 credit. Models that think first use part of max_tokens on that thinking, so give them room.

ModelTypeGood forInOut
@cf/meta/llama-3.2-1b-instructTextTiny and fast. Short replies, labels, simple rewrites.$0.095$0.704
@cf/meta/llama-3.2-3b-instructTextSmall and cheap. Good default for short everyday tasks.$0.178$1.17
@cf/meta/llama-3.1-8b-instruct-fp8-fastTextFast all-rounder for summaries, classification and drafts.$0.158$1.34
@cf/meta/llama-3.3-70b-instruct-fp8-fastTextStrongest Llama here. Better writing and reasoning.$1.03$7.89
@cf/meta/llama-4-scout-17b-16e-instructText and imagesLong inputs and pictures as input.$0.945$2.98
@cf/google/gemma-4-26b-a4b-itText (thinks first)Reasoning model. Allow extra max_tokens, or send reasoning_effort: "low".$0.350$1.05
@cf/qwen/qwen3-30b-a3b-fp8Text (thinks first)Reasoning model. Allow extra max_tokens.$0.178$1.17
@cf/zai-org/glm-5.3-flashText and images (thinks first)Reasoning model that also reads images. Good for structured JSON.$0.525$1.75
@cf/black-forest-labs/flux-1-schnellImageFast image generation. Priced per image size and step.From 2 credits (about US$0.02)

More models are added after they are tested through Vortops. Ask for one on the early access form.

Credits

A credit is US$0.01 at list price. Each call is measured and charged at about 3.5 times what it cost to run, rounded up, with a minimum of 1 credit. A fast image costs at least 2. A call that fails is not charged. See pricing and the credits policy.

A project can be paid for by an account's credits, or by the project's own account (an internal or corporate account billed monthly). Either way you can set a monthly credit limit on a project.

Errors

Every error looks the same: a short code your code can check and a sentence a person can read.

{ "error": { "code": "insufficient_credits", "message": "There are no credits left on this account. ..." } }
CodeStatusMeaning
missing_api_key401No key was sent. Add the header Authorization: Bearer YOUR_KEY.
invalid_api_key401The key is wrong, was copied only in part, or has been revoked.
project_paused403The project is paused, so its keys do not work for now.
account_suspended403The account is suspended.
invalid_json400The body was not valid JSON.
missing_fields400Both model and input are required.
model_not_available400The model is not one Vortops offers yet. GET /v1/models lists them.
model_not_allowed403This project is limited to certain models and this is not one.
rate_limited429Too many requests in a minute for this project. Wait and retry.
spend_limit_reached429The project used its monthly credit limit. It resets on the first of the month or can be raised.
insufficient_credits402The account has no credits left. Add credits and retry.
model_error502The model could not finish the request. You are not charged.

VortopsBot

The website check fetches the page you ask about, the way a visitor's browser would, and a few small files such as robots.txt and sitemap.xml. It identifies itself as VortopsBot/1.0, sends no cookies, follows at most four redirects, waits at most eight seconds and reads at most 1.5 MB. It only visits public websites: addresses that point to a private network, localhost or an unusual port are refused. It runs only when a person asks for a check.

Limits

Each project has a rate limit (requests a minute) and an optional monthly credit limit. Both are set per project. Only models listed at /v1/models can be used, so nothing runs that has no price.