Getting started
- Create a Farvixo Tools account — new accounts get 25 free credits
- Generate an API key at Dashboard → API Keys
- 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