API reference

Products

A product is reproduced faithfully (shape, label, colours) when you pass product_id to image or video generation. Plan limits apply (Influencer 20, Agency 50). Creating products is free.

The product object

  • idstring

    Product ID.

  • objectstring

    Always product.

  • namestring

    Display name.

  • categorystring | null

    Free-form category.

  • imagesstring[]

    Stored product photos.

  • analysisobject | null

    Product analysis used to preserve it.

  • created_atinteger

    Unix ms.

  • updated_atinteger

    Unix ms.

POST/v1/products
Scope: generateIdempotency-Key requiredReturns 201

From 1–3 photos of the product, ideally on a plain background.

  • namestringrequired

    1–40 characters.

  • imagesstring (media)[]required

    1–3 photos. Upload ID (upl_…), public https:// URL, or base64 data URL.

  • categorystring

    e.g. skincare, apparel, beverage.

CodeWhen
LIMIT_REACHEDProduct limit for the plan reached.
curl -X POST https://api.oriorai.com/v1/products \
  -H "Authorization: Bearer $ORIOR_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Glow Serum",
  "images": [
    "upl_9e…"
  ],
  "category": "skincare"
}'
Response
{
  "id": "Pm3kT9aQ",
  "object": "product",
  "name": "Glow Serum",
  "category": "skincare",
  "images": [
    "https://storage.googleapis.com/…/products/Pm3kT9aQ/img-0.jpg"
  ],
  "analysis": {
    "product_analysis": {
      "type": "bottle",
      "detailed_description": "…"
    }
  },
  "created_at": 1758620000000,
  "updated_at": 1758620000000
}
GET/v1/products
Scope: readReturns 200

All products of the account.

curl https://api.oriorai.com/v1/products \
  -H "Authorization: Bearer $ORIOR_API_KEY"
Response
{
  "data": [
    {
      "id": "Pm3kT9aQ",
      "object": "product",
      "name": "Glow Serum",
      "category": "skincare",
      "images": [
        "https://storage.googleapis.com/…/products/Pm3kT9aQ/img-0.jpg"
      ],
      "analysis": {
        "product_analysis": {
          "type": "bottle",
          "detailed_description": "…"
        }
      },
      "created_at": 1758620000000,
      "updated_at": 1758620000000
    }
  ]
}
GET/v1/products/{id}
Scope: readReturns 200

One product.

  • idstringrequired

    Product ID.

curl https://api.oriorai.com/v1/products/Pm3kT9aQ \
  -H "Authorization: Bearer $ORIOR_API_KEY"
Response
{
  "id": "Pm3kT9aQ",
  "object": "product",
  "name": "Glow Serum",
  "category": "skincare",
  "images": [
    "https://storage.googleapis.com/…/products/Pm3kT9aQ/img-0.jpg"
  ],
  "analysis": {
    "product_analysis": {
      "type": "bottle",
      "detailed_description": "…"
    }
  },
  "created_at": 1758620000000,
  "updated_at": 1758620000000
}
PATCH/v1/products/{id}
Scope: generateIdempotency-Key requiredReturns 200

Change the name.

  • idstringrequired

    Product ID.

  • namestringrequired

    1–40 characters.

curl -X PATCH https://api.oriorai.com/v1/products/Pm3kT9aQ \
  -H "Authorization: Bearer $ORIOR_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Glow Serum 30ml"
}'
Response
{
  "id": "Pm3kT9aQ",
  "object": "product",
  "name": "Glow Serum 30ml",
  "category": "skincare",
  "images": [
    "https://storage.googleapis.com/…/products/Pm3kT9aQ/img-0.jpg"
  ],
  "analysis": {
    "product_analysis": {
      "type": "bottle",
      "detailed_description": "…"
    }
  },
  "created_at": 1758620000000,
  "updated_at": 1758620000000
}
DELETE/v1/products/{id}
Scope: generateIdempotency-Key requiredReturns 200

Deletes the product. Past generations are kept.

  • idstringrequired

    Product ID.

curl -X DELETE https://api.oriorai.com/v1/products/Pm3kT9aQ \
  -H "Authorization: Bearer $ORIOR_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"
Response
{
  "id": "Pm3kT9aQ",
  "object": "product",
  "deleted": true
}