> ## 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.

# Get Template

> Get full template details including guidance data and multi-asset composition.

The `guidanceData` section contains the structured guidance that will be injected
into the content creation process when this template is used:
- `promptDirectives` -- Positive instructions for the AI generation prompt
- `negativePrompts` -- Things to avoid in generation
- `winningPatterns` -- Patterns known to perform well
- `testIdeas` -- Suggested A/B test variations
- `creativeStructure` -- Optional structured creative direction

The `multiAssetComposition` section (if present) describes a multi-asset content
piece with roles for each asset (e.g. hero image, supporting image, caption).


Returns full details for a specific content template, including the recommended app, pre-filled inputs, and customizable parameters.

Use this to inspect what a template provides before using it as the basis for a content creation request. The response includes enough context for an agent or UI to show the template's purpose, preview its defaults, and let the user override specific fields.


## OpenAPI

````yaml GET /v1/templates/{id}
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/templates/{id}:
    get:
      tags:
        - Create
      summary: Get Template
      description: >
        Get full template details including guidance data and multi-asset
        composition.


        The `guidanceData` section contains the structured guidance that will be
        injected

        into the content creation process when this template is used:

        - `promptDirectives` -- Positive instructions for the AI generation
        prompt

        - `negativePrompts` -- Things to avoid in generation

        - `winningPatterns` -- Patterns known to perform well

        - `testIdeas` -- Suggested A/B test variations

        - `creativeStructure` -- Optional structured creative direction


        The `multiAssetComposition` section (if present) describes a multi-asset
        content

        piece with roles for each asset (e.g. hero image, supporting image,
        caption).
      operationId: getTemplate
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
          description: Template ID (from `GET /v1/templates` response).
      responses:
        '200':
          description: Full template details with guidance data
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/ContentTemplateDetail'
              example:
                data:
                  id: tmpl-product-launch
                  name: Product Launch Hero
                  description: >-
                    Create high-impact hero visuals for product launches with
                    lifestyle context and brand-aligned styling
                  category: launch
                  suggestedModalities:
                    - image
                    - video
                  suggestedPlatforms:
                    - instagram
                    - facebook
                  guidanceData:
                    promptDirectives:
                      - Emphasize product in natural lifestyle context
                      - Use brand color palette as accent
                      - Include human interaction with product
                    negativePrompts:
                      - no plain white backgrounds
                      - no floating/disembodied products
                      - no text overlays
                    winningPatterns:
                      - product-in-context
                      - lifestyle imagery
                      - aspirational setting
                    testIdeas:
                      - Test studio vs outdoor settings
                      - Test with/without human model
                    creativeStructure: null
                  multiAssetComposition:
                    - role: hero
                      modality: image
                      description: Primary product hero shot in lifestyle context
                    - role: detail
                      modality: image
                      description: Close-up detail shot highlighting key product features
                    - role: caption
                      modality: text
                      description: Engaging caption with call-to-action
                  isBuiltIn: true
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  schemas:
    ContentTemplateDetail:
      type: object
      description: Full template details including structured guidance data.
      required:
        - id
        - name
        - description
        - category
        - isBuiltIn
      properties:
        id:
          type: string
          description: Template identifier
        name:
          type: string
          description: Display name of the template
        description:
          type: string
          description: What the template helps you create
        category:
          type: string
          description: Template category
        suggestedModalities:
          type: array
          items:
            type: string
          description: Recommended content modalities
        suggestedPlatforms:
          type: array
          items:
            type: string
          description: Recommended platforms
        guidanceData:
          type: object
          description: Structured guidance injected into the content creation process
          properties:
            promptDirectives:
              type: array
              items:
                type: string
              description: Positive instructions for generation prompts
            negativePrompts:
              type: array
              items:
                type: string
              description: Things to avoid in generation
            winningPatterns:
              type: array
              items:
                type: string
              description: Patterns known to perform well with this template
            testIdeas:
              type: array
              items:
                type: string
              description: Suggested A/B test variations
            creativeStructure:
              nullable: true
              description: Optional structured creative direction
        multiAssetComposition:
          type: array
          description: >-
            Multi-asset content structure (if the template involves multiple
            outputs)
          items:
            type: object
            properties:
              role:
                type: string
                description: >-
                  Role of this asset in the composition (e.g. `hero`, `detail`,
                  `caption`)
              modality:
                type: string
                description: Expected modality for this asset
              description:
                type: string
                description: What this asset should contain
        isBuiltIn:
          type: boolean
          description: Whether this is a built-in template
  responses:
    Unauthorized:
      description: Missing or invalid API key
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
          example:
            error: Invalid API key
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
          example:
            error: App not found
    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...`'

````