証明写真メーカー API
PixMiller REST API · v1
ポートレート画像を送信すると、APIが背景を除去し、証明写真の標準背景色に変更した上で、指定の仕様通りにクロップします。
このエンドポイントはプレビュー中 — ルートとパラメータが確定中で、リリース前に変更される可能性があります。規約(X-Api-Key認証、JSONレスポンス)は本番背景除去APIと一致します。
POST
https://api.pixmiller.com/v1/id-photo
1
認証とリクエスト
リクエストヘッダーの
X-Api-Key: YOUR_API_KEYにシークレットキーを送信。アカウントページでキーを作成・管理。
| パラメータ | タイプ | 必須 | 説明 |
|---|---|---|---|
image_file
|
file | 必須 | ポートレート写真——正面、均一な照明 |
spec
|
string | 必須 | 仕様:1inch / 2inch / us_passport / cn_visa … |
bg_color
|
string | 任意 | 背景:white(デフォルト)/ blue / red |
2
コードサンプル
言語を選んでコピー — そのまま実行可能。1curl -X POST "https://api.pixmiller.com/v1/id-photo" \2 -H "X-Api-Key: YOUR_API_KEY" \3 -F "[email protected]" \4 -F "spec=1inch" \5 -F "bg_color=blue"
1import requests23resp = requests.post(4 "https://api.pixmiller.com/v1/id-photo",5 headers={"X-Api-Key": "YOUR_API_KEY"},6 files={"image_file": open("face.jpg", "rb")},7 data={"spec": "1inch", "bg_color": "blue"},8)9print(resp.json()["url"])
1import fs from "node:fs";23const form = new FormData();4form.append("image_file", new Blob([fs.readFileSync("face.jpg")]), "face.jpg");5form.append("spec", "1inch");6form.append("bg_color", "blue");7const resp = await fetch("https://api.pixmiller.com/v1/id-photo", {8 method: "POST",9 headers: { "X-Api-Key": "YOUR_API_KEY" },10 body: form,11});12console.log((await resp.json()).url);
3
レスポンス
1{2 "url": "https://cdn.pixmiller.com/result/8Kd2pQ.png"3}
url
処理済み画像の一時URL(元画像は3日後に自動削除されます)。
4
エラー
エラーは対応するステータスコードと以下の形式のJSONボディを返します {"errors":{"code":"…","message":"…"}}.
400
validation error
image_fileが未指定・無効、ファイルサイズ超過、または画像ソースの競合。
401
authentication_failed
X-Api-Keyヘッダーが未指定または無効です。
402
not_enough_credit
size=fullがリクエストされましたが、アカウントのHDクレジットが残っていません。
422
invalid_image
画像を処理できませんでした——小さすぎるか、非対応、またはデコードに失敗しました。
429
throttled
レート制限を超過しました。Retry-Afterヘッダー後にリトライしてください。