Sign in

Developer API

Build Farvixo's AI and utilities into your own apps

Getting started

  1. Create a Farvixo Tools account — new accounts get 25 free credits
  2. Generate an API key at Dashboard → API Keys
  3. Pass it on every request: Authorization: Bearer fx_live_...

Quickstart

JavaScript / Node.js:

const res = await fetch('https://tools.farvixo.com/api/v1/chat', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer fx_live_YOUR_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    messages: [{ role: 'user', content: 'Explain JWT in one line' }],
  }),
});
const { success, data, error } = await res.json();
if (!success) throw new Error(error);
console.log(data.reply, data.credits.remaining);

Python:

import requests

res = requests.post(
    "https://tools.farvixo.com/api/v1/summarize",
    headers={"Authorization": "Bearer fx_live_YOUR_KEY"},
    json={"text": "<long text>", "length": "short"},
)
body = res.json()
if not body["success"]:
    raise RuntimeError(body["error"])
print(body["data"]["summary"])

OpenAPI specification

A machine-readable OpenAPI 3.0 spec is available at GET /api/v1/openapi.json — import it into Postman, Insomnia, or generate a typed client with openapi-generator.

Pricing

AI endpoints cost 1 credit per call; utility endpoints are free (key required). If an AI call fails, the credit is automatically refunded. Buy credit packs at Dashboard → Credits.

Response format

Every endpoint returns the same envelope:

{
  "success": true,
  "data": { ... },              // endpoint result
  "error": null,                // or an error message when success=false
  "meta": { "requestId": "...", "timestamp": "..." }
}

Errors use standard HTTP codes: 401 bad key · 402 not enough credits · 429 rate limited (respect Retry-After) · 400 bad input.

AI endpoints — 1 credit

POST /api/v1/chat1 credit

Multi-turn AI chat completion.

curl -X POST https://tools.farvixo.com/api/v1/chat \
  -H "Authorization: Bearer fx_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "messages": [{"role": "user", "content": "Explain JWT in one line"}],
    "system": "You are concise."
  }'

// → { "data": { "reply": "...", "credits": { "spent": 1, "remaining": 24 } } }

POST /api/v1/summarize1 credit

Summarize any text. Options: length (short | medium | long), language.

{ "text": "<long text>", "length": "short" }
// → { "data": { "summary": "..." } }

POST /api/v1/translate1 credit

Translate text to any language. to is required; from is auto-detected.

{ "text": "Hello world", "to": "Hindi" }
// → { "data": { "translation": "...", "to": "Hindi" } }

POST /api/v1/write1 credit

Generate content from a brief. Options: tone, format, words (50–3000).

{ "brief": "Benefits of morning walks", "format": "blog post", "words": 400 }
// → { "data": { "content": "..." } }

Utility endpoints — free

POST /api/v1/qrfree

QR code generator. Options: size (64–2048), format (png | svg).

{ "text": "https://tools.farvixo.com", "size": 512 }
// → { "data": { "dataUrl": "data:image/png;base64,..." } }

POST /api/v1/hashfree

Hash text with md5, sha1, sha256 or sha512.

{ "text": "hello", "algorithm": "sha256" }
// → { "data": { "hash": "2cf24dba..." } }

GET /api/v1/uuid?count=5free

Generate 1–100 UUID v4s.

GET /api/v1/toolsfree · no key

The full 139-tool catalog as JSON. Filter with ?category=pdf.

Account endpoints — free

GET /api/v1/mefree

Your key info, credit balance and the per-endpoint price list.

GET /api/v1/usagefree

Your last 100 API calls with credit amounts — perfect for building usage dashboards.

Rate limits

AI endpoints: 30 requests/minute. Utility and account endpoints: 60 requests/minute. On 429, wait for the Retry-After header value (seconds).

Keys & security

  • Up to 5 active keys per account — rotate by creating a new key and revoking the old one
  • Keys are shown once at creation; only a SHA-256 hash is stored
  • Revoke instantly from Dashboard → API Keys
  • Never ship a key in client-side code — call the API from your server