> ## Documentation Index
> Fetch the complete documentation index at: https://docs.uselamina.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Predict Content Performance

> Predict how a content concept would perform on a given platform before
creating it. Returns a performance prediction based on the workspace's
historical data and brand context.

Use this to validate ideas before spending credits on content creation,
or to compare multiple concepts and pick the strongest one.

The `concept` field is a natural-language description of the content you
are considering -- it does not need to be a polished prompt. For example:
"A lifestyle photo of our new sneakers in an urban setting with warm golden-hour lighting."


Predict how a content concept will perform on a given platform before you create or publish it.

Send a text `concept` describing the content idea along with the target `platform` and `modality`. Returns a performance prediction grounded in your workspace's historical data and brand context.

Use this in pre-creation decision flows, A/B content selection, or automated quality gates to prioritize high-performing concepts.


## OpenAPI

````yaml POST /v1/intelligence/predict
openapi: 3.1.0
info:
  title: Lamina Apps API
  version: 1.0.0
  description: >
    Professional creative content production for AI agents. Create brand-aligned
    images, videos, and designs from natural-language briefs using 30+
    specialized AI pipelines.


    Unlike raw model APIs (DALL-E, Flux, Kling), Lamina automatically applies
    brand guidelines, selects the optimal multi-model pipeline, scores output
    quality, and delivers permanent CDN-hosted URLs with composability metadata
    for chaining.


    ## Authentication

    All endpoints require an API key passed via one of these headers:

    - `x-api-key: lma_your_key` (recommended)

    - `Authorization: Bearer lma_your_key`


    API keys are workspace-scoped. Create them in **Settings -> API Keys**.


    ## Quick Start (One-Call Path)

    `POST /v1/create` with `{ "brief": "product photo of sneakers", "sync": true
    }` — returns completed output inline with CDN URL.


    ## Quick Start (Advanced)

    1. `GET /v1/apps` -- browse 30+ specialized creative apps

    2. `GET /v1/apps/{appId}` -- inspect input parameters

    3. `POST /v1/apps/{appId}/runs?webhook=<url>` -- run with your inputs

    4. Receive results via webhook, poll `GET /v1/runs/{runId}`, or stream via
    `GET /v1/runs/{runId}/stream`


    ## Rate Limits

    All `/v1/*` endpoints are currently limited to 100 requests per minute per
    IP.

    On `429`, read the `RateLimit-*` and `Retry-After` headers before retrying.


    ## How Inputs Work

    When running an app, provide inputs as a JSON object keyed by parameter
    **name** (from the app details response).


    - **text** parameters: send a string value (e.g. a prompt or description)

    - **options** parameters: send the **label** of the option (e.g.
    `"Caucasian"`), not an internal value

    - **url** parameters: send a publicly accessible URL to an image or video


    Every parameter is returned with `required: true`. Parameters with a
    `default` can safely be omitted -- the app will use the default value.


    ## Endpoint Groups

    | Group | Purpose |

    |-------|---------|

    | **Apps** | Discover and inspect available content creation apps |

    | **Runs** | Run workflows, track progress, and retrieve results |

    | **Assets** | Browse generated images, videos, and text from past
    executions |

    | **Intelligence** | Brand context, performance prediction, recommendations,
    and trends |

    | **Publishing** | Publish content to connected social channels |

    | **Content** | One-call agent operations: create, score, brief, batch |

    | **Account** | Credit balance and rate limit visibility |

    | **Templates** | Content creation templates and strategies |

    | **Webhooks** | Webhook signature verification |
servers:
  - url: https://app.uselamina.ai
    description: Production
security:
  - apiKey: []
tags:
  - name: Create
    description: Create content from briefs, run specific apps, and use templates
  - name: Discover
    description: Find and inspect available apps and their input schemas
  - name: Track
    description: Monitor execution progress, retrieve results, and browse generated assets
  - name: Intelligence
    description: >-
      Brand context, performance prediction, content recommendations, and trend
      signals
  - name: Distribute
    description: Publish content to social channels and transfer assets to CDN
  - name: Score
    description: Evaluate content quality, brand alignment, and engagement potential
  - name: Account
    description: Credit balance, rate limits, and health checks
  - name: Webhooks
    description: Webhook signature verification for secure callback handling
paths:
  /v1/intelligence/predict:
    post:
      tags:
        - Intelligence
      summary: Predict Content Performance
      description: >
        Predict how a content concept would perform on a given platform before

        creating it. Returns a performance prediction based on the workspace's

        historical data and brand context.


        Use this to validate ideas before spending credits on content creation,

        or to compare multiple concepts and pick the strongest one.


        The `concept` field is a natural-language description of the content you

        are considering -- it does not need to be a polished prompt. For
        example:

        "A lifestyle photo of our new sneakers in an urban setting with warm
        golden-hour lighting."
      operationId: predictPerformance
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                concept:
                  type: string
                  description: Natural-language content concept or brief to evaluate.
                platform:
                  type: string
                  description: >-
                    Target platform (e.g. `instagram`, `tiktok`, `facebook`,
                    `linkedin`).
                modality:
                  type: string
                  enum:
                    - image
                    - video
                    - text
                    - audio
                    - mixed
                  description: Content modality of the concept.
                brandProfileId:
                  type: string
                  format: uuid
                  nullable: true
                  description: Optional brand profile to evaluate against.
                campaignId:
                  type: string
                  format: uuid
                  nullable: true
                  description: Optional campaign context for more targeted prediction.
              required:
                - concept
                - platform
                - modality
            example:
              concept: >-
                A lifestyle photo of our new sneakers in an urban setting with
                warm golden-hour lighting
              platform: instagram
              modality: image
              brandProfileId: null
              campaignId: null
      responses:
        '200':
          description: Performance prediction with scores and reasoning
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    description: >-
                      Prediction results. Structure varies based on the
                      workspace's intelligence model.
              example:
                data:
                  predictedScore: 78.5
                  confidence: medium
                  strengths:
                    - Strong alignment with brand visual identity
                    - Lifestyle format historically performs well
                  risks:
                    - >-
                      Golden-hour lighting may not differentiate from
                      competitors
                    - Urban setting is overused in category
                  suggestions:
                    - Add a human subject for +15% predicted engagement
                    - Consider a close-up crop variant
        '400':
          description: Missing required fields
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: concept, platform, and modality are required
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  schemas:
    Error:
      type: object
      description: Standard error response
      required:
        - error
      properties:
        error:
          type: string
          description: Human-readable error message
        details:
          type: array
          items:
            type: string
          description: Additional validation error details (present on 400 responses)
  responses:
    Unauthorized:
      description: Missing or invalid API key
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
          example:
            error: Invalid API key
    TooManyRequests:
      description: >-
        Rate limit exceeded. All `/v1/*` endpoints are currently limited to 100
        requests per minute per IP.
      headers:
        RateLimit-Policy:
          description: Active rate limit policy.
          schema:
            type: string
            example: 100;w=60
        RateLimit-Limit:
          description: Max requests allowed in the current window.
          schema:
            type: integer
            example: 100
        RateLimit-Remaining:
          description: Requests remaining in the current window.
          schema:
            type: integer
            example: 0
        RateLimit-Reset:
          description: Seconds until the current window resets.
          schema:
            type: integer
            example: 60
        Retry-After:
          description: Seconds to wait before retrying.
          schema:
            type: integer
            example: 60
      content:
        text/plain:
          schema:
            type: string
          example: Too many requests from this IP, please try again in a minute
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: 'Workspace API key. Prefix: `lma_`. Example: `lma_abc123...`'

````