meCore API

    Turn a set of images into a taste profile — a description of someone's style, colour and material preferences that you can use to personalise what you show them.

    Concepts

    A core is a named collection of 1–5 images. When you create one, meCore captions each image and condenses them into a taste profile. The profile is plain text, meant to be fed to a model or matched against a catalogue.

    Authentication

    Create an API key in your organization dashboard. It is shown once and stored only as a hash — if you lose it, mint a new one.

    curl "https://api.mecore.ai/api/v1/org/me" \
      -H "Authorization: Bearer $MECORE_API_KEY"

    Creating a core is asynchronous

    This is the part worth reading twice. POST /cores does not return a taste profile. It ingests your images, returns 202 with a core id and a job id, and generates the taste in the background — usually 10 to 40 seconds. Poll until it is ready.

    # 1. create
    curl -X POST "https://api.mecore.ai/api/v1/org/cores" \
      -H "Authorization: Bearer $MECORE_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"name":"Summer looks","imageUrls":["https://cdn.example.com/1.jpg"]}'
    
    # => 202 { "status": 202, "coreId": "c_9f2", "jobId": "job_71a", "coreStatus": "processing" }
    
    # 2. poll
    curl "https://api.mecore.ai/api/v1/org/cores/c_9f2" \
      -H "Authorization: Bearer $MECORE_API_KEY"
    
    # => { "status": 200, "coreStatus": "processing", "taste": null }
    # => { "status": 200, "coreStatus": "ready", "taste": "A warm, minimal wardrobe…" }

    status is always the HTTP status code. The generation state lives in coreStatus on cores and jobStatus on jobs. A coreStatus of "failed" is terminal and carries an error.

    Images

    • Public https URLs, or base64 data URLs of the form data:image/jpeg;base64,…
    • Between 1 and 5 images per core, counted across imageUrls and images together.
    • http URLs are rejected. So are private, loopback and link-local addresses.
    • The response must have an image/* content type and be under 10MB.