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/ai-enrichment/jobs

Create an enrichment job

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

Body parameters

  • Name
    name
    Type
    string
    Description

    Descriptive name for the job.

  • Name
    product_filter
    Type
    object
    Description

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

  • Name
    enrichment_type
    Type
    string
    Description

    Content type to generate: description, title, tags, seo_keywords, or long_description.

  • Name
    ai_provider
    Type
    string
    Description

    Provider ID: claude, openai, or any other configured provider.

  • Name
    model
    Type
    string
    Description

    Model to use (e.g. claude-sonnet-4-6). Defaults to the provider's recommended model.

  • Name
    prompt_template
    Type
    string
    Description

    Custom prompt. Use {product_name}, {ean}, {price} as placeholders.

  • Name
    temperature
    Type
    number
    Description

    Sampling temperature 0–1 (default: 0.7).

  • Name
    max_tokens
    Type
    integer
    Description

    Maximum tokens to generate per product (default: 500).

  • Name
    dry_run
    Type
    boolean
    Description

    Estimate cost without generating content (default: false).

Request

POST
/ai-enrichment/jobs
curl -X POST https://api.pixeepim.com/api/v1/ai-enrichment/jobs \
  -H "Authorization: Bearer {api_key}" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "SEO Descriptions – Active Products",
    "product_filter": {"is_active": true},
    "enrichment_type": "description",
    "ai_provider": "claude",
    "model": "claude-sonnet-4-6",
    "prompt_template": "SEO product description in French for: {product_name}",
    "max_tokens": 400
  }'

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/ai-enrichment/jobs/{id}

Get job status

Returns the current status and progress of an enrichment job.

Path parameters

  • Name
    id
    Type
    string
    Description

    The enrichment job UUID.

Request

GET
/ai-enrichment/jobs/{id}
curl https://api.pixeepim.com/api/v1/ai-enrichment/jobs/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"
}

GET/ai-enrichment/jobs/{id}/results

Get job results

Returns the generated content for each product in a completed enrichment job.

Query parameters

  • Name
    skip
    Type
    integer
    Description

    Offset (default: 0).

  • Name
    limit
    Type
    integer
    Description

    Items per page, max 100 (default: 50).

Request

GET
/ai-enrichment/jobs/{id}/results
curl "https://api.pixeepim.com/api/v1/ai-enrichment/jobs/550e8400-e29b-41d4-a716-446655440000/results?limit=10" \
  -H "Authorization: Bearer {api_key}"

Response

{
  "items": [
    {
      "product_id": "550e8400-e29b-41d4-a716-000000000001",
      "product_name": "Produit exemple",
      "field": "description",
      "original": "Produit de qualité.",
      "enriched": "Découvrez ce produit de qualité, alliant performance et durabilité. Idéal pour une utilisation quotidienne, il se distingue par sa finition soignée.",
      "cost_usd": 0.004,
      "status": "success",
      "processed_at": "2026-03-15T10:05:30Z"
    }
  ],
  "meta": {
    "total": 839,
    "page": 1,
    "per_page": 10,
    "total_pages": 84,
    "has_next": true,
    "has_previous": false
  }
}

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?