{
  "rows": [
    {
      "name": "Video Omni",
      "slug": "apiReference_model__OmniVideo",
      "textLength": 26975,
      "sectionKeys": [
        "Create Task",
        "Parameters",
        "Callback Protocol"
      ],
      "method": "POST",
      "path": "/v1/videos/omni-video",
      "fields": [
        "model_name",
        "prompt",
        "duration",
        "mode",
        "aspect_ratio",
        "callback_url",
        "external_task_id",
        "image_list",
        "text"
      ],
      "score": 10,
      "quality": "strong",
      "snippets": [
        {
          "pattern": "Create Task",
          "snippet": "Protocols\nPrivacy Policy of API Service\nTerms of API Service\nAPI Service Level Agreement\nOmni-Video\nCreate Task\nPOST\n/v1/videos/omni-video\ncURL\nCopy\nCollapse\ncurl --request POST \\\n  --url https://api-singapore.klingai.com/v1/videos/omni-video \\\n  --header 'Authorization: Bearer <token>' \\\n  --header 'Content-Type: application/json' \\\n  --data '{\n  \"model_name\": \"kling-video-o1\",\n  \"prompt\": \"Make the person in <<<image_1>>> wave to the camera\",\n  \"image_list\": [\n    {\n      \"image_url\": \"https://p2-kling.klingai.com/kcdn/cdn-kcdn112452/kling-qa-test/multi-1.png\"\n    }\n  ],\n  \"duration\": \"5\",\n "
        },
        {
          "pattern": "Parameters",
          "snippet": ": {\n    \"task_id\": \"string\", // Task ID, generated by the system\n    \"task_info\": { //Task creation parameters\n      \"external_task_id\": \"string\" //User-defined task ID\n    },\n    \"task_status\": \"string\", // Task status, Enum values: submitted, processing, succeed, failed\n    \"created_at\": 1722769557708, // Task creation time, Unix timestamp, unit: ms\n    \"updated_at\": 1722769557708 //Task update time, Unix timestamp, unit: ms\n  }\n}\n\nThe Omni model can achieve various capabilities through Prompt with elements, images, videos, and other content.\n\nRequest Header\nContent-Type\nstring\nRequired\nDefa"
        },
        {
          "pattern": "/v1/",
          "snippet": " Policy of API Service\nTerms of API Service\nAPI Service Level Agreement\nOmni-Video\nCreate Task\nPOST\n/v1/videos/omni-video\ncURL\nCopy\nCollapse\ncurl --request POST \\\n  --url https://api-singapore.klingai.com/v1/videos/omni-video \\\n  --header 'Authorization: Bearer <token>' \\\n  --header 'Content-Type: application/json' \\\n  --data '{\n  \"model_name\": \"kling-video-o1\",\n  \"prompt\": \"Make the person in <<<image_1>>> wave to the camera\",\n  \"image_list\": [\n    {\n      \"image_url\": \"https://p2-kling.klingai.com/kcdn/cdn-kcdn112452/kling-qa-test/multi-1.png\"\n    }\n  ],\n  \"duration\": \"5\",\n  \"mode\": \"pro\",\n "
        },
        {
          "pattern": "callback_url",
          "snippet": "ng-qa-test/multi-1.png\"\n    }\n  ],\n  \"duration\": \"5\",\n  \"mode\": \"pro\",\n  \"aspect_ratio\": \"16:9\",\n  \"callback_url\": \"\",\n  \"external_task_id\": \"\"\n}'\n200\nCopy\nCollapse\n{\n  \"code\": 0, // Error codes; Specific definitions can be found in \"Error Code\"\n  \"message\": \"string\", // Error information\n  \"request_id\": \"string\", // Request ID, generated by the system, is used for tracking requests and troubleshooting\n  \"data\": {\n    \"task_id\": \"string\", // Task ID, generated by the system\n    \"task_info\": { //Task creation parameters\n      \"external_task_id\": \"string\" //User-defined task ID\n    },\n    \"task_"
        }
      ]
    },
    {
      "name": "Reference to Video",
      "slug": "apiReference_model__multiImageToVideo",
      "textLength": 11816,
      "sectionKeys": [
        "Create Task",
        "Parameters",
        "Callback Protocol"
      ],
      "method": "POST",
      "path": "/v1/videos/multi-image2video",
      "fields": [
        "model_name",
        "prompt",
        "negative_prompt",
        "duration",
        "mode",
        "aspect_ratio",
        "callback_url",
        "external_task_id",
        "image_list",
        "text"
      ],
      "score": 10,
      "quality": "strong",
      "snippets": [
        {
          "pattern": "Create Task",
          "snippet": "Privacy Policy of API Service\nTerms of API Service\nAPI Service Level Agreement\nMulti-Image to Video\nCreate Task\nPOST\n/v1/videos/multi-image2video\ncURL\nCopy\nCollapse\ncurl --request POST \\\n  --url https://api-singapore.klingai.com/v1/videos/multi-image2video \\\n  --header 'Authorization: Bearer <token>' \\\n  --header 'Content-Type: application/json' \\\n  --data '{\n    \"model_name\": \"kling-v1-6\",\n    \"image_list\": [\n      { \"image\": \"https://p1-kling.klingai.com/kcdn/cdn-kcdn112452/kling-qa-test/dog.png\" },\n      { \"image\": \"https://p1-kling.klingai.com/kcdn/cdn-kcdn112452/kling-qa-test/dog_cloth.pn"
        },
        {
          "pattern": "Parameters",
          "snippet": "ure reason when task fails (such as content moderation triggers)\n    \"task_info\": { //Task creation parameters\n      \"external_task_id\": \"string\" //User-defined task ID\n    },\n    \"task_result\": {\n      \"videos\": [\n        {\n          \"id\": \"string\", // Generated video ID; globally unique\n          \"url\": \"string\", // URL for generating videos (Please note that for security purposes, generated images/videos will be deleted after 30 days. Please save them promptly.)\n          \"watermark_url\": \"string\", // Watermarked video download URL, anti-hotlinking format\n          \"duration\": \"string\" //To"
        },
        {
          "pattern": "/v1/",
          "snippet": " API Service\nTerms of API Service\nAPI Service Level Agreement\nMulti-Image to Video\nCreate Task\nPOST\n/v1/videos/multi-image2video\ncURL\nCopy\nCollapse\ncurl --request POST \\\n  --url https://api-singapore.klingai.com/v1/videos/multi-image2video \\\n  --header 'Authorization: Bearer <token>' \\\n  --header 'Content-Type: application/json' \\\n  --data '{\n    \"model_name\": \"kling-v1-6\",\n    \"image_list\": [\n      { \"image\": \"https://p1-kling.klingai.com/kcdn/cdn-kcdn112452/kling-qa-test/dog.png\" },\n      { \"image\": \"https://p1-kling.klingai.com/kcdn/cdn-kcdn112452/kling-qa-test/dog_cloth.png\" }\n    ],\n    \""
        },
        {
          "pattern": "callback_url",
          "snippet": "    \"negative_prompt\": \"\",\n    \"mode\": \"pro\",\n    \"duration\": \"5\",\n    \"aspect_ratio\": \"16:9\",\n    \"callback_url\": \"\",\n    \"external_task_id\": \"\"\n  }'\n200\nCopy\nCollapse\n{\n  \"code\": 0, // Error code; Specific definitions can be found in \"Error Code\"\n  \"message\": \"string\", // Error message\n  \"request_id\": \"string\", // Request ID, generated by the system, used to track requests and troubleshoot problems\n  \"data\": {\n    \"task_id\": \"string\", // Task ID, generated by the system\n    \"task_status\": \"string\", // Task status, Enum values: submitted, processing, succeed, failed\n    \"created_at\": 17227695"
        }
      ]
    },
    {
      "name": "Extend Video",
      "slug": "apiReference_model__videoExtension",
      "textLength": 11576,
      "sectionKeys": [
        "Create Task",
        "Parameters",
        "Callback Protocol"
      ],
      "method": "POST",
      "path": "/v1/videos/video-extend",
      "fields": [
        "prompt",
        "negative_prompt",
        "duration",
        "mode",
        "callback_url",
        "external_task_id",
        "video_id",
        "text",
        "cfg_scale"
      ],
      "score": 10,
      "quality": "strong",
      "snippets": [
        {
          "pattern": "Create Task",
          "snippet": "cols\nPrivacy Policy of API Service\nTerms of API Service\nAPI Service Level Agreement\nVideo Extension\nCreate Task\nPOST\n/v1/videos/video-extend\ncURL\nCopy\nCollapse\ncurl --request POST \\\n  --url https://api-singapore.klingai.com/v1/videos/video-extend \\\n  --header 'Authorization: Bearer <token>' \\\n  --header 'Content-Type: application/json' \\\n  --data '{\n    \"prompt\": \"A puppy appears\",\n    \"video_id\": \"743211632612511839\",\n    \"negative_prompt\": \"\",\n    \"callback_url\": \"\"\n  }'\n200\nCopy\nCollapse\n{\n  \"code\": 0, // Error codes; Specific definitions can be found in Error codes\n  \"message\": \"string\", /"
        },
        {
          "pattern": "Parameters",
          "snippet": "Task status, Enum values: submitted, processing, succeed, failed\n    \"task_info\":{ // Task creation parameters\n      \"external_task_id\": \"string\" // Customer-defined task ID\n    },\n    \"created_at\": 1722769557708, // Task creation time, Unix timestamp, unit: ms\n    \"updated_at\": 1722769557708 //Task update time, Unix timestamp, unit: ms\n  }\n}\nNote 1: Video extension refers to extending the duration of text-to-video/image-to-video results. Each extension can add 4 to 5 seconds, and the model and mode used cannot be selected; they must be the same as the source video.\nNote 2: Videos that have be"
        },
        {
          "pattern": "/v1/",
          "snippet": "cy of API Service\nTerms of API Service\nAPI Service Level Agreement\nVideo Extension\nCreate Task\nPOST\n/v1/videos/video-extend\ncURL\nCopy\nCollapse\ncurl --request POST \\\n  --url https://api-singapore.klingai.com/v1/videos/video-extend \\\n  --header 'Authorization: Bearer <token>' \\\n  --header 'Content-Type: application/json' \\\n  --data '{\n    \"prompt\": \"A puppy appears\",\n    \"video_id\": \"743211632612511839\",\n    \"negative_prompt\": \"\",\n    \"callback_url\": \"\"\n  }'\n200\nCopy\nCollapse\n{\n  \"code\": 0, // Error codes; Specific definitions can be found in Error codes\n  \"message\": \"string\", // Error informati"
        },
        {
          "pattern": "callback_url",
          "snippet": " \"prompt\": \"A puppy appears\",\n    \"video_id\": \"743211632612511839\",\n    \"negative_prompt\": \"\",\n    \"callback_url\": \"\"\n  }'\n200\nCopy\nCollapse\n{\n  \"code\": 0, // Error codes; Specific definitions can be found in Error codes\n  \"message\": \"string\", // Error information\n  \"request_id\": \"string\", // Request ID, generated by the system, is used to track requests and troubleshoot problems\n  \"data\": {\n    \"task_id\": \"string\", // Task ID, generated by the system\n    \"task_status\": \"string\", // Task status, Enum values: submitted, processing, succeed, failed\n    \"task_info\":{ // Task creation parameters\n "
        }
      ]
    },
    {
      "name": "Callback Schema",
      "slug": "apiReference_callbackProtocol",
      "textLength": 5596,
      "sectionKeys": [
        "Create Task",
        "Parameters",
        "Callback Protocol"
      ],
      "fields": [
        "prompt",
        "duration",
        "mode",
        "callback_url",
        "external_task_id",
        "text"
      ],
      "score": 8,
      "quality": "strong",
      "snippets": [
        {
          "pattern": "Create Task",
          "snippet": "image generation / video generation / virtual try-on），if you actively set the callback_url when you Create Task, the server will actively notify you when the task status changes, and the protocol is as follows:\n\nJSON\nCopy\nCollapse\n{\n  \"task_id\": \"string\",               // Task ID, generated by the system\n  \"task_status\": \"string\",           // Task status, Enum values: submitted, processing, succeed, failed\n  \"task_status_msg\": \"string\",       // Task status information, displaying the failure reason when the task fails (such as triggering the content risk control of the platform, etc.)\n  \"cre"
        },
        {
          "pattern": "Parameters",
          "snippet": "\": \"string\",   // The deduction units of task\n  \"task_info\": {                     // Task creation parameters. Detailed information provided by the user during task creation.\n    \"parent_video\": {\n      \"id\": \"string\",                // Generated video ID; globally unique\n      \"url\": \"string\",               // URL for generating images (To ensure information security, generated images/videos will be cleared after 30 days. Please make sure to save them promptly.)\n      \"duration\": \"string\"           // Total duration of the video before continuation, in s\n    },\n    \"external_task_id\": \"strin"
        },
        {
          "pattern": "callback_url",
          "snippet": "As for the Async task（image generation / video generation / virtual try-on），if you actively set the callback_url when you Create Task, the server will actively notify you when the task status changes, and the protocol is as follows:\n\nJSON\nCopy\nCollapse\n{\n  \"task_id\": \"string\",               // Task ID, generated by the system\n  \"task_status\": \"string\",           // Task status, Enum values: submitted, processing, succeed, failed\n  \"task_status_msg\": \"string\",       // Task status information, displaying the failure reason when the task fails (such as triggering the content risk control of the "
        },
        {
          "pattern": "duration",
          "snippet": "erated images/videos will be cleared after 30 days. Please make sure to save them promptly.)\n      \"duration\": \"string\"           // Total duration of the video before continuation, in s\n    },\n    \"external_task_id\": \"string\"     // Customer-defined task ID\n  },\n  \"task_result\": {\n    \"images\": [                      // The result of image-related tasks\n      {\n        \"index\": int,                // Image Number\n        \"url\": \"string\"              // URL for generating images, such as: https://h1.inkwai.com/bs2/upload-ylab-stunt/xxx.png (To ensure information security, generated images/vide"
        }
      ]
    },
    {
      "name": "Rate Limits",
      "slug": "apiReference_rateLimits",
      "textLength": 5453,
      "sectionKeys": [
        "Notes",
        "Concurrency Rules"
      ],
      "fields": [
        "duration",
        "mode",
        "text"
      ],
      "score": 3,
      "quality": "weak",
      "snippets": [
        {
          "pattern": "duration",
          "snippet": " significantly enhance usability\nSupports scene transitions, with up to 6 shots\nExtended generation duration up to 15 seconds\n\nUser Guide ->\n\nKling Image 3.0\n\nHighly consistent feature retention\nPrecise response to detail modifications\nAccurate control over style and tone\nRich imaginative capabilities\n\nUser Guide ->\n\nKling Image 3.0 Omni\n\nEnhanced narrative sense\nNew storyboard image set generation, retaining reference image features with scene relevance\nDirect output of 2K/4K ultra-high-definition images\nFurther improved detail consistency\n\nUser Guide ->\n\nThank you for your support and unders"
        },
        {
          "pattern": "Concurrency Rules",
          "snippet": "urce Packs\nProtocols\nPrivacy Policy of API Service\nTerms of API Service\nAPI Service Level Agreement\nConcurrency Rules\nWhat is Kling API concurrency?\n\nKling API concurrency refers to the maximum number of generation tasks that an account can process in parallel at any given time. This capability is determined by the resource package. A higher concurrency level allows you to submit more API generation requests simultaneously (each call to the task creation interface initiates a new generation task).\n\n💡\n\nNotes\n\nThis only applies to the task creation interface; query interfaces do not consume conc"
        }
      ]
    },
    {
      "name": "Text to Video",
      "slug": "apiReference_model__textToVideo",
      "textLength": 18303,
      "sectionKeys": [
        "Create Task",
        "Parameters",
        "Callback Protocol"
      ],
      "method": "POST",
      "path": "/v1/videos/text2video",
      "fields": [
        "model_name",
        "prompt",
        "negative_prompt",
        "duration",
        "mode",
        "aspect_ratio",
        "callback_url",
        "external_task_id",
        "text",
        "cfg_scale",
        "camera_control"
      ],
      "score": 10,
      "quality": "strong",
      "snippets": [
        {
          "pattern": "Create Task",
          "snippet": "tocols\nPrivacy Policy of API Service\nTerms of API Service\nAPI Service Level Agreement\nText to Video\nCreate Task\nPOST\n/v1/videos/text2video\ncURL\nCopy\nCollapse\ncurl --request POST \\\n  --url https://api-singapore.klingai.com/v1/videos/text2video \\\n  --header 'Authorization: Bearer <token>' \\\n  --header 'Content-Type: application/json' \\\n  --data '{\n    \"model_name\": \"kling-v2-6\",\n    \"prompt\": \"A cute little rabbit wearing glasses, sitting at a table, reading a newspaper, with a cup of cappuccino on the table\",\n    \"negative_prompt\": \"\",\n    \"duration\": \"5\",\n    \"mode\": \"pro\",\n    \"sound\": \"on\",\n"
        },
        {
          "pattern": "Parameters",
          "snippet": " {\n    \"task_id\": \"string\", // Task ID, generated by the system\n    \"task_info\": { // Task creation parameters\n      \"external_task_id\": \"string\" // Customer-defined task ID\n    },\n    \"task_status\": \"string\", // Task status, Enum values: submitted, processing, succeed, failed\n    \"created_at\": 1722769557708, // Task creation time, Unix timestamp, unit ms\n    \"updated_at\": 1722769557708 // Task update time, Unix timestamp, unit ms\n  }\n}\n💡\n\nPlease note that in order to maintain naming consistency, the original model field has been changed to model_name, so in the future, please use this field t"
        },
        {
          "pattern": "/v1/",
          "snippet": "licy of API Service\nTerms of API Service\nAPI Service Level Agreement\nText to Video\nCreate Task\nPOST\n/v1/videos/text2video\ncURL\nCopy\nCollapse\ncurl --request POST \\\n  --url https://api-singapore.klingai.com/v1/videos/text2video \\\n  --header 'Authorization: Bearer <token>' \\\n  --header 'Content-Type: application/json' \\\n  --data '{\n    \"model_name\": \"kling-v2-6\",\n    \"prompt\": \"A cute little rabbit wearing glasses, sitting at a table, reading a newspaper, with a cup of cappuccino on the table\",\n    \"negative_prompt\": \"\",\n    \"duration\": \"5\",\n    \"mode\": \"pro\",\n    \"sound\": \"on\",\n    \"aspect_ratio"
        },
        {
          "pattern": "callback_url",
          "snippet": "pt\": \"\",\n    \"duration\": \"5\",\n    \"mode\": \"pro\",\n    \"sound\": \"on\",\n    \"aspect_ratio\": \"1:1\",\n    \"callback_url\": \"\",\n    \"external_task_id\": \"\"\n  }'\n200\nCopy\nCollapse\n{\n  \"code\": 0, // Error codes; Specific definitions can be found in \"Error Code\"\n  \"message\": \"string\", // Error information\n  \"request_id\": \"string\", // Request ID, generated by the system\n  \"data\": {\n    \"task_id\": \"string\", // Task ID, generated by the system\n    \"task_info\": { // Task creation parameters\n      \"external_task_id\": \"string\" // Customer-defined task ID\n    },\n    \"task_status\": \"string\", // Task status, Enum v"
        }
      ]
    },
    {
      "name": "Image to Video",
      "slug": "apiReference_model__imageToVideo",
      "textLength": 24723,
      "sectionKeys": [
        "Create Task",
        "Parameters",
        "Callback Protocol"
      ],
      "method": "POST",
      "path": "/v1/videos/image2video",
      "fields": [
        "model_name",
        "prompt",
        "negative_prompt",
        "duration",
        "mode",
        "aspect_ratio",
        "callback_url",
        "external_task_id",
        "text",
        "voice_id",
        "cfg_scale",
        "camera_control",
        "static_mask",
        "dynamic_masks"
      ],
      "score": 10,
      "quality": "strong",
      "snippets": [
        {
          "pattern": "Create Task",
          "snippet": "ocols\nPrivacy Policy of API Service\nTerms of API Service\nAPI Service Level Agreement\nImage to Video\nCreate Task\nPOST\n/v1/videos/image2video\ncURL\nCopy\nCollapse\ncurl --location --request POST 'https://api-singapore.klingai.com/v1/videos/image2video' \\\n--header 'Authorization: Bearer <token>' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\n    \"model_name\": \"kling-v2-6\",\n    \"image\": \"https://p2-kling.klingai.com/kcdn/cdn-kcdn112452/kling-qa-test/multi-2.png\",\n    \"image_tail\": \"https://p2-kling.klingai.com/kcdn/cdn-kcdn112452/kling-qa-test/multi-1.png\",\n    \"prompt\": \"Camera zooms ou"
        },
        {
          "pattern": "Parameters",
          "snippet": " {\n    \"task_id\": \"string\", // Task ID, generated by the system\n    \"task_info\": { // Task creation parameters\n      \"external_task_id\": \"string\" // Customer-defined task ID\n    },\n    \"task_status\": \"string\", // Task status, Enum values: submitted, processing, succeed, failed\n    \"created_at\": 1722769557708, // Task creation time, Unix timestamp, unit ms\n    \"updated_at\": 1722769557708 // Task update time, Unix timestamp, unit ms\n  }\n}\n💡\n\nPlease note that in order to maintain naming consistency, the original model field has been changed to model_name. Please use this field to specify the mode"
        },
        {
          "pattern": "/v1/",
          "snippet": "icy of API Service\nTerms of API Service\nAPI Service Level Agreement\nImage to Video\nCreate Task\nPOST\n/v1/videos/image2video\ncURL\nCopy\nCollapse\ncurl --location --request POST 'https://api-singapore.klingai.com/v1/videos/image2video' \\\n--header 'Authorization: Bearer <token>' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\n    \"model_name\": \"kling-v2-6\",\n    \"image\": \"https://p2-kling.klingai.com/kcdn/cdn-kcdn112452/kling-qa-test/multi-2.png\",\n    \"image_tail\": \"https://p2-kling.klingai.com/kcdn/cdn-kcdn112452/kling-qa-test/multi-1.png\",\n    \"prompt\": \"Camera zooms out, the girl smile"
        },
        {
          "pattern": "callback_url",
          "snippet": "miles\",\n    \"negative_prompt\": \"\",\n    \"duration\": \"5\",\n    \"mode\": \"pro\",\n    \"sound\": \"off\",\n    \"callback_url\": \"\",\n    \"external_task_id\": \"\"\n}'\n200\nCopy\nCollapse\n{\n  \"code\": 0, // Error codes; Specific definitions can be found in \"Error Code\"\n  \"message\": \"string\", // Error information\n  \"request_id\": \"string\", // Request ID, generated by the system\n  \"data\": {\n    \"task_id\": \"string\", // Task ID, generated by the system\n    \"task_info\": { // Task creation parameters\n      \"external_task_id\": \"string\" // Customer-defined task ID\n    },\n    \"task_status\": \"string\", // Task status, Enum val"
        }
      ]
    },
    {
      "name": "Video Models",
      "slug": "apiReference_model__videoModels",
      "textLength": 9385,
      "sectionKeys": [],
      "fields": [
        "prompt",
        "negative_prompt",
        "duration",
        "mode",
        "text",
        "cfg_scale"
      ],
      "score": 4,
      "quality": "medium",
      "snippets": [
        {
          "pattern": "duration",
          "snippet": "-\n\n\t\n\n-\n\n\t\n\n-\n\n\n\n\nothers\n\n\t\n\n-\n\n\t\n\n-\n\n\t\n\n-\n\n\t\n\n-\n\nkling-v2-6\n\n\t\n\nstd 5s\n\n\t\n\nstd 10s\n\n\t\n\nstd x other duration\n\n\t\n\npro 5s\n\n\t\n\npro10s\n\n\t\n\npro x other duration\n\n\n\n\ntext to video\n\n\t\n\nvideo generation\n\n\t\n\n✅ (only no audio)\n\n\t\n\n✅ (only no audio)\n\n\t\n\n-\n\n\t\n\n✅\n\n\t\n\n✅\n\n\t\n\n-\n\n\n\n\nothers\n\n\t\n\n-\n\n\t\n\n-\n\n\t\n\n-\n\n\t\n\n-\n\n\t\n\n-\n\n\t\n\n-\n\n\n\n\nimage to video\n\n\t\n\nvideo generation\n\n\t\n\n✅ (only no audio)\n\n\t\n\n✅ (only no audio)\n\n\t\n\n-\n\n\t\n\n✅\n\n\t\n\n✅\n\n\t\n\n-\n\n\n\n\nstart/end frame\n\n\t\n\n-\n\n\t\n\n-\n\n\t\n\n-\n\n\t\n\n✅ (only no audio)\n\n\t\n\n✅ (only no audio)\n\n\t\n\n-\n\n\n\n\nvoice control\n\n\t\n\n-\n\n\t\n\n-\n\n\t\n\n-\n\n\t\n\n✅\n\n\t\n\n✅\n\n\t\n\n-\n\n\n\n\nmotion control\n\n\t\n\n-\n\n\t\n\n-\n\n\t\n\n✅\n\n\t\n"
        }
      ]
    }
  ]
}