Hapus latar belakang dari aplikasi, toko, atau pipeline Anda sendiri dengan satu permintaan HTTPS.
URL dasar: https://bgcut.net/api/v1 · Dapatkan kunci Anda di Kunci API.
Autentikasi
Setiap permintaan harus menyertakan kunci API Anda di header X-Api-Key. Kunci dibuat dan dicabut di akun Anda; setiap kunci dapat diberi nama agar Anda dapat merotasinya per aplikasi.
// Never ship your API key in public front-end code – proxy through your server.
const input = document.querySelector('input[type=file]');
input.addEventListener('change', async () => {
const form = new FormData();
form.append('image_file', input.files[0]);
form.append('size', 'preview');
const res = await fetch('https://bgcut.net/api/v1/remove', { method: 'POST', headers: { 'X-Api-Key': 'bgc_YOUR_API_KEY' }, body: form });
const blob = await res.blob();
document.querySelector('img#out').src = URL.createObjectURL(blob);
});
// Java 11+ HttpClient, no external libraries
import java.net.URI;
import java.net.http.*;
import java.nio.file.*;
public class BgCut {
public static void main(String[] a) throws Exception {
String key = "bgc_YOUR_API_KEY";
String boundary = "----bgcut" + System.nanoTime();
byte[] file = Files.readAllBytes(Path.of("photo.jpg"));
String head = "--" + boundary + "\r\nContent-Disposition: form-data; name=\"image_file\"; filename=\"photo.jpg\"\r\nContent-Type: image/jpeg\r\n\r\n";
String tail = "\r\n--" + boundary + "\r\nContent-Disposition: form-data; name=\"size\"\r\n\r\nauto\r\n--" + boundary + "--\r\n";
byte[] body = concat(head.getBytes(), file, tail.getBytes());
HttpRequest req = HttpRequest.newBuilder(URI.create("https://bgcut.net/api/v1/remove"))
.header("X-Api-Key", key)
.header("Content-Type", "multipart/form-data; boundary=" + boundary)
.POST(HttpRequest.BodyPublishers.ofByteArray(body)).build();
HttpResponse<byte[]> res = HttpClient.newHttpClient().send(req, HttpResponse.BodyHandlers.ofByteArray());
if (res.statusCode() == 200) Files.write(Path.of("result.png"), res.body());
else System.out.println(new String(res.body()));
}
static byte[] concat(byte[]... parts) { int n = 0; for (byte[] p : parts) n += p.length; byte[] out = new byte[n]; int o = 0; for (byte[] p : parts) { System.arraycopy(p, 0, out, o, p.length); o += p.length; } return out; }
}
using System.Net.Http;
using System.Net.Http.Headers;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-Api-Key", "bgc_YOUR_API_KEY");
using var form = new MultipartFormDataContent();
var fileContent = new ByteArrayContent(await File.ReadAllBytesAsync("photo.jpg"));
fileContent.Headers.ContentType = new MediaTypeHeaderValue("image/jpeg");
form.Add(fileContent, "image_file", "photo.jpg");
form.Add(new StringContent("auto"), "size");
form.Add(new StringContent("png"), "format");
var res = await client.PostAsync("https://bgcut.net/api/v1/remove", form);
if (res.IsSuccessStatusCode)
await File.WriteAllBytesAsync("result.png", await res.Content.ReadAsByteArrayAsync());
else
Console.WriteLine(await res.Content.ReadAsStringAsync());
URL publik gambar yang akan diambil sebagai pengganti unggahan.
image_file_b64
string
Gambar dalam enkode base64 (opsional dengan awalan data:).
size
auto | preview | full
preview = hingga 640 px (menggunakan kuota bulanan gratis Anda, tanpa kredit); full = resolusi asli (1 kredit); auto (default) = full jika Anda memiliki kredit, jika tidak, preview.
format
png | jpg | webp
Format keluaran. png mempertahankan transparansi; jpg diratakan di atas bg_color (default putih).
model
fast | hq | portrait
fast (default, ~1 dtk), hq (kualitas lebih tinggi, lebih lambat), portrait (dioptimalkan untuk orang).
bg_color
string
Warna heksadesimal untuk latar belakang, mis. #ffffff. Kosongkan untuk latar transparan.
bg_blur
number
Pertahankan latar belakang asli, tetapi buramkan dengan radius ini dalam piksel (1–200), misalnya 25 untuk tampilan mode potret. Menggantikan bg_color.
crop
boolean
Pangkas keluaran sesuai kotak pembatas subjek.
crop_margin
integer
Margin tambahan dalam piksel di sekitar subjek saat memangkas (0–200).
roi
string
Area fokus (region of interest) sebagai pecahan x,y,w,h (0–1). AI hanya memproses bagian di dalam persegi panjang ini; semua yang berada di luarnya menjadi transparan.
feather
number
Haluskan tepi dengan radius ini dalam piksel (0–5).
quality
integer
Kualitas JPG/WebP 50–100 (default 92).
response
binary | json
binary (default) mengembalikan gambar; json mengembalikan metadata beserta gambar base64.
Respons
Permintaan yang berhasil mengembalikan HTTP 200 dengan byte gambar dan header berikut:
HTTP/1.1 200 OK
Content-Type: image/png
X-Credits-Charged: 1
X-Credits-Remaining: 149
X-Free-Remaining: 5
X-Width: 3000
X-Height: 2000
X-Image-Id: 1f3a…
X-Type: hd