画像アップロードおよび商品作成
商品を作成するには、まず画像をアップロードする必要があります。Gency は Presigned URL 方式 を使用して、クライアントが S3 へ直接画像をアップロードします。
全体の流れ
1. 업로드 URL 발급 → 2. S3에 이미지 업로드 → 3. 상품 생성 API 호출
(Gency API) (S3 직접 업로드) (imageId 포함)
Step 1. アップロード URL の発行
画像ごとにアップロード URL を発行します。商品に画像が3枚ある場合は、この API を3回呼び出します。
curl -X POST "https://openapi.gency.ai/openapi/v1/images/upload-url" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{
"workspaceId": "01HABC...",
"extension": "png"
}'
{
"data": {
"imageId": "01HIMG001...",
"uploadUrl": "https://s3.amazonaws.com/...?X-Amz-Signature=..."
}
}
重要:
uploadUrlは 発行後1時間 のみ有効です。1時間以内にアップロードを完了する必要があります。アップロードされた画像は 24時間 保持され、24時間以内に商品作成に使用する必要があります。時間を超過すると画像が削除される場合があります。
Step 2. S3 への画像アップロード
発行された uploadUrl へ PUT リクエストを送り、画像を直接アップロードします。このリクエストは Gency API ではなく S3 へ直接 送るリクエストです。
curl -X PUT "{uploadUrl}" \
-H "Content-Type: image/png" \
--data-binary @my-product-image.png
Content-Typeはアップロードする画像の実際の MIME タイプと一致する必要があります (image/png,image/jpegなど)。- 成功時は HTTP
200 OKが返されます。
Step 3. 商品の作成
アップロードが完了した imageId を商品作成 API の images 配列に含めて呼び出します。
curl -X POST "https://openapi.gency.ai/api/v2/products/fashion" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{
"masterId": "01HABC...",
"workspaceId": "01HDEF...",
"metadata": [
{
"category": "OUTER",
"images": ["01HIMG001...", "01HIMG002..."],
"projectId": "my-project-01",
"productName": "겨울 패딩 자켓",
"colors": ["BLACK", "NAVY"],
"fabrics": ["POLYESTER", "NYLON"],
"additionalInfo": {
"features": ["방풍", "경량"],
"laundryTips": ["드라이클리닝 권장"]
}
}
]
}'
images配列の最初の画像が 代表画像 として使用されます。metadata配列に複数の項目を入れると、1回のリクエストで複数の商品を作成できます。- 商品作成時にクレジットが差し引かれます。
注意事項
- Presigned URL は 1回限り であり、発行後1時間 以内にアップロードする必要があります。
- アップロードされた画像は 24時間 保持されます。24時間以内に商品作成に使用する必要があり、超過すると画像が削除される場合があります。
- サポートする画像形式:
png,jpg,jpeg,webp