> ## 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 عبر POST /kling/v1/videos/video-extend باستخدام task_id و video_id؛ وشغّلها كمهمة فرعية على الحساب الأب.

استخدم نقطة النهاية هذه لتمديد فيديو Kling موجود كمهمة متابعة.

## قبل استدعائها

* ابدأ من نتيجة فيديو Kling مكتملة
* مرّر `video_id` من نتيجة المهمة الأب
* مرّر `task_id` الأب مع `video_id`
* استخدم فيديو مصدرًا متوافقًا مع التمديد؛ تعيد مقاطع الفيديو المصدر غير المدعومة HTTP 400 بدلًا من إنشاء مهمة تمديد
* يُعد اكتمال مهمة أب مدتها 5 ثوانٍ من Kling v1 أو v1-6 من نوع text-to-video أو image-to-video نقطة بداية أكثر أمانًا لتوافق التمديد
* أضف `prompt` أو `negative_prompt` أو `cfg_scale` فقط عندما تحتاج إلى توجيه الاستمرار
* شغّل التمديد ضمن نفس سياق الحساب الخاص بالمهمة الأب
* فعّل التمديد بسرعة قبل انتهاء صلاحية موارد المهمة الأب

## تدفق المهمة

<Steps>
  <Step title="إكمال مهمة الفيديو الأب">
    أنشئ فيديو Kling الأصلي وانتظر حتى تصبح نتيجته متاحة.
  </Step>

  <Step title="إرسال طلب التمديد">
    أرسل `task_id` الأب و`video_id` وprompt اختياريًا، ثم احفظ معرّف المهمة المُعاد.
  </Step>

  <Step title="الاستعلام عن مهمة التمديد">
    تابع باستخدام [الحصول على مهمة Kling](./individual-queries) حتى يصل الفيديو الممدد إلى حالة نهائية.
  </Step>
</Steps>

<Tip>
  للاطلاع على المرجع الكامل للمعلمات، راجع [وثائق Kling الرسمية](https://kling.ai/document-api/apiReference/model/videoDuration).
</Tip>


## OpenAPI

````yaml api/openapi/video/kling/post-video-extension.openapi.json POST /kling/v1/videos/video-extend
openapi: 3.1.0
info:
  title: Video Extension API
  version: 1.0.0
servers:
  - url: https://api.cometapi.com
security:
  - bearerAuth: []
paths:
  /kling/v1/videos/video-extend:
    post:
      summary: Video Extension
      description: Only videos from supported generation types can be extended.
      operationId: video_extension
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - video_id
                - task_id
              properties:
                task_id:
                  type: string
                  description: >-
                    Parent Kling task id for the extension-compatible video
                    being extended.
                video_id:
                  type: string
                  description: >-
                    Video id from a parent task result. The source video must be
                    extension-compatible; unsupported videos return HTTP 400.
                prompt:
                  type: string
                  description: >-
                    Text prompt describing the desired motion for the extended
                    segment. Maximum 500 characters.
                callback_url:
                  type: string
                  description: >-
                    Webhook URL to receive task status updates when the task
                    completes.
                negative_prompt:
                  type: string
                  description: Elements to avoid in the extension.
                cfg_scale:
                  type: number
                  description: 'Prompt adherence strength for the extension. Range: 0-1.'
              default:
                task_id: <parent_task_id>
                video_id: <video_id>
                prompt: Continue with the same calm morning atmosphere
                cfg_scale: 0.5
            examples:
              Default:
                summary: >-
                  Video extension request with an extension-compatible parent
                  task
                value:
                  task_id: <parent_task_id>
                  video_id: <video_id>
                  prompt: Continue with the same calm morning atmosphere
                  cfg_scale: 0.5
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                required:
                  - code
                  - message
                  - request_id
                  - data
                properties:
                  code:
                    type: integer
                    description: Error code; specifically define the error code
                  message:
                    type: string
                    description: error message
                  request_id:
                    type: string
                    description: >-
                      Request ID, system-generated, for tracking requests,
                      troubleshooting issues
                  data:
                    type: object
                    required:
                      - task_id
                      - task_status
                      - task_status_msg
                      - task_info
                      - task_result
                      - created_at
                      - updated_at
                    properties:
                      task_id:
                        type: string
                        description: Task ID, system generated
                      task_status:
                        type: string
                        description: >-
                          Task status, enumerated values: submitted, processing,
                          succeed, failed.
                      task_status_msg:
                        type: string
                      task_info:
                        type: object
                        required:
                          - parent_video
                        properties:
                          parent_video:
                            type: object
                            required:
                              - id
                              - url
                              - duration
                            properties:
                              id:
                                type: string
                              url:
                                type: string
                              duration:
                                type: string
                      task_result:
                        type: object
                        required:
                          - videos
                        properties:
                          videos:
                            type: array
                            items:
                              type: object
                              properties:
                                id:
                                  type: string
                                url:
                                  type: string
                                duration:
                                  type: string
                      created_at:
                        type: integer
                        description: Task creation time, Unix timestamp, in ms.
                      updated_at:
                        type: integer
                        description: Task update time, Unix timestamp, in ms.
      x-codeSamples:
        - lang: Shell
          label: Default
          source: |
            curl https://api.cometapi.com/kling/v1/videos/video-extend \
              -H "Authorization: Bearer $COMETAPI_KEY" \
              -H "Content-Type: application/json" \
              -d '{
                  "task_id": "<parent_task_id>",
                  "video_id": "<video_id>",
                  "prompt": "Continue with the same calm morning atmosphere",
                  "cfg_scale": 0.5
                }'
        - lang: Python
          label: Default
          source: |
            import os
            import requests

            response = requests.post(
                "https://api.cometapi.com/kling/v1/videos/video-extend",
                headers={"Authorization": "Bearer " + os.environ["COMETAPI_KEY"]},
                json={
                  "task_id": "<parent_task_id>",
                  "video_id": "<video_id>",
                  "prompt": "Continue with the same calm morning atmosphere",
                  "cfg_scale": 0.5
                },
            )

            result = response.json()
            print(result.get("code"), result.get("data", {}).get("task_id"))
        - lang: JavaScript
          label: Default
          source: >
            const response = await
            fetch("https://api.cometapi.com/kling/v1/videos/video-extend", {
              method: "POST",
              headers: {
                Authorization: `Bearer ${process.env.COMETAPI_KEY}`,
                "Content-Type": "application/json",
              },
              body: JSON.stringify({
                "task_id": "<parent_task_id>",
                "video_id": "<video_id>",
                "prompt": "Continue with the same calm morning atmosphere",
                "cfg_scale": 0.5
              }),
            });


            const result = await response.json();

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

````