MakePhotos Docs
API Reference

Upload

Upload images to Cloudinary via the MakePhotos API.

Upload

Two endpoints for uploading images: signed upload (recommended, no size limit) and direct upload (convenience, < 4.5MB).

GET /api/v1/upload/signed

Returns Cloudinary signed upload parameters. Use these to upload directly to Cloudinary from your server — no file size limit.

Request

curl "https://makephotos.ai/api/v1/upload/signed?key=mk_live_..."

Response

{
  "signature": "a1b2c3d4e5f6...",
  "timestamp": 1710700000,
  "api_key": "123456789",
  "cloud_name": "dy2queuww",
  "folder": "makephotos/inputs/user-uuid-here"
}

Upload to Cloudinary

Use the returned params to upload directly:

curl -X POST "https://api.cloudinary.com/v1_1/dy2queuww/image/upload" \
  -F "file=@./product.jpg" \
  -F "api_key=123456789" \
  -F "timestamp=1710700000" \
  -F "signature=a1b2c3d4e5f6..." \
  -F "folder=makephotos/inputs/user-uuid-here"

The response contains a secure_url field — use this as the image_url in subsequent API calls.

POST /api/v1/upload

Convenience endpoint for small files (under 4.5MB due to Vercel serverless limits).

Request

curl -X POST "https://makephotos.ai/api/v1/upload?key=mk_live_..." \
  -F "file=@./small-product.jpg"

Response

{
  "image_url": "https://res.cloudinary.com/.../makephotos/inputs/.../small-product.jpg"
}

Which to use?

MethodSize limitComplexityRecommended
GET /upload/signed + Cloudinary POSTNoneTwo requestsYes (the SDK uses this)
POST /upload~4.5MBOne requestOnly for small files

No credits consumed

Uploading does not cost any credits.

Errors

StatusCodeDescription
400invalid_paramsMissing file field
401invalid_api_keyInvalid or missing API key
403no_active_subscriptionNo active subscription

On this page