AI Enrichment

AI Enrichment automatically generates and improves product content — titles, descriptions, tags, and SEO keywords — using large language models. You choose the AI provider and model, and Pixee PIM handles batching, cost tracking, and result storage.


GET/ai-providers/

List AI providers

Returns all configured AI providers and their status.

Request

GET
/ai-providers/
curl https://api.pixeepim.com/api/v1/ai-providers/ \
  -H "Authorization: Bearer {api_key}"

Response

{
  "providers": [
    {
      "id": "claude",
      "name": "Anthropic Claude",
      "status": "active",
      "models": ["claude-opus-4-7", "claude-sonnet-4-6"],
      "cost_per_1k_tokens": 0.015,
      "latency_ms": 300
    },
    {
      "id": "openai",
      "name": "OpenAI",
      "status": "active",
      "models": ["gpt-4o", "gpt-4o-mini"],
      "cost_per_1k_tokens": 0.03,
      "latency_ms": 250
    }
  ]
}

POST/enrichment/batch

Create an enrichment batch job

Creates and queues a batch enrichment job for a set of products.

Body parameters

  • Name
    name
    Type
    string
    Description

    Descriptive name for the job.

  • Name
    description
    Type
    string
    Description

    Optional longer description of the job's purpose.

  • Name
    filters
    Type
    object
    Description

    Filter object to select which products to enrich (e.g. {"is_active": true, "supplier_id": "..."}). Enriches all products if omitted.

  • Name
    enrichmentTypes
    Type
    array
    Description

    List of content types to generate. Accepted values: description, title, tags, seo_keywords, long_description.

  • Name
    scheduled_at
    Type
    string
    Description

    ISO 8601 datetime to schedule the job for later execution. Starts immediately if omitted.

Request

POST
/enrichment/batch
curl -X POST https://api.pixeepim.com/api/v1/enrichment/batch \
  -H "Authorization: Bearer {api_key}" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "SEO Descriptions – Active Products",
    "description": "Generate SEO-optimised French descriptions for all active products",
    "filters": {"is_active": true},
    "enrichmentTypes": ["description", "seo_keywords"]
  }'

Response

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "name": "SEO Descriptions – Active Products",
  "status": "pending",
  "total_products": 842,
  "estimated_cost_usd": 3.80,
  "created_at": "2026-03-15T09:00:00Z"
}

GET/enrichment/batch/{job_id}

Get batch job status

Returns the current status and progress of a batch enrichment job.

Path parameters

  • Name
    job_id
    Type
    string
    Description

    The batch job UUID.

Query parameters

  • Name
    status
    Type
    string
    Description

    Filter jobs by status when listing: pending, running, completed, failed, paused, cancelled.

  • Name
    limit
    Type
    integer
    Description

    Maximum number of jobs to return when listing (default: 20).

  • Name
    offset
    Type
    integer
    Description

    Pagination offset when listing (default: 0).

Request

GET
/enrichment/batch/{job_id}
curl https://api.pixeepim.com/api/v1/enrichment/batch/550e8400-e29b-41d4-a716-446655440000 \
  -H "Authorization: Bearer {api_key}"

Response

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "name": "SEO Descriptions – Active Products",
  "status": "completed",
  "total_products": 842,
  "processed": 842,
  "failed": 3,
  "total_cost_usd": 3.74,
  "created_at": "2026-03-15T09:00:00Z",
  "completed_at": "2026-03-15T11:30:00Z"
}

POST/enrichment/products/{product_id}

Enrich a single product

Triggers AI enrichment for a single product and returns the results. Useful for on-demand enrichment from your own workflows.

Path parameters

  • Name
    product_id
    Type
    string
    Description

    The product UUID.

Query parameters

  • Name
    types
    Type
    array
    Description

    Comma-separated list of enrichment types to run: description, title, tags, seo_keywords, long_description. Runs all configured types if omitted.

  • Name
    auto_apply
    Type
    boolean
    Description

    If true, applies the enriched fields directly to the product without a manual apply step (default: false).

Request

POST
/enrichment/products/{product_id}
curl -X POST "https://api.pixeepim.com/api/v1/enrichment/products/550e8400-e29b-41d4-a716-000000000001?types=description,seo_keywords&auto_apply=false" \
  -H "Authorization: Bearer {api_key}"

Response

{
  "product_id": "550e8400-e29b-41d4-a716-000000000001",
  "status": "queued",
  "types": ["description", "seo_keywords"],
  "auto_apply": false,
  "created_at": "2026-03-15T10:00:00Z"
}

POST/enrichment/products/{product_id}/from-documents

Document-based enrichment (free)

Enriches a product using only your previously indexed documents — datasheets, certificates, manuals — via Qdrant vector search (RAG). No LLM token cost is incurred for the retrieval step itself.

This endpoint is ideal when you have rich supplier documentation already indexed via Document Intelligence and want to populate product fields at zero AI cost.

Path parameters

  • Name
    product_id
    Type
    string
    Description

    The product UUID.

Query parameters

  • Name
    auto_apply
    Type
    boolean
    Description

    If true, applies the enriched fields directly to the product (default: false).

Request

POST
/enrichment/products/{product_id}/from-documents
curl -X POST "https://api.pixeepim.com/api/v1/enrichment/products/550e8400-e29b-41d4-a716-000000000001/from-documents?auto_apply=true" \
  -H "Authorization: Bearer {api_key}"

Response

{
  "product_id": "550e8400-e29b-41d4-a716-000000000001",
  "enrichment_type": "document_rag",
  "rag_chunks_found": 5,
  "has_web": false,
  "auto_apply": true,
  "phases": {
    "collect": "completed",
    "synthesize": "completed"
  },
  "result": {
    "seo_description": "Produit certifié CE conforme à la directive RoHS, conçu pour une utilisation industrielle.",
    "technical_summary": "Tension 230V, puissance 1500W, IP44, dimensions 200×150×80 mm."
  },
  "created_at": "2026-03-15T10:05:00Z"
}

GET/ai-services/recommendations/{use_case}

Provider recommendations

Returns ranked AI provider recommendations for a specific enrichment use case, based on quality, cost, and speed benchmarks.

Path parameters

  • Name
    use_case
    Type
    string
    Description

    One of: description_longue_seo, title_optimization, tags_generation, seo_keywords.

Query parameters

  • Name
    max_cost
    Type
    number
    Description

    Maximum acceptable cost per 1k tokens (USD).

  • Name
    min_quality
    Type
    number
    Description

    Minimum quality score 0–10.

Request

GET
/ai-services/recommendations/{use_case}
curl "https://api.pixeepim.com/api/v1/ai-services/recommendations/description_longue_seo?max_cost=0.02" \
  -H "Authorization: Bearer {api_key}"

Response

{
  "use_case": "description_longue_seo",
  "recommendations": [
    {
      "provider_name": "Claude Sonnet",
      "cost_per_1k_tokens": 0.015,
      "quality_score": 9.2,
      "speed_ms": 2500,
      "recommended": true
    },
    {
      "provider_name": "GPT-4o Mini",
      "cost_per_1k_tokens": 0.006,
      "quality_score": 7.8,
      "speed_ms": 800,
      "recommended": false
    }
  ]
}

Was this page helpful?