{
  "info": {
    "name": "Luma Labs — mcp.ai",
    "description": "REST API for the Luma Labs MCP. Set {{apiKey}} to a workspace key (sk_live_…) created at https://mcp.ai/settings/api-keys.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.mcp.ai/api/luma_labs",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "sk_live_...",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "luma_labs_delete_file",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/file",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "file"
          ]
        },
        "description": "Soft-delete a Luma file so new generations cannot reference it. The file's metadata remains retrievable with state=deleted.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"file_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "luma_labs_edit_image",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/edit/image",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "edit",
            "image"
          ]
        },
        "description": "Submit a paid, asynchronous Luma image-edit job. Returns immediately; use GET_GENERATION with generation_id to monitor it.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"model\": \"\",\n  \"style\": \"\",\n  \"prompt\": \"\",\n  \"source\": {},\n  \"user_id\": \"\",\n  \"image_ref\": \"\",\n  \"web_search\": false,\n  \"output_format\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "luma_labs_edit_video",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/edit/video",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "edit",
            "video"
          ]
        },
        "description": "Submit a paid, asynchronous Ray 3.2 video-edit job. Returns immediately; use GET_GENERATION with generation_id to monitor it.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"video\": {},\n  \"prompt\": \"\",\n  \"source\": {},\n  \"user_id\": \"\",\n  \"web_search\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "luma_labs_extract_image_layers",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/extract/image/layers",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "extract",
            "image",
            "layers"
          ]
        },
        "description": "Submit a paid, asynchronous Luma image layer-extraction job. Pricing is flat per generation at the selected resolution, regardless of layer count; use GET_GENERATION with generation_id to monitor the ",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"prompt\": \"\",\n  \"source\": {},\n  \"user_id\": \"\",\n  \"layering\": {}\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "luma_labs_generate_image",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/generate/image",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "generate",
            "image"
          ]
        },
        "description": "Submit a paid, asynchronous Luma image generation job. Returns immediately; use GET_GENERATION with generation_id to monitor it.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"model\": \"\",\n  \"style\": \"\",\n  \"prompt\": \"\",\n  \"user_id\": \"\",\n  \"image_ref\": \"\",\n  \"web_search\": false,\n  \"aspect_ratio\": \"\",\n  \"output_format\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "luma_labs_generate_video",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/generate/video",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "generate",
            "video"
          ]
        },
        "description": "Submit a paid, asynchronous Ray 3.2 video generation job. Returns immediately; use GET_GENERATION with generation_id to monitor it.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"video\": {},\n  \"prompt\": \"\",\n  \"user_id\": \"\",\n  \"web_search\": false,\n  \"aspect_ratio\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "luma_labs_get_file",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/file",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "file"
          ]
        },
        "description": "Get a Luma file's metadata and current ingest, moderation, or deletion state. Soft-deleted files remain retrievable with state=deleted.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"file_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "luma_labs_get_generation",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/generation",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "generation"
          ]
        },
        "description": "Get the current state, failure details, and output URLs for a Luma generation.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"generation_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "luma_labs_list_files",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/files",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "files"
          ]
        },
        "description": "List files in the connected Luma account, newest first, with optional state and purpose filters. Returns one page and a cursor for continuation.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"state\": \"\",\n  \"cursor\": \"\",\n  \"purpose\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "luma_labs_reframe_video",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/reframe/video",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "reframe",
            "video"
          ]
        },
        "description": "Submit a paid, asynchronous Ray 3.2 video-reframe job. Returns immediately; use GET_GENERATION with generation_id to monitor it.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"video\": {},\n  \"prompt\": \"\",\n  \"source\": {},\n  \"user_id\": \"\",\n  \"web_search\": false,\n  \"aspect_ratio\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "luma_labs_upload_file",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/upload/file",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "upload",
            "file"
          ]
        },
        "description": "Directly upload file bytes to Luma and return the file ID, metadata, and current upload/ingest state.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"file\": {},\n  \"purpose\": \"\",\n  \"user_id\": \"\",\n  \"expires_at\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    }
  ]
}