{
  "info": {
    "name": "Elai — mcp.ai",
    "description": "REST API for the Elai 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/elai",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "sk_live_...",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "elai_copy_video",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/copy/video",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "copy",
            "video"
          ]
        },
        "description": "Create a draft copy of an existing video or template; the new draft counts against Elai's creation quota.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"folder_id\": \"\",\n  \"create_template\": false,\n  \"source_video_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "elai_create_story_video",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/story/video",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "story",
            "video"
          ]
        },
        "description": "Create a Story video from text, HTML, or a web-page URL and generate its visual slides so it is ready for rendering. The video counts against Elai's creation quota; a failed slide-generation step auto",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"source\": \"\",\n  \"folder_id\": \"\",\n  \"source_type\": \"\",\n  \"fix_with_gpt\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "elai_delete_video",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/video",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "video"
          ]
        },
        "description": "Permanently delete one Elai video or template. This cannot be undone, requires the exact known ID, and requires explicit confirmation.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"video_id\": \"\",\n  \"confirm_permanent_delete\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "elai_estimate_speech_duration",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/estimate/speech/duration",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "estimate",
            "speech",
            "duration"
          ]
        },
        "description": "Estimate how many seconds narration text will take with a selected Elai voice before modifying or rendering a video.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"text\": \"\",\n  \"language\": \"\",\n  \"provider\": \"\",\n  \"voice_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "elai_get_video",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/video",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "video"
          ]
        },
        "description": "Get a video's status, render URL, metadata, and optionally its full slide configuration.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"video_id\": \"\",\n  \"include_slides\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "elai_list_avatars",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/avatars",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "avatars"
          ]
        },
        "description": "Find available avatars and variants as compact records, optionally limited to Realtime-compatible avatars.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"gender\": \"\",\n  \"offset\": 0,\n  \"search\": \"\",\n  \"realtime_compatible\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "elai_list_videos",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/videos",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "videos"
          ]
        },
        "description": "List videos and templates as compact summaries, with filters and a continuation cursor for additional pages.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"sort\": \"\",\n  \"tags\": \"\",\n  \"limit\": 0,\n  \"cursor\": \"\",\n  \"deleted\": false,\n  \"statuses\": \"\",\n  \"video_type\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "elai_render_video",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/render/video",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "render",
            "video"
          ]
        },
        "description": "Start asynchronous rendering of a prepared video, consuming paid rendering minutes. Requires confirm_paid_render=true. Use Get Video afterward to check status and obtain the final URL; this action doe",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"video_id\": \"\",\n  \"confirm_paid_render\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    }
  ]
}