Skip to main content

Sending Inputs

When starting an execution, send an inputs object keyed by parameter name from GET /v1/apps/{appId}. Parameter names are case-sensitive and must match the app metadata exactly. Example:
{
  "inputs": {
    "Front": "https://example.com/front.jpg",
    "Back": "https://example.com/back.jpg",
    "Model Gender": "Female"
  }
}

Parameter Types

TypeWhat you sendNotes
texta stringprompts, descriptions, product names
optionsan option labelsend the displayed label, not an internal ID
urla public URLtypically an image or video URL

Important Rules

options

For option parameters, send the label shown in the app metadata. Example:
{
  "inputs": {
    "Location": "Studio"
  }
}

url

URLs should be publicly accessible by Lamina at execution time. Good sources include:
  • your own CDN
  • cloud object storage with public access
  • signed URLs that will remain valid long enough for processing
If you use signed URLs, make sure they stay valid for the full processing window.

Optional Parameters

If required is false, you can omit the field. If the app defines a default value, Lamina uses it automatically.

Output Shape

Executions return an outputs array. Each output object contains:
  • id
  • label
  • type
  • value
  • status
  • error
Example completed output:
{
  "id": "node-1",
  "label": "Generated Video",
  "type": "video",
  "value": "https://cdn.example.com/result.mp4",
  "status": "completed",
  "error": null
}

Output Types

Common output types include:
  • image
  • video
  • text
  • pending
Your client should always branch on type and status, not only on value. At execution start, outputs may be present with type: "pending" and value: null. Treat those as placeholders until the execution reaches a terminal state.

Integration Tip

For dynamic forms or agentic systems:
  1. fetch the app metadata
  2. render input controls from the parameter list
  3. submit inputs keyed by parameter name
  4. handle output rendering based on output type