> ## Documentation Index
> Fetch the complete documentation index at: https://apidoc.cometapi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Kling 動画選択の追加

> Kling の Add Video Selection エンドポイントを使用して、マルチ要素の動画編集で選択要素を追加し、CometAPI 経由で対象を絞った編集とシーン制御を可能にします。

このエンドポイントを使用して、マルチモーダルエディタが処理する動画内の領域を指定します。

## 選択の仕組み

* `session_id` は [編集用動画の初期化](./initialize-video-for-editing) で取得します
* 初期化で返された同じアカウントと正確な `session_id` を使用します
* `frame_index` はポイントを配置するフレームを選択します
* `points` は `0` から `1` の間で正規化された座標です
* Kling のドキュメントでは、マーク可能なフレームは最大 10、各フレームのポイントは最大 10 とされています

## ワークフロー上の役割

<Steps>
  <Step title="最初に初期化">
    有効な `session_id` を取得するために、まず [編集用動画の初期化](./initialize-video-for-editing) から始めます。
  </Step>

  <Step title="ポイントを追加または調整">
    編集する領域を構築しながら、このエンドポイントを呼び出します。
  </Step>

  <Step title="領域をプレビュー">
    最終送信の前に [選択した動画領域のプレビュー](./preview-selected-video-area) を使用します。
  </Step>
</Steps>

<Tip>
  完全なパラメータリファレンスについては、[Kling API documentation](https://kling.ai/document-api/apiReference/model/multiElements) を参照してください。
</Tip>


## OpenAPI

````yaml api/openapi/video/kling/multimodal-video-editing/post-add-video-selection.openapi.json POST /kling/v1/videos/multi-elements/add-selection
openapi: 3.1.0
info:
  title: Add Video Selection API
  version: 1.0.0
  description: Add or refine selection points for a Kling multimodal editing session.
servers:
  - url: https://api.cometapi.com
security:
  - bearerAuth: []
paths:
  /kling/v1/videos/multi-elements/add-selection:
    post:
      summary: Add selection points to a Kling multimodal session
      description: >-
        Place normalized point coordinates on a chosen frame within the current
        session.
      operationId: add_video_selection
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - session_id
                - points
                - frame_index
              properties:
                session_id:
                  type: string
                  description: >-
                    Selection session id returned by init-selection. Follow-up
                    calls must use the same account and exact session id.
                frame_index:
                  type: integer
                  description: >-
                    Frame number


                    Supports adding up to 10 marked frames, meaning video
                    selections can be marked based on a maximum of 10 frames.

                    Only 1 frame can be marked at a time.
                points:
                  type: array
                  description: >-
                    Click coordinates, represented by x and y.

                    Value range: [0,1], expressed as a percentage; [0,1]
                    represents the top-left corner of the frame.

                    Supports adding multiple marked points simultaneously, with
                    a maximum of 10 points per frame.
                  items:
                    type: object
                    properties:
                      x:
                        type: number
                      'y':
                        type: number
              default:
                session_id: <session_id>
                points:
                  - x: 0.5
                    'y': 0.5
                frame_index: 1
            examples:
              Default:
                summary: Default
                value:
                  session_id: <session_id>
                  frame_index: 1
                  points:
                    - x: 0.5
                      'y': 0.5
      responses:
        '200':
          description: Selection updated.
          content:
            application/json:
              schema:
                type: object
                required:
                  - code
                  - message
                properties:
                  code:
                    type: integer
                  message:
                    type: string
                  data:
                    type: object
                    additionalProperties: true
      x-codeSamples:
        - lang: Shell
          label: Default
          source: >
            curl
            https://api.cometapi.com/kling/v1/videos/multi-elements/add-selection
            \
              -H "Authorization: Bearer $COMETAPI_KEY" \
              -H "Content-Type: application/json" \
              -d '{
                  "session_id": "<session_id>",
                  "frame_index": 1,
                  "points": [
                    {
                      "x": 0.5,
                      "y": 0.5
                    }
                  ]
                }'
        - lang: Python
          label: Default
          source: |
            import os
            import requests

            response = requests.post(
                "https://api.cometapi.com/kling/v1/videos/multi-elements/add-selection",
                headers={"Authorization": "Bearer " + os.environ["COMETAPI_KEY"]},
                json={
                  "session_id": "<session_id>",
                  "frame_index": 1,
                  "points": [
                    {
                      "x": 0.5,
                      "y": 0.5
                    }
                  ]
                },
            )

            result = response.json()
            print(result.get("code"), result.get("data"))
        - lang: JavaScript
          label: Default
          source: >
            const response = await
            fetch("https://api.cometapi.com/kling/v1/videos/multi-elements/add-selection",
            {
              method: "POST",
              headers: {
                Authorization: `Bearer ${process.env.COMETAPI_KEY}`,
                "Content-Type": "application/json",
              },
              body: JSON.stringify({
                "session_id": "<session_id>",
                "frame_index": 1,
                "points": [
                  {
                    "x": 0.5,
                    "y": 0.5
                  }
                ]
              }),
            });


            const result = await response.json();

            console.log(result.code, result.data);
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer token authentication. Use your CometAPI key.

````