APIドキュメント

REST APIで画像をプログラム的に変換します。

概要

ベースURL: https://www.bulkpicconv.com/api/v1

認証:Bearerトークンを Authorization ヘッダーで送信

APIキー形式: sk_ プレフィックス + 48文字の英数字

レート制限:Team 50K/月、Enterprise 無制限

最大アップロードサイズ:1ファイルあたり15 MB

最大画像サイズ:8000万ピクセル(例:8000×10000)

対応入力形式:JPEG、PNG、WebP、GIF、BMP、TIFF、HEIC

APIアクセス:TeamおよびEnterpriseプラン( ダッシュボード からキーを生成)

エンドポイント

メソッドエンドポイント説明
POST/api/v1/convert画像の変換と圧縮
POST/api/v1/resize画像のリサイズ
POST/api/v1/crop画像のクロップ
POST/api/v1/watermark画像にウォーターマークを追加
POST/api/v1/optimizeフォーマット変換なしのスマート最適化
POST/api/v2/batchZIP画像の一括変換(非同期)
GET/api/v2/batch/{id}/status一括ジョブステータスの照会
GET/api/v2/batch/{id}/result一括結果ZIPのダウンロード
GET/api/v2/usageAPIキーの月間使用量の照会
GET/api/v2/credits利用可能なAPIクレジットの照会
POST/v1/ai/alt-textAI代替テキスト生成(Pro/Team)
POST/v1/ai/renameAI一括リネーム(Pro/Team)
POST/v1/ai/smart-cropAIスマートクロップ検出(Pro/Team)
POST/v1/ai/enhanceAI画像強化(Pro/Team)
POST/v1/ai/recommendAIフォーマット推奨(Pro/Team)
POST/api/background-remove画像背景の除去
GET/PUT/DEL/api/user/ai-keyBYOKモデル設定管理
POST/v1/convert

画像をWebP、AVIF、JPEG、PNGに変換・圧縮します。

パラメータ(multipart/form-data)

フィールド必須説明
imagefileはい変換する画像ファイル
formatstringいいえwebp、avif、jpeg、png(デフォルト:webp)
qualitynumberいいえ1-100(デフォルト:75)
widthnumberいいえ出力幅(アスペクト比を維持)
heightnumberいいえ出力高さ
fitstringいいえcover、contain、fill、inside、outside
grayscalebooleanいいえグレースケールに変換
blurnumberいいえぼかし半径(0.3-100)
rotatenumberいいえ回転角度(0-360)

レスポンス

ヘッダー付きバイナリ画像データ:

  • Content-Type : 画像形式のMIMEタイプ
  • Content-Disposition : ファイル名付き添付ファイル(例:converted.webp)
  • X-Input-Size : 元のサイズ(バイト)
  • X-Output-Size : 変換後サイズ(バイト)
  • X-Saved-Percent : 節約率
  • X-RateLimit-Limit : 月間APIコール上限
  • X-RateLimit-Remaining : 今月の残りAPIコール数
POST/api/v1/resize

アスペクト比を維持して画像をリサイズします。

パラメータ(multipart/form-data)

FieldTypeRequiredDescription
imagefileはい画像ファイル
widthnumberはいターゲット幅(1-10000)
heightnumberはいターゲット高さ(1-10000)
fitstringいいえcover/contain/fill/inside/outside(デフォルト:inside)
POST/api/v1/crop

画像から矩形領域を抽出します。

パラメータ(multipart/form-data)

FieldTypeRequiredDescription
imagefileはい画像ファイル
xnumberはい水平オフセット(左上)
ynumberはい垂直オフセット(左上)
widthnumberはいクロップ領域の幅
heightnumberはいクロップ領域の高さ
POST/api/v1/watermark

設定可能な位置にウォーターマークを重ねます。

パラメータ(multipart/form-data)

FieldTypeRequiredDescription
imagefileはいベース画像
watermarkfileはいウォーターマーク画像
positionstringいいえtop-left/top-right/bottom-left/bottom-right/center
opacitynumberいいえ0-100(デフォルト:100)
scalenumberいいえベース幅に対するウォーターマークサイズ(0.01-1)
POST/api/v1/optimize

フォーマットを変更せずにファイルサイズを削減するため再エンコードします。

パラメータ(multipart/form-data)

FieldTypeRequiredDescription
imagefileはい画像ファイル
qualitynumberいいえ1-100(デフォルト:75)。元のフォーマットが保持されます。
POST/api/v2/batch

非同期一括変換用にZIPアーカイブをアップロードします。ジョブIDを返します。完了までステータスをポーリングします。

パラメータ(multipart/form-data)

フィールド必須説明
filefileはい画像のZIPアーカイブ
formatstringいいえwebp、avif、jpeg、png(デフォルト:webp)
qualitynumberいいえ1-100(デフォルト:75)

GET /api/v2/batch/{id}/status — ジョブステータスをポーリング(キュー待ち → 処理中 → 完了)
GET /api/v2/batch/{id}/result — 結果ZIPをダウンロード

AI機能 Pro / Team

GPT-4o VisionによるAI画像分析。すべてのAIエンドポイントはBase64データURIを含むJSONボディを受け付けます。BYOK(Bring Your Own Key)に対応 — 独自のOpenAI互換モデルで無料の無制限アクセス。

POST/v1/ai/alt-text

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

ボディ(application/json)

FieldTypeRequiredDescription
imagesstring[]はいBase64 data URIs (1-10 images)
languagestringいいえen/zh/es/fr/de/ja/ko/pt/it (default: en)
stylestringいいえdescriptive/concise/seo (default: descriptive)
userProviderobjectいいえBYOK config (see below)
POST/v1/ai/rename

Generate SEO-friendly filenames based on image content.

ボディ(application/json)

FieldTypeRequiredDescription
imagesobject[]はい{data, originalName} (1-20 images)
rulesobjectいいえ{prefix, includeSequence, style}
userProviderobjectいいえBYOK config
POST/v1/ai/smart-crop

Detect subject and generate platform-specific crop recommendations.

ボディ(application/json)

FieldTypeRequiredDescription
imagestringはいBase64 data URI
platformsstring[]いいえinstagram-square/twitter/facebook/youtube-thumbnail/etc.
customRatioobjectいいえ{width, height}
returnCroppedImagebooleanいいえReturn cropped result (default: false)
userProviderobjectいいえBYOK config
POST/v1/ai/enhance

Upscale, denoise, or deblur images.

ボディ(application/json)

FieldTypeRequiredDescription
imagestringはいBase64 data URI
modestringいいえupscale/denoise/deblur/auto (default: auto)
intensitynumberいいえ1=Light, 2=Medium, 3=Strong (default: 2)
returnPreviewbooleanいいえReturn enhanced image (default: true)
POST/v1/ai/recommend

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

ボディ(application/json)

FieldTypeRequiredDescription
imagesobject[]はい{data, filename, width, height, fileSize, mimeType} (1-20)
useCasestringいいえweb/ecommerce/social-media/print/archive/general
userProviderobjectいいえBYOK config

BYOK:userProviderオブジェクト(任意)

独自のモデルを使用する際に任意のAIリクエストに含めます。Proチェックと日次クォータをスキップします。

フィールド必須説明
baseUrlstringはいOpenAI互換APIベースURL
modelstringはいVisionモデル名
apiKeystringAPIキー(ローカルモード、リクエストと一緒に送信)
useAccountKeybooleanアカウント保存の暗号化キーを使用

† apiKeyまたはuseAccountKeyのいずれかが必要です。

背景除去

POST/api/background-remove

画像の背景を除去します。remove.bg APIとsharpフォールバックを使用。月間クォータ適用(管理者設定)。

パラメータ(multipart/form-data)

フィールド必須説明
imagefileはい画像ファイル(最大10 MB)
formatstringいいえ出力形式:png(デフォルト)、webp

アカウント管理

GETPUTDELETE/api/user/ai-key

保存されたBYOKモデル設定を管理(AES-256-GCMで暗号化)。

  • GET — 保存された設定を取得(キーはマスク表示、例:sk-12****abcd)
  • PUT — 設定を保存/更新(ボディ:baseUrl、model、apiKey)。マスクされたキーを返します。
  • DELETE — 保存された設定を削除(復元不可)

エラーレスポンス

すべてのエラーはJSONで返されます { "statusCode": 4xx, "statusMessage": "..." }

コードエラー説明
400missing_form_dataリクエストボディはmultipart/form-dataである必要があります
400missing_image_fileフォームデータに画像ファイルが見つかりません(フィールド名:"image")
400file_too_largeファイルが15 MBのアップロード制限を超えています
400invalid_image_typeファイルが有効な画像ではありません
400invalid_image画像が破損または読み取り不能です
400image_too_large画像が8000万ピクセルを超えています
400invalid_params無効なパラメータ値(issuesフィールドを参照)
401missing_or_invalid_api_keyAuthorizationヘッダーが不足または不正な形式
401invalid_or_revoked_api_keyAPIキーが見つからないか取り消されています
401api_access_not_availableプランにAPIアクセスが含まれていません(Team/Enterpriseのみ)
429rate_limitedリクエストが多すぎます(バースト制限:30/分)
429monthly_limit_exceeded月間APIクォータを使い果たしました
500conversion_failedサーバー側の画像処理エラー
AI機能エラー
403ai_access_deniedPro/Teamプランが必要(またはBYOKモード:ログインが必要)
429ai_daily_limit_exceeded日次AIクォータを使い果たしました(プラットフォームモードのみ。BYOKは無制限)
503ai_service_unavailableAIサービスがサーバーで設定されていません
403no_saved_ai_keyBYOK:useAccountKey=trueですがアカウントにキーが保存されていません
503ai_key_encryption_disabledサーバーAI_KEY_ENCRYPTION_SECRETが設定されていません

コード例

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

AI代替テキスト(JSONボディ)

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:独自のモデルを使用

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"
    }
  }'

試してみる

API変更履歴

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キーが必要ですか? ダッシュボードへ

サブスクリプションがありませんか?都度購入 APIクレジット