Buang latar belakang daripada aplikasi, kedai atau saluran paip anda sendiri dengan satu permintaan HTTPS.
URL asas: https://bgcut.net/api/v1 · Dapatkan kunci anda di Kunci API.
Pengesahan
Setiap permintaan mesti membawa kunci API anda dalam pengepala X-Api-Key. Kunci dicipta dan dibatalkan dalam akaun anda; setiap kunci boleh dinamakan supaya anda boleh menggilirkannya mengikut 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());
preview = sehingga 640 px (menggunakan kuota bulanan percuma anda, tanpa kredit); full = resolusi asal (1 kredit); auto (lalai) = full jika anda mempunyai kredit, jika tidak preview.
format
png | jpg | webp
Format output. png mengekalkan ketelusan; jpg diratakan pada bg_color (lalai putih).
model
fast | hq | portrait
lite (lalai, ~6 s, keseimbangan terbaik), fast (~0.5 s, kualiti pratonton), hq (~15 s, kualiti maksimum), portrait (~0.3 s, orang sahaja).
bg_color
string
Warna heks untuk latar belakang, cth. #ffffff. Abaikan untuk latar telus.
bg_blur
number
Kekalkan latar belakang asal tetapi kaburkannya dengan jejari ini dalam piksel (1–200), cth. 25 untuk kesan mod potret. Mengatasi bg_color.
crop
boolean
Pangkas output mengikut kotak sempadan subjek.
crop_margin
integer
Margin tambahan dalam piksel di sekeliling subjek semasa memangkas (0–200).
roi
string
Kawasan minat sebagai pecahan x,y,w,h (0–1). AI hanya meneliti bahagian dalam segi empat ini; semua di luarnya menjadi telus.
feather
number
Lembutkan tepi dengan jejari ini dalam piksel (0–5).
Memulangkan 100 imej terakhir yang diproses dengan kunci API anda, termasuk URL editor untuk memperhalusinya dalam pelayar.
Ralat
Ralat dipulangkan dalam JSON dengan kod ralat dan mesej yang mudah dibaca:
{ "ok": false, "error": "insufficient_credits", "message": "No credits left. Buy credits at https://bgcut.net/pricing or request size=preview." }
HTTP
error
Penerangan
400
bad_request / missing_image
Parameter tiada atau tidak sah.
401
auth_required / invalid_key
Kunci API tiada, tidak sah atau telah dibatalkan.
402
insufficient_credits / free_quota_exceeded
Tiada kredit (untuk saiz penuh) atau kuota percuma telah habis (untuk pratonton).
422
too_large / bad_type / fetch_failed
Imej tidak dapat dibaca atau dimuat turun.
429
rate_limited
Terlalu banyak permintaan – perlahankan atau hubungi kami untuk had yang lebih tinggi.
500
processing_failed
Pemprosesan gagal di pihak kami – anda tidak dicaj.
Kod contoh
Semua contoh menggunakan titik akhir yang sama. Muat turun koleksi contoh penuh: bgcut-api-examples.zip
SDK PHP rasmi Pustaka klien sumber terbuka dengan hasil bertaip, kelas ralat dan contoh sedia dijalankan. Berlesen MIT. composer require bgcut-net/bgcut-php