Extract color palette from an image
API · /palette-api
Color Palette API
Extract the dominant colour palette from any image. Pass an image URL (we fetch it) or a base64 image and get back its main colours — each as a hex code, RGB triplet and the percentage of the image it covers — plus the single dominant colour and the overall average colour. Choose how many colours to return (1 to 16). The image is decoded and downscaled locally and the colours are quantised on the fly; nothing is stored and there is no third-party service. Supports PNG, JPEG, BMP, TIFF and GIF. Live. 2 endpoints. Built for theming and design tools, auto-generating UI colours from artwork or product photos, brand-colour extraction, and image tagging. Distinct from a single-colour converter or an image resize/info service. No upstream key.
API health
healthy- Uptime
- 100.00%
- Server probes · 24h
- Avg latency
- 89 ms
- Server probes · 24h
- Subscribers
- 4,845
- active
- Total calls
- 38
- last 7 days
Pricing
Pick a tier — billed monthly, cancel anytime.
Free
Free
- 1,650 calls / month
- 2 requests / second
- Hard cap (429 above quota, no overage)
- 1,650 calls/month
- 2 req/sec
- URL + base64, up to 16 colours
- No credit card
Starter
€8.80 /month
- 35,000 calls / month
- 8 requests / second
- Hard cap (429 above quota, no overage)
- 35k calls/month
- 8 req/sec
- Dominant + average + coverage
- Email support
Pro
€28.20 /month
- 198,000 calls / month
- 20 requests / second
- Hard cap (429 above quota, no overage)
- 198k calls/month
- 20 req/sec
- Design / theming pipelines
- Priority support
Mega
€64.20 /month
- 1,000,000 calls / month
- 50 requests / second
- Hard cap (429 above quota, no overage)
- 1M calls/month
- 50 req/sec
- Platform scale
- Dedicated SLA
Built by
Related APIs
Other APIs with overlapping tags.
QR Code Reader API
Read (decode) a QR code from an image — the inverse of a QR generator. Pass an image URL (we fetch it) or a base64 image (a data-URI or raw base64) and get back the decoded text or URL, the QR version and the corner coordinates of the code within the image. PNG, JPEG, BMP, TIFF and GIF are supported (up to 10 MB); large images are downscaled automatically so decoding stays fast. Decoding runs locally (no third-party scan service) and nothing is stored. Every call is live. 2 endpoints. Built for scanning uploaded QR codes, processing screenshots and documents, ticket and coupon validation, and back-end automation. No upstream key.
api.oanor.com/qrdecode-api
NSFW Detection API
Moderate images automatically with on-device machine learning. Classify any image across five categories — neutral, drawing, sexy, porn and hentai — and receive per-class probabilities, the top class, a combined NSFW score and a clear verdict (safe, questionable or nsfw). A simpler check endpoint returns a single safe/unsafe decision against a threshold you choose, ideal for upload gates and user-generated-content pipelines. Supply an image by public URL, base64 or a raw binary request body; only public http/https URLs are accepted and private or internal hosts are blocked, and large images are downscaled automatically. Runs locally on TensorFlow (NSFWJS / MobileNetV2) — no third-party upstream and no per-image cloud cost — with a warm model that keeps inference fast. Ideal for community platforms, marketplaces, dating and chat apps, and any service that accepts user images.
api.oanor.com/nsfw-api
Placeholder API
A fast, fully-local SVG generator for mockups and UIs: placeholder images (a sized rectangle with centered text and automatic contrast), initials avatars (with a deterministic colour derived from the name, in a circle or square), and identicon-style symmetric patterns generated deterministically from any seed. Every endpoint returns the JSON envelope or, with raw=1, the raw SVG so the URL can be used directly as an image source. Pure server-side compute, no third-party upstream, so responses are instant and always available. Ideal for prototypes, dashboards, user avatars, empty states and design systems.
api.oanor.com/placeholder-api
Image API
Inspect image metadata (dimensions, format, size, colour space, transparency) and resize or convert images between JPEG, PNG, WebP and AVIF straight from a URL. Perfect for thumbnails, format optimisation and on-the-fly image transforms.
api.oanor.com/image-api
Frequently asked questions
Quick answers about pricing, quotas, and integration.
How do I get an API key for Color Palette API?
What's the rate limit for Color Palette API?
How much does Color Palette API cost?
Can I cancel my subscription anytime?
Is Color Palette API GDPR-compliant?
Pick an endpoint from the list on the left to see its details and try it.
Code snippets
Sign up to get an API key, then call any path under your slug.
curl https://api.oanor.com/palette-api/SOME_PATH \
-H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/palette-api/SOME_PATH", {
headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/palette-api/SOME_PATH");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
$response = curl_exec($ch);
import requests
r = requests.get(
"https://api.oanor.com/palette-api/SOME_PATH",
headers={"x-oanor-key": "oanor_test_..."},
)
print(r.json())
Ratings
Sign in to rate.
No reviews yet.
Discussion
Ask questions, share usage tips, get answers from the provider and other developers. Public — anyone can read.
Sign in to start a thread or reply.
Sign inNew thread
·
-
Provider answer
🔒 This thread is locked — no new replies.
-
·
- No threads yet — start the discussion.
Support
Private 1:1 support with the provider — billing questions, integration issues, account problems. Only you and the provider team can see these threads.
Sign in to open a support ticket.
Sign inOpen new ticket
Describe what you need help with. The provider team gets an email and replies on the ticket page.
-
·
Urgent - No tickets yet for this API.