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

# Domestic Video Model Generation

> Submit domestic video tasks using `POST /v1/videos`.

# Domestic Video Model Generation

## Method and Path

```http theme={null}
POST /v1/videos
```

## Request Example

<CodeGroup>
  ```bash theme={null}
  curl -X POST https://octopusx.ai/v1/videos \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "Kling-3.0-Omni",
      "prompt": "The camera circles around the building and uses a Hitchcock zoom",
      "seconds": "15",
      "size": "720x1280",
      "metadata": {
        "scene_type": "motion_control",
        "motion_level": "pro",
        "file_infos": [
          {
            "type": "Url",
            "category": "Video",
            "url": "https://example.com/motion-ref.mp4"
          }
        ],
        "output_config": {
          "duration": 15,
          "resolution": "720P",
          "aspect_ratio": "9:16",
          "audio_generation": "Enabled"
        }
      }
    }'
  ```
</CodeGroup>

## Fields

<ParamField body="model" type="string" required>
  Model name. You can pass either a base model directly or a bundled billing model.
</ParamField>

<ParamField body="prompt" type="string" required>
  Prompt.
</ParamField>

<ParamField body="seconds" type="string | integer">
  Duration. The top-level `seconds` has the highest priority.
</ParamField>

<ParamField body="duration" type="integer">
  Duration compatibility field.
</ParamField>

<ParamField body="size" type="string">
  Quick size field, such as `720x1280` or `1280x720`.
</ParamField>

<ParamField body="image" type="string">
  Single reference image or first-frame image.
</ParamField>

<ParamField body="images" type="array<string>">
  Multiple reference images.
</ParamField>

<ParamField body="input_reference" type="string | array<string>">
  Reference image input, compatible with URL, base64, data URI, and file upload.
</ParamField>

<ParamField body="metadata" type="object">
  Extended parameters. Commonly used `metadata.output_config`, `scene_type`, `motion_level`, `offpeak`, `video_url`, `file_infos`, `ext_info`.
</ParamField>

## Scenarios

| Scenario             | Key Fields                                             |
| -------------------- | ------------------------------------------------------ |
| Text-to-video        | `prompt` + `seconds`                                   |
| Image-to-video       | `image` / `images` / `input_reference`                 |
| First and last frame | `image` + `metadata.last_frame_url`                    |
| Motion control       | `metadata.scene_type=motion_control` + video reference |
| Digital human        | `metadata.scene_type=avatar_i2v`                       |
| Lip sync             | `metadata.scene_type=lip_sync`                         |
| Template effects     | `metadata.scene_type=template_effect`                  |

## Rules

* `seconds` / `duration` can be placed at the top level or in `metadata`
* The top-level duration has the highest priority
* `scene_type=motion_control` must provide a video reference
* `scene_type=lip_sync` is counted as 5 seconds if it is less than 5 seconds
* `FileInfos` can contain up to 3 items

## `metadata.output_config`

Common fields:

* `resolution`
* `aspect_ratio`
* `audio_generation`
* `duration`
* `person_generation`
* `input_compliance_check`
* `output_compliance_check`
* `enhance_switch`
* `frame_interpolate`
* `logo_add`

## Related Pages

* [Domestic Video Model Overview](./overview)
* [Domestic Video Model Query](./query)
