Detailed pricing plans are not available yet for this tool.
Pixian.AI Pixian.AI DOWNLOAD ALL Re-fetch Actions Optimize on Recompressor.com Trace to SVG on VectorMagic.com Trace to SVG on Vectorizer.AI Create Face Sticker on Pixian.AI Edit on ClippingMagic.com Inspect on PixSpy.com Download Copy Copying... Copied Failed Error :-( Re-fetch Buy Credits Background Transparent White #000000 File Format JPEG PNG JPEG Quality 75 Crop Margin Not cropped Crop to foreground + 5% Crop to foreground + 25px Advanced: top-bottom left-right: 5% 25px top right bottom left: 5% 10px 15px 20% Result Size Enter 'width height' in px Same as input 1920×1080px, HD 1080×1920px, FB & Insta Stories 1200×1200px, FB Square Advanced: 1000×Auto, Keep aspect ratio Auto×1000, Keep aspect ratio Vertical Alignment Middle Bottom Filename Suffix None "_pixian_ai" DOWNLOAD ALL Presets Factory defaults Ecommerce defaults Loading... Cancel Upload Process Fetch Cancel Error RetryExit Application Network Error Persistent network problems are usually caused by misbehaving browser plugins, misconfigured proxies, or overly restrictive firewalls. Please check your settings or try another browser or computer. Retry NowExit Application Fatal Error :-( Close ×Pre-Crop Your image size exceeds the size limit. For best results, please crop the image to the portion you wish to remove the background from. Size Limit Original Image Size: Aspect Ratio: Megapixels: Cropped Image Size: Aspect Ratio: Megapixels: Cropped image exceeds size limit and will be scaled to fit. Size limit met, full resolution preserved. CancelOk Paste Target DRAG IMAGES HERE TO BEGINDRAG MORE IMAGES HERE or you canPICK IMAGES TO PROCESSPICK MORE IMAGES TO PROCESSor press CMD + V pasted File Picker Pixian.AI in Action BEFORE AFTER TRY THIS EXAMPLE How It Works PICK Pick an image that you want to remove the background from and drag and drop it onto the page. PROCESS Our servers use powerful GPUs and multi-core CPUs to analyze your image and remove the background from it. DOWNLOAD Inspect a preview of the result and download it if you like. Quality We took a large sample of user-provided images and compared our output to the best known competing service's. Here are the results, and be sure to click on each title for an in-depth report: People, Studio Shots Pixian.AI 94.8% Competitor 100.0% People, Other Backgrounds Pixian.AI 88.1% Competitor 100.0% Objects, Studio Shots Pixian.AI 100.0% Competitor 100.0% Objects, Other Backgrounds Pixian.AI 108.7% Competitor 100.0% Artworks, Scans, Logos Pixian.AI 119.9% Competitor 100.0% Based on reviewing outputs separately and assigning a binary good-or-bad score to each. While we have striven for fairness, results are subjective and in our opinion. What matters more than the quality of our results in general, is the quality of our results on your images in particular. We therefore make the comparison tool available to you for free: Compare Your Own Images Ready to make the switch? Check out the API docs and the migration guide. We also offer fun,festive face stickers! Philosophy While AI is rapidly transforming the way we as a society do business, AI itself is changing even faster. What was cutting edge only a few years ago is now rapidly becoming commoditized. We choose to accept and accelerate this reality. We therefore see ourselves less as a tech startup, and more as an outsourced MLOps extension to your engineering team. Our goal is to be more 'S3' and less 'Adobe' for state-of-the-art AI image processing. Ready to make the switch? Check out the API docs and the migration guide. Metrics Backgrounds Removed Latency Percentage of images processed within a given time. We also offer fun,festive face stickers! FAQ What's With The Purple? Both James's and Jacob's respective childhood sports teams had the colors white and purple. File Formats? We support JPEG, PNG, BMP, GIF and WebP as input. We produce PNG for transparent results, and JPEG or PNG for opaque results. We offer a host of output options - just try the example image to see them all. Resolution? The max free website image pixel size is 250,000 pixels. The max paid image pixel size is 25 megapixels (API or website doesn't matter). The max image file size is 30 megabytes. Pricing? See the Pricing page Why are your prices so much lower than the competition? Their margin is our opportunity. We see AI commoditizing rapidly, and rather than fighting that tide we've decided to embrace it. This thinking has impacted every aspect of our business. The size of our team, the choice of AI model, the architecture of our IT operations. We've optimized them all towards maximizing quality and minimizing price. So we don't have a 50 person sales team to wine and dine you (and at those margins they really should be!) All we're offering is a great service and outstanding value. Do you have an API? Sure do! Is it easy to migrate from remove.bg? It is crazy easy - just change the endpoint & API Key! What types of images does Pixian.AI work well on? We work well on a broad range of image types, including photos of people. We distinguish ourselves on objects, artworks, logos and scans. See the Quality section for more details Do you support hair? Yes! Our AI model has been trained on a wide range of images with both hair and fur, so it does a nice job of preserving them. Does it work on AI generated images like from Stable Diffusion? Absolutely! Generative AI generally produces clean, slightly cartoonish images, and those usually work really well. Where does the AI model come from? We have developed a custom AI model that we've trained on a large, proprietary dataset. The model has been specifically tuned for quality and efficiency. Do you make any claims on the input images or results? Our terms of service just grant us the rights we need to deliver the service to you, and to improve our products. We don't claim any rights to the results, and we won't share your images with third parties unless you explicitly authorize us to do so. Please see our Terms of Service for more details. What are your data retention policies? Right now, we retain 10% of uploaded images and all results for 24 hours, and permanently delete them shortly thereafter. This is to allow resuming downloads without incurring duplicate charges. API images are never persisted to non-volatile storage. Please note that our data retention policies may change over time, and this current policy does not bind us in the future, or require your affirmative consent to change. We also offer fun,festive face stickers! DROP IMAGE HERE --- Pricing Pixian.AI offers both a Web App and an API. While the Web App offers some free usage, the API requires buying a credit pack. Currency: EUR EUR, Euro USD, United States Dollar Free Limited use0.25 megapixels resolutionLow priority processingWebsite only PAYGO1 Image = 0.05 to 1 Credits Megapixel-based pricingNo monthly fees or minimumsHigh priority processingWebsite & API CreditsPricePrice/Image Examples 0.25 MPx2 MPx8 MPx25 MPx 250 €4.62 €0.00092 €0.0022 €0.0064 €0.0185 500 €8.77 €0.00088 €0.0021 €0.0061 €0.0175 1,000 €17.17 €0.00086 €0.0020 €0.0060 €0.0172 2,500 €41.54 €0.00083 €0.0019 €0.0058 €0.0166 5,000 €78.46 €0.00078 €0.0018 €0.0055 €0.0157 10,000 €153.23 €0.00077 €0.0018 €0.0053 €0.0153 25,000 €369.22 €0.00074 €0.0017 €0.0051 €0.0148 50,000 €692.29 €0.00069 €0.0016 €0.0048 €0.0138 100,000 €1,347.66 €0.00067 €0.0016 €0.0047 €0.0135 250,000 €3,230.70 €0.00065 €0.0015 €0.0045 €0.0129 500,000 €5,999.88 €0.00060 €0.0014 €0.0042 €0.0120 Show more options Buy Credit Pack How much does an image cost? We use a megapixel based formula to calculate the cost of an image. It is constructed such that a 0.25 MPx image is 0.05 credits and a 25 MPx image is 1 credit, with proportional pricing in between. Here's a table of some example image sizes and their corresponding credit cost, together with the effective price per image for the smallest credit pack: MPxCreditsPrice/Image 0.25 0.050 €0.0009 0.50 0.060 €0.0011 1.00 0.079 €0.0015 2.00 0.117 €0.0022 4.00 0.194 €0.0036 8.00 0.347 €0.0064 12.00 0.501 €0.0093 16.00 0.655 €0.0121 20.00 0.808 €0.0149 25.00 1.000 €0.0185 These are not fixed tiers. Costs for image sizes not listed are proportionally calculated based on the nearest examples in the table. Larger credit packs yield even lower prices per image. The precise pricing formula is: mpx = max(width, 500) * max(height, 500) * 1e-6 mpx = max(0, mpx - min_mpx) credits = per_request + per_mpx * mpx credits = min(max_credits, credits) Where: width, height = width, height of image in pixels min_mpx = 0.25 per_request = 0.05 per_mpx = ((1.0 - 0.05) / (25.0 - 0.25)) max_credits = 1.0 Do my credits expire? Credits do not expire, but you must have made a purchase in the last two years to use them. Why are your prices so much lower than the competition? Their margin is our opportunity. We see AI commoditizing rapidly, and rather than fighting that tide we've decided to embrace it. This thinking has impacted every aspect of our business. The size of our team, the choice of AI model, the architecture of our IT operations. We've optimized them all towards maximizing quality and minimizing price. So we don't have a 50 person sales team to wine and dine you (and at those margins they really should be!) All we're offering is a great service and outstanding value. What payment options do I have? We accept all major credit cards and PayPal. We do not accept purchase orders and do not issue invoices. Can I integrate with the API for free? Yes! It is free to integrate with and test out the API, no purchase required. Details Do you offer special pricing for Academic or Non-profit users? Sorry, but we do not offer special pricing for Academic Institutions or Non-profits. Fine Print If you're unable to log into your account, please contact support and we will help you out. Credit pack purchases are non-refundable. Access is granted immediately after purchasing. Credit packs are personal and cannot be shared. --- About Pixian.AI is a website dedicated to helping you remove backgrounds from images. Team Cedar Lake Ventures, Inc. is a small company based in the Minneapolis area. We develop, own, and operate a portfolio of web sites, interactive web-based tools, desktop software, and web APIs. JAMES DIEBEL Born and raised in Wisconsin, James lived in the San Francisco Bay Area from 2003 to 2014 and presently resides in suburban Minneapolis. He holds a bachelor's degree in Engineering Mechanics and Astronautics, and Mathematics from University of Wisconsin, and a Masters and Ph.D. in Aeronautics and Astronautics from Stanford University. James Diebel started the research project that led to Vector Magic, Cedar Lake Ventures' first website, as a graduate student at Stanford University. JACOB NORDA Born and raised in Sweden, Jacob has lived in the San Francisco Bay Area since 2001. He holds a Master's in Electrical Engineering and Applied Physics from Linköping Institute of Technology, one year of which was spent on a scholarship at Stanford University. Jacob worked as a software engineer at Rosum Inc (now defunct), a geolocation startup in 2001/2002, then moved on to Trimble Navigation, first as a software engineer and subsequently software manager. After four and half years there he teamed up with James Diebel on the research project that led to Vector Magic, Cedar Lake Ventures' first website. DANI SCHAUB Born and raised in Minnesota, Dani played Division 2 College Basketball at Concordia University, St. Paul while earning her Undergraduate Degree in Elementary Education. She then continued her basketball career at the University of Sioux Falls in South Dakota, where she completed her Master’s in Business Administration. Websites Font Hero FONTS, REIMAGINED Hundreds of instantly updating custom specimens organized by vibe, more than a million AI fonts with consistent & broad character sets, blazingly fast load times, and simple licensing. The best way to find your next font! Vectorizer.AI PIXEL TO VECTOR TRACER Powerful deep learning based raster to vector conversion - just upload your JPEG/PNG image and get it vectorized to SVG/EPS/PDF/DXF right away. Great for digital graphics and all forms of printing, embroidery, signage and more. Weather Spark BEAUTIFUL WEATHER GRAPHS In-depth weather reports give you the full scoop on what the weather is typically like in any location - a great resource for trip and event planning. Statistical Atlas DEMOGRAPHIC REPORTS FOR THE UNITED STATES Detailed demographic information presented in charts and maps across all geographical levels of the United States, ranging from the entire nation down to the block group. Topics include race, ethnicity, ancestry, income, employment, educational attainment, and more. Vector Magic BITMAP TO VECTOR CONVERSION Fully automatic bitmap to vector conversion in one convenient website - just upload your bitmap logo and get it vectorized in a matter of seconds. Great for all forms of printing, embroidery, signage and more. Clipping Magic REMOVE IMAGE BACKGROUNDS Instantly remove image backgrounds online, fully automatically and with a Smart Editor to get just the right result. Super convenient for e-commerce product shots, marketing materials, and more. Tensor Spy TENSOR VISUALIZATION AND INSPECTION TOOL Tensor Spy is a browser-based tensor inspection tool for .npy, .npz, .pt, and .pth files, including multi-tensor archives. Pix Spy ENHANCED PIXEL EXAMINATION Pix Spy is your handy image inspection multi-tool. Measure, Eye-drop, Crop and more. Completely free to use and ad-free. Recompressor OPTIMIZED IMAGE OPTIMIZATION Recompressor optimally compresses image files, with full online preview, and without your files ever leaving your browser. Completely free to use and ad-free. Pixian.AI IMAGE BACKGROUND REMOVER Fully automatic background removal in one convenient website - just upload your image and get the background removed in seconds. Super convenient for e-commerce product shots, marketing materials, and more. QR Codes THE EASIEST WAY TO DIGITALLY CONNECT WITH PEOPLE YOU MEET Create "Scan To Message Me" SMS / Email / WhatsApp QR Codes to digitally connect with people you meet: have them scan your QR code to immediately send you a message. Great for conferences and networking events. Sol Scout SUNSHINE AUGMENTED REALITY APP Augmented Reality app that helps you determine when a spot will be in the sun or in the shade. Great for siting flowers & solar panels, for photography, outdoor event planning, real estate, and more. Completely free to use and ad-free. Ask Geo LOCATION TO INFORMATION API & LIBRARY Ask Geo provides a simple, fast, and accurate Web API and Java & .NET Libraries for getting relevant information based on a location (latitude, longitude). The flagship API provides an accurate time zone identifier for any latitude and longitude on earth. Pix Fix CLEAN UP NOISY IMAGES Pix Fix cleans up image JPEG compression artifacts, grainy scans, and other image noise, all while preserving sharp edges and other real details. Completely free to use and ad-free. Cedar Lake Ventures BILLING AND ACCOUNT MANAGEMENT CedarLakeVentures.com is a billing and account management service for web properties owned by Cedar Lake Ventures, Inc.. This provides a smooth and uniform login and billing experience across our sites. Contact THE BEST WAY TO REACH US IS BY EMAIL AT: support@__remove_this_part__pixian.ai OUR ADDRESS IS: Cedar Lake Ventures, Inc. 2500 Shadywood Rd Ste 510 Excelsior, MN 55331-6203 United States THE PHONE NUMBER FOR OUR VOICEMAIL IS: +1 415 230 2377 --- Remove Backgrounds Quickstart Pricing Authentication & Security Rate Limiting Timeouts Error JSON Delta PNG Format Remove Background Account Status Changelog Face Stickers Delta PNG Format Migrating Get API Key Pixian Remove Image Background API Pixian.AI offers a full-fledged image background removal API. The API removes image backgrounds fully automatically and with best-in-class fidelity. Get API Key Quickstart POST a bitmap image and get a background-removed result back: File URL cURL Java .NET Node.js PHP Python Ruby $ curl https://api.pixian.ai/api/v2/remove-background \ -u xyz123:[secret] \ -F image=@example.jpeg \ -o pixian_result.png // Requires: org.apache.httpcomponents.client5:httpclient5-fluent Request request = Request.post("https://api.pixian.ai/api/v2/remove-background") .addHeader("Authorization", "Basic cHh4YmJ6Yjk2bjJ3OGFtOltzZWNyZXRd") .body( MultipartEntityBuilder.create() .addBinaryBody("image", new File("example.jpeg")) // TODO: Replace with your image // TODO: Add more upload parameters here .build() ); ClassicHttpResponse response = (ClassicHttpResponse) request.execute().returnResponse(); if (response.getCode() == 200) { // Write result to disk, TODO: or wherever you'd like try (FileOutputStream out = new FileOutputStream("pixian_result.png")) { response.getEntity().writeTo(out); } } else { System.out.println("Request Failed: Status: " + response.getCode() + ", Reason: " + response.getReasonPhrase()); } using (var client = new HttpClient()) using (var form = new MultipartFormDataContent()) { client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", "INSERT_API_KEY_HERE"); form.Add(new ByteArrayContent(File.ReadAllBytes("example.jpeg")), "image", "example.jpeg"); // TODO: Replace with your image // TODO: Add more upload parameters here var response = client.PostAsync("https://api.pixian.ai/api/v2/remove-background", form).Result; if (response.IsSuccessStatusCode) { // Write result to disk, TODO: or wherever you'd like FileStream outStream = new FileStream("pixian_result.png", FileMode.Create, FileAccess.Write, FileShare.None); response.Content.CopyToAsync(outStream).ContinueWith((copyTask) => { outStream.Close(); }); } else { Console.WriteLine("Request Failed: Status: " + response.StatusCode + ", Reason: " + response.ReasonPhrase); } } // Requires "request" to be installed (see https://www.npmjs.com/package/request) var request = require('request'); var fs = require('fs'); request.post({ url: 'https://api.pixian.ai/api/v2/remove-background', formData: { image: fs.createReadStream('example.jpeg'), // TODO: Replace with your image // TODO: Add more upload options here }, auth: {user: 'xyz123', pass: '[secret]'}, followAllRedirects: true, encoding: null }, function(error, response, body) { if (error) { console.error('Request failed:', error); } else if (!response || response.statusCode != 200) { console.error('Error:', response && response.statusCode, body.toString('utf8')); } else { // Save result fs.writeFileSync("pixian_result.png", body); } }); $ch = curl_init('https://api.pixian.ai/api/v2/remove-background'); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Basic cHh4YmJ6Yjk2bjJ3OGFtOltzZWNyZXRd')); curl_setopt($ch, CURLOPT_POSTFIELDS, array( 'image' => curl_file_create('example.jpeg'), // TODO: Add more upload options here )); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); $data = curl_exec($ch); if (curl_getinfo($ch, CURLINFO_HTTP_CODE) == 200) { // Save result file_put_contents("pixian_result.png", $data); } else { echo "Error: " . $data; } curl_close($ch); # Requires "requests" to be installed (see https://pypi.org/project/requests/) import requests response = requests.post( 'https://api.pixian.ai/api/v2/remove-background', files={'image': open('example.jpeg', 'rb')}, data={ # TODO: Add more upload options here }, auth=('xyz123', '[secret]') ) if response.status_code == requests.codes.ok: # Save result with open('pixian_result.png', 'wb') as out: out.write(response.content) else: print("Error:", response.status_code, response.text) # Requires: gem install httpclient require 'httpclient' client = HTTPClient.new default_header: { "Authorization" => "Basic cHh4YmJ6Yjk2bjJ3OGFtOltzZWNyZXRd" } response = client.post("https://api.pixian.ai/api/v2/remove-background", { "image" => File.open("example.jpeg", "rb"), # TODO: Replace with your image # TODO: Add more upload parameters here }) if response.status == 200 then # Write result to disk, TODO: or wherever you'd like File.open("pixian_result.png", 'w') { |file| file.write(response.body) } else puts "Error: Code: " + response.status.to_s + ", Reason: " + response.reason end cURL Java .NET Node.js PHP Python Ruby $ curl https://api.pixian.ai/api/v2/remove-background \ -u xyz123:[secret] \ -F 'image.url=https://example.com/example.jpeg' \ -o pixian_result.png // Requires: org.apache.httpcomponents.client5:httpclient5-fluent Request request = Request.post("https://api.pixian.ai/api/v2/remove-background") .addHeader("Authorization", "Basic cHh4YmJ6Yjk2bjJ3OGFtOltzZWNyZXRd") .body( MultipartEntityBuilder.create() .addTextBody("image.url", "https://example.com/example.jpeg") // TODO: Replace with your image URL // TODO: Add more upload parameters here .build() ); ClassicHttpResponse response = (ClassicHttpResponse) request.execute().returnResponse(); if (response.getCode() == 200) { // Write result to disk, TODO: or wherever you'd like try (FileOutputStream out = new FileOutputStream("pixian_result.png")) { response.getEntity().writeTo(out); } } else { System.out.println("Request Failed: Status: " + response.getCode() + ", Reason: " + response.getReasonPhrase()); } using (var client = new HttpClient()) using (var form = new MultipartFormDataContent()) { client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", "INSERT_API_KEY_HERE"); form.Add(new StringContent("https://example.com/example.jpeg"), "image.url"); // TODO: Replace with your image URL // TODO: Add more upload parameters here var response = client.PostAsync("https://api.pixian.ai/api/v2/remove-background", form).Result; if (response.IsSuccessStatusCode) { // Write result to disk, TODO: or wherever you'd like FileStream outStream = new FileStream("pixian_result.png", FileMode.Create, FileAccess.Write, FileShare.None); response.Content.CopyToAsync(outStream).ContinueWith((copyTask) => { outStream.Close(); }); } else { Console.WriteLine("Request Failed: Status: " + response.StatusCode + ", Reason: " + response.ReasonPhrase); } } // Requires "request" to be installed (see https://www.npmjs.com/package/request) var request = require('request'); var fs = require('fs'); request.post({ url: 'https://api.pixian.ai/api/v2/remove-background', formData: { 'image.url': 'https://example.com/example.jpeg', // TODO: Replace with your image // TODO: Add more upload options here }, auth: {user: 'xyz123', pass: '[secret]'}, followAllRedirects: true, encoding: null }, function(error, response, body) { if (error) { console.error('Request failed:', error); } else if (!response || response.statusCode != 200) { console.error('Error:', response && response.statusCode, body.toString('utf8')); } else { // Save result fs.writeFileSync("pixian_result.png", body); } }); $ch = curl_init('https://api.pixian.ai/api/v2/remove-background'); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Basic cHh4YmJ6Yjk2bjJ3OGFtOltzZWNyZXRd')); curl_setopt($ch, CURLOPT_POSTFIELDS, array( 'image.url' => 'https://example.com/example.jpeg', // TODO: Add more upload options here )); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); $data = curl_exec($ch); if (curl_getinfo($ch, CURLINFO_HTTP_CODE) == 200) { // Save result file_put_contents("pixian_result.png", $data); } else { echo "Error: " . $data; } curl_close($ch); # Requires "requests" to be installed (see https://pypi.org/project/requests/) import requests response = requests.post( 'https://api.pixian.ai/api/v2/remove-background', data={ 'image.url': 'https://example.com/example.jpeg', # TODO: Add more upload options here }, auth=('xyz123', '[secret]') ) if response.status_code == requests.codes.ok: # Save result with open('pixian_result.png', 'wb') as out: out.write(response.content) else: print("Error:", response.status_code, response.text) # Requires: gem install httpclient require 'httpclient' client = HTTPClient.new default_header: { "Authorization" => "Basic cHh4YmJ6Yjk2bjJ3OGFtOltzZWNyZXRd" } response = client.post("https://api.pixian.ai/api/v2/remove-background", { "image.url" => "https://example.com/example.jpeg", # TODO: Replace with your image URL # TODO: Add more upload parameters here }) if response.status == 200 then # Write result to disk, TODO: or wherever you'd like File.open("pixian_result.png", 'w') { |file| file.write(response.body) } else puts "Error: Code: " + response.status.to_s + ", Reason: " + response.reason end Migrating from another provider? Check out our migration guide Pricing It is free to integrate with and test out the API, no purchase required. Just use test=true for development. You can assess the result quality using the interactive Web App on the front page. Production results require a credit pack purchase. Please see the pricing page. Authentication & Security The API uses standard HTTP basic access authentication. All requests to the API must be made over HTTPS and include your API Credentials, with the API Id as the user and API Secret as the password. Your http client library must support Server Name Indication (SNI) to successfully make requests. If you're getting weird handshake errors, this is most likely it. Rate Limiting Usage of the API is rate limited with generous allowances and no hard upper bound. During normal end-user-driven operation you are unlikely to run into any rate limiting as usage then tends to ebb and flow in a way that the service handles gracefully. However, for batch jobs we recommend starting out with at most 5 threads, adding 1 new thread every 5 minutes until you have reached the desired level of parallelism. Please reach out before starting if you need more than 100 concurrent threads. If you submit too many requests you will start getting 429 Too Many Requests responses. When this happens you should apply linear back off: on the first such response, wait 5 seconds until submitting the next request. On the second consecutive 429 response, wait 2*5=10 seconds until submitting the next request. On the third wait 3*5=15 seconds, etc. You can reset the back off counter after a successful request, and you should apply the back off on a per-thread basis (i.e. the threads should operate independently of each other). Timeouts While API requests are normally completed within seconds, it is possible during transient load spikes to experience longer processing times. To ensure your client library doesn't prematurely terminate API requests it should be configured with an idle timeout of at least 180 seconds. Error JSON Object We use conventional HTTP statuses to indicate success or failure of an API request, and include important error information in the returned Error JSON Object. We strive to always return an Error JSON Object with any problematic request. However, it is always theoretically possible to have internal server failures that lead to a non-JSON error response. Attributes statusThe HTTP status of the response, repeated here to help with debugging. codePixian.AI internal error code. messageHuman-readable error message, intended to be helpful in debugging. If the HTTP status for your request is 200 then no Error JSON Object will be returned, and you can safely assume that the request broadly speaking succeeded. Some HTTP Client libraries raise exceptions for HTTP statuses in the 400-599 range. You will need to catch those exceptions and handle them appropriately. HTTP StatusMeaning 200-299 Success 400-499 There's a problem with the information provided in the request (e.g. a parameter was missing). Please review the error message to figure out how to fix it. 500-599 There's been a Pixian.AI internal error. Wait a moment then try again, and if the problem persists please email us. Example Error Response { "error" : { "status" : 400, "code" : 1006, "message" : "Failed to read the supplied image. " } } Delta PNG Format Lower Latency & Bandwidth Pixian.AI is proud to be the first background removal service to offer the Delta PNG output format. Delta PNGs are faster to encode and much smaller than regular PNGs. This makes them highly suitable for latency and bandwidth sensitive applications, like mobile apps. Learn more Remove Background POST https://api.pixian.ai/api/v2/remove-background To remove the background from an image, you do a standard HTTP POST file upload. Keep in mind that the Content-Type has to be multipart/form-data when uploading binary files. Parameters The input image must be provided as one of: image Binary Optional A binary file. image.base64 String Optional A base64-encoded string. The string can be at most 1 megabyte in size. image.url String Optional A URL to fetch and process. Must be a .bmp, .gif, .jpeg, .png, or .tiff file. The maximum image upload size (= width × height) is 32,000,000 pixels, which gets shrunk to max_pixels. test true false Boolean, default: false Pass in true to indicate that this is a test image. Omit or pass in false for production images. Test images are free to process, but the result will have a watermark embedded. max_pixels Integer, 100 to 25000000, default: 25000000 The maximum input image size (= width × height). Images larger than this will be shrunk to this size before processing. background.color Format: '#RRGGBB', e.g. #0055FF Optional Background color to apply to the result. Omit to leave a transparent background. Be sure to include the '#' prefix. result.crop_to_foreground true false Boolean, default: false Whether to crop the result to the foreground object. Very useful together with result.margin and result.target_size to get a nicely sized and centered result every time. result.margin Format: '(x.y%|px){1,4}', e.g. 10px 20% 5px 15%, default: 0px Margin to add to the result. It's added regardless of if the result is cropped to the foreground or not. If result.target_size is specified, then the margin is inset, i.e. it doesn't expand the effective target size. The supported units are % and px. It follows CSS semantics, so you can use any of: [all] [top/bottom] [left/right] [top] [left/right] [bottom] [top] [right] [bottom] [left] result.target_size Format: 'w h', e.g. 1920 1080 Optional Enforce a specific result size in pixels. The result will be scaled to fit within the specified size. If there's excess space then it's always horizontally centered, with result.vertical_alignment controlling the vertical treatment. Specify e.g. 768 0 or 0 960 to get a result with one dimension locked and the other sized to maintain the natural result aspect ratio. The aspect ratio is calculated after applying any specified crop or margin. result.vertical_alignment top middle bottom Enum, default: middle Specifies how to allocate excess vertical space when result.target_size is used. output.format auto png jpeg delta_png Enum, default: auto Output format. auto is interpreted as png for transparent results, and jpeg for opaque results, i.e. when a background.color has been specified. delta_png is an advanced, fast, and highly compact format especially useful for low-latency, bandwidth-constrained situations like mobile apps. It encodes the background as transparent black 0x00000000 and the foreground as transparent white 0x00FFFFFF. Partially transparent pixels have their actual color values. Together with the input image you can use this to reconstruct the full result. Learn more about the Delta PNG format background.color, result.crop_to_foreground, result.margin, result.target_size, and result.vertical_alignment are ignored when using delta_png. The result must be the same size as the input image, otherwise your decoding will fail, so max_pixels must not have caused the input to be shrunk. output.jpeg_quality Integer, 1 to 100, default: 75 The quality to use when encoding JPEG results. Remove Background! Result Headers X-Credits-Charged The actual credits charged. X-Credits-Calculated The calculated credits that would have been charged if this were a production request. Only returned for test requests. X-Input-Orientation The EXIF orientation tag we read from and applied to the input image. It's an integer value from 1 to 8, inclusive. This is useful if your image loading library doesn't support EXIF orientation. Read more about EXIF orientation here X-Input-Size [width] [height] of the input image in pixels, before any size constraints were applied. X-Result-Size [width] [height] of the result image, in pixels. X-Input-Foreground [top] [left] [width] [height] bounding box of the foreground in the input image coordinates. X-Result-Foreground [top] [left] [width] [height] bounding box of the foreground in the result image coordinates. Account Status GET https://api.pixian.ai/api/v2/account Fetch basic information about your account, such as the number of credits you have left. Parameters None Response Attributes creditPack The most recently purchased credit pack, or 'none'. state 'active' You have purchased a credit pack that is not dormant. 'dormant' Your credit pack (if any) is dormant and you will need to purchase a new one to continue using the API. useBefore Indicates when your credit pack will go dormant. You will need to buy another credit pack before this date to continue using the API. In ISO 8601 format. credits The number of API credits left in your account. Can be fractional, so be sure to parse as a Double. Try it out https://api.pixian.ai/api/v2/account Username = API Id, Password = API Secret cURL $ curl "https://api.pixian.ai/api/v2/account" \ -u pxxbbzb96n2w8am:[secret] Example Response { "creditPack" : "none", "state" : "dormant", "useBefore" : "1970-01-01T00:00:00Z", "credits" : 0 } API Changelog DateChange Feb 12, 2025 Added Account Status API endpoint. Mar 4, 2024 Added section about timeouts. Jan 16, 2024 Documented the Error JSON Object. Jan 11, 2024 Now actually returning the X-Credits-Charged header and added the X-Credits-Calculated header for test requests. Jun 13, 2023 Updated the API to version 2 and the parameters from camelCase to snake_case for easier readability. Previous version of the API is deprecated but still available. May 3, 2023 Greatly expanded the API parameters. Apr 28, 2023 Updated the API endpoint. Mar 21, 2023 Initial release. Remove Backgrounds Face Stickers Delta PNG Format Migrating Get API Key


