API-Dokumentation

Konvertieren Sie Bilder programmgesteuert mit unserer REST-API.

Übersicht

Basis-URL: https://www.bulkpicconv.com/api/v1

Authentifizierung: Bearer-Token über Authorization Header

API-Schlüsselformat: sk_ Präfix + 48 alphanumerische Zeichen

Ratenbegrenzung: Team 50K/Monat, Enterprise unbegrenzt

Maximale Uploadgröße: 15 MB pro Datei

Maximale Bildabmessungen: 80 Megapixel (z.B. 8000×10000)

Akzeptierte Eingabeformate: JPEG, PNG, WebP, GIF, BMP, TIFF, HEIC

API-Zugang: Team- und Enterprise-Pläne (Schlüssel generieren im Dashboard )

Endpunkte

MethodeEndpunktBeschreibung
POST/api/v1/convertBild konvertieren und komprimieren
POST/api/v1/resizeBild skalieren
POST/api/v1/cropBild zuschneiden
POST/api/v1/watermarkWasserzeichen zum Bild hinzufügen
POST/api/v1/optimizeIntelligente Optimierung ohne Formatkonvertierung
POST/api/v2/batchZIP-Bilder stapelweise konvertieren (async)
GET/api/v2/batch/{id}/statusStapeljob-Status abfragen
GET/api/v2/batch/{id}/resultStapel-Ergebnis-ZIP herunterladen
GET/api/v2/usageMonatliche API-Schlüssel-Nutzung abfragen
GET/api/v2/creditsVerfügbare API-Credits abfragen
POST/v1/ai/alt-textKI-Alt-Text-Generierung (Pro/Team)
POST/v1/ai/renameKI-Massenumbenennung (Pro/Team)
POST/v1/ai/smart-cropKI-Smart-Crop-Erkennung (Pro/Team)
POST/v1/ai/enhanceKI-Bildverbesserung (Pro/Team)
POST/v1/ai/recommendKI-Formatempfehlung (Pro/Team)
POST/api/background-removeBildhintergrund entfernen
GET/PUT/DEL/api/user/ai-keyBYOK-Modellkonfigurationsverwaltung
POST/v1/convert

Bild nach WebP, AVIF, JPEG oder PNG konvertieren und komprimieren.

Parameter (multipart/form-data)

FeldTypErforderlichBeschreibung
imagefileJaDie zu konvertierende Bilddatei
formatstringNeinwebp, avif, jpeg, png (Standard: webp)
qualitynumberNein1-100 (Standard: 75)
widthnumberNeinAusgabebreite (Seitenverhältnis bleibt erhalten)
heightnumberNeinAusgabehöhe
fitstringNeincover, contain, fill, inside, outside
grayscalebooleanNeinIn Graustufen konvertieren
blurnumberNeinUnschärferadius (0,3-100)
rotatenumberNeinDrehwinkel (0-360)

Antwort

Binäre Bilddaten mit Headern:

  • Content-Type : MIME-Typ des Bildformats
  • Content-Disposition : Attachment mit Dateiname (z.B. converted.webp)
  • X-Input-Size : Originalgröße in Byte
  • X-Output-Size : Konvertierte Größe in Byte
  • X-Saved-Percent : Prozentualer Platzgewinn
  • X-RateLimit-Limit : Monatliches API-Call-Limit
  • X-RateLimit-Remaining : Verbleibende API-Calls diesen Monat
POST/api/v1/resize

Bild unter Beibehaltung des Seitenverhältnisses skalieren.

Parameter (multipart/form-data)

FieldTypeRequiredDescription
imagefileJaDie Bilddatei
widthnumberJaZielbreite (1-10000)
heightnumberJaZielhöhe (1-10000)
fitstringNeincover/contain/fill/inside/outside (Standard: inside)
POST/api/v1/crop

Rechteckigen Bereich aus einem Bild extrahieren.

Parameter (multipart/form-data)

FieldTypeRequiredDescription
imagefileJaDie Bilddatei
xnumberJaHorizontaler Versatz (oben links)
ynumberJaVertikaler Versatz (oben links)
widthnumberJaBreite des Zuschneidebereichs
heightnumberJaHöhe des Zuschneidebereichs
POST/api/v1/watermark

Wasserzeichen an einer konfigurierbaren Position überlagern.

Parameter (multipart/form-data)

FieldTypeRequiredDescription
imagefileJaBasisbild
watermarkfileJaWasserzeichen-Bild
positionstringNeintop-left/top-right/bottom-left/bottom-right/center
opacitynumberNein0-100 (Standard: 100)
scalenumberNeinWasserzeichengröße als Anteil der Basisbreite (0,01-1)
POST/api/v1/optimize

Bild neu codieren, um die Dateigröße ohne Formatänderung zu reduzieren.

Parameter (multipart/form-data)

FieldTypeRequiredDescription
imagefileJaDie Bilddatei
qualitynumberNein1-100 (Standard: 75). Originalformat bleibt erhalten.
POST/api/v2/batch

ZIP-Archiv für asynchrone Stapelkonvertierung hochladen. Gibt eine Job-ID zurück; Status abfragen bis abgeschlossen.

Parameter (multipart/form-data)

FeldTypErforderlichBeschreibung
filefileJaZIP-Archiv mit Bildern
formatstringNeinwebp, avif, jpeg, png (Standard: webp)
qualitynumberNein1-100 (Standard: 75)

GET /api/v2/batch/{id}/status — Job-Status abfragen (Warteschlange → Verarbeitung → Abgeschlossen)
GET /api/v2/batch/{id}/result — Ergebnis-ZIP herunterladen

KI-Funktionen Pro / Team

KI-gestützte Bildanalyse mit GPT-4o Vision. Alle KI-Endpunkte akzeptieren JSON-Body mit Base64-Daten-URIs. Unterstützt BYOK (Bring Your Own Key) — verwenden Sie Ihr eigenes OpenAI-kompatibles Modell für kostenlosen unbegrenzten Zugriff.

POST/v1/ai/alt-text

Generate SEO-friendly alt text with keywords using GPT-4o Vision.

Body (application/json)

FieldTypeRequiredDescription
imagesstring[]JaBase64 data URIs (1-10 images)
languagestringNeinen/zh/es/fr/de/ja/ko/pt/it (default: en)
stylestringNeindescriptive/concise/seo (default: descriptive)
userProviderobjectNeinBYOK config (see below)
POST/v1/ai/rename

Generate SEO-friendly filenames based on image content.

Body (application/json)

FieldTypeRequiredDescription
imagesobject[]Ja{data, originalName} (1-20 images)
rulesobjectNein{prefix, includeSequence, style}
userProviderobjectNeinBYOK config
POST/v1/ai/smart-crop

Detect subject and generate platform-specific crop recommendations.

Body (application/json)

FieldTypeRequiredDescription
imagestringJaBase64 data URI
platformsstring[]Neininstagram-square/twitter/facebook/youtube-thumbnail/etc.
customRatioobjectNein{width, height}
returnCroppedImagebooleanNeinReturn cropped result (default: false)
userProviderobjectNeinBYOK config
POST/v1/ai/enhance

Upscale, denoise, or deblur images.

Body (application/json)

FieldTypeRequiredDescription
imagestringJaBase64 data URI
modestringNeinupscale/denoise/deblur/auto (default: auto)
intensitynumberNein1=Light, 2=Medium, 3=Strong (default: 2)
returnPreviewbooleanNeinReturn enhanced image (default: true)
POST/v1/ai/recommend

Deep analysis to recommend optimal format, quality, and compression.

Body (application/json)

FieldTypeRequiredDescription
imagesobject[]Ja{data, filename, width, height, fileSize, mimeType} (1-20)
useCasestringNeinweb/ecommerce/social-media/print/archive/general
userProviderobjectNeinBYOK config

BYOK: userProvider-Objekt (optional)

In jede KI-Anfrage einfügen, um Ihr eigenes Modell zu verwenden. Überspringt Pro-Prüfung und tägliches Kontingent.

FeldTypErforderlichBeschreibung
baseUrlstringJaOpenAI-kompatible API-Basis-URL
modelstringJaVision-Modellname
apiKeystringAPI-Schlüssel (lokaler Modus, wird mit Anfrage gesendet)
useAccountKeybooleanKontogespeicherten verschlüsselten Schlüssel verwenden

† Einer von apiKey oder useAccountKey ist erforderlich.

Hintergrundentfernung

POST/api/background-remove

Bildhintergrund entfernen. Verwendet remove.bg-API mit sharp-Fallback. Monatliches Kontingent (vom Admin konfiguriert).

Parameter (multipart/form-data)

FeldTypErforderlichBeschreibung
imagefileJaBilddatei (max. 10 MB)
formatstringNeinAusgabeformat: png (Standard), webp

Kontoverwaltung

GETPUTDELETE/api/user/ai-key

Gespeicherte BYOK-Modellkonfiguration verwalten (verschlüsselt mit AES-256-GCM).

  • GET — Gespeicherte Konfiguration abrufen (Schlüssel nur maskiert angezeigt, z.B. sk-12****abcd)
  • PUT — Konfiguration speichern/aktualisieren (Body: baseUrl, model, apiKey). Gibt maskierten Schlüssel zurück.
  • DELETE — Gespeicherte Konfiguration löschen (unwiderruflich)

Fehlerantworten

Alle Fehler geben JSON zurück mit { "statusCode": 4xx, "statusMessage": "..." }

CodeFehlerBeschreibung
400missing_form_dataAnfrage-Body muss multipart/form-data sein
400missing_image_fileKeine Bilddatei in Formulardaten gefunden (Feldname: "image")
400file_too_largeDatei überschreitet 15 MB Upload-Limit
400invalid_image_typeDatei ist kein gültiges Bild
400invalid_imageBild ist beschädigt oder unlesbar
400image_too_largeBild überschreitet 80 Megapixel
400invalid_paramsUngültige Parameterwerte (siehe issues-Feld)
401missing_or_invalid_api_keyFehlender oder fehlerhafter Authorization-Header
401invalid_or_revoked_api_keyAPI-Schlüssel nicht gefunden oder widerrufen
401api_access_not_availableIhr Plan enthält keinen API-Zugang (nur Team/Enterprise)
429rate_limitedZu viele Anfragen (Burst-Limit: 30/Minute)
429monthly_limit_exceededMonatliches API-Kontingent erschöpft
500conversion_failedServerseitiger Bildverarbeitungsfehler
KI-Funktionsfehler
403ai_access_deniedPro/Team-Plan erforderlich (oder BYOK-Modus: Anmeldung erforderlich)
429ai_daily_limit_exceededTägliches KI-Kontingent erschöpft (nur Plattformmodus; BYOK unbegrenzt)
503ai_service_unavailableKI-Dienst nicht auf Server konfiguriert
403no_saved_ai_keyBYOK: useAccountKey=true, aber kein Schlüssel im Konto gespeichert
503ai_key_encryption_disabledServer AI_KEY_ENCRYPTION_SECRET nicht konfiguriert

Codebeispiele

curl -X POST https://www.bulkpicconv.com/api/v1/convert \
  -H "Authorization: Bearer sk_your_api_key" \
  -F "image=@photo.jpg" \
  -F "format=webp" \
  -F "quality=80" \
  -F "width=1920" \
  -o converted.webp

KI-Alt-Text (JSON-Body)

curl -X POST https://www.bulkpicconv.com/v1/ai/alt-text \
  -H "Authorization: Bearer sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"images":["data:image/jpeg;base64,/9j/4AAQ..."],"language":"en","style":"seo"}'

BYOK: Eigenes Modell verwenden

curl -X POST https://www.bulkpicconv.com/v1/ai/alt-text \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "images": ["data:image/jpeg;base64,..."],
    "userProvider": {
      "baseUrl": "https://api.siliconflow.cn/v1",
      "model": "Qwen/Qwen3-VL-32B-Instruct",
      "apiKey": "sk-your-provider-key"
    }
  }'

Ausprobieren

API-Änderungsprotokoll

v3.0.02026-08-21
  • addedPOST /v1/ai/alt-text: AI alt text generation with GPT-4o Vision (Pro/Team or BYOK)
  • addedPOST /v1/ai/rename: AI batch rename based on image content
  • addedPOST /v1/ai/smart-crop: AI smart crop detection with platform presets
  • addedPOST /v1/ai/enhance: AI image enhancement (upscale, denoise, deblur)
  • addedPOST /v1/ai/recommend: AI format and quality recommendation
  • addedBYOK (Bring Your Own Key): use your own OpenAI-compatible model via userProvider object
  • addedGET/PUT/DELETE /api/user/ai-key: manage saved BYOK config (AES-256-GCM encrypted)
  • addedPOST /api/background-remove: remove image background
v2.1.02026-08-12
  • addedBatch webhook callback: pass `webhook_url` in batch creation to receive POST notifications on completion or failure
  • addedAutomatic cleanup of stale batch jobs (30-minute timeout) and result files (24-hour retention)
  • addedGET /api/v2/usage: query API key monthly usage and recent calls
  • addedGET /api/v2/credits: query available API credits and package details
v2.0.02026-08-12
  • addedPOST /api/v2/batch: upload ZIP, async batch conversion
  • addedGET /api/v2/batch/{id}/status: query batch job status
  • addedGET /api/v2/batch/{id}/result: download result ZIP
v1.4.02026-08-12
  • addedPOST /api/v1/resize: resize images via API
  • addedPOST /api/v1/crop: crop images via API
  • addedPOST /api/v1/watermark: add watermark to images via API
  • addedPOST /api/v1/optimize: smart optimization without format conversion
v1.0.02026-08-11
  • addedPOST /api/v1/convert: convert images to WebP/AVIF/JPEG/PNG
  • addedAPI key authentication with sk_ prefix
  • addedRate limiting: 60 requests/min per IP, monthly limits per plan
  • addedAPI credits for non-subscription users

API-Schlüssel benötigt? Zum Dashboard

Kein Abonnement? Kaufen Sie Pay-as-you-go API-Credits