Source: https://ailoot.ai/models/ko/kwaivgi-kling-video-o1/
Canonical: https://ailoot.ai/models/ko/kwaivgi-kling-video-o1/
Language: ko

# Kling: Video O1

[Markdown](https://ailoot.ai/models/ko/kwaivgi-kling-video-o1/index.md) · [JSON](https://ailoot.ai/models/ko/kwaivgi-kling-video-o1/facts.json)

## [Kling: Video O1](https://ailoot.ai/models/ko/kwaivgi-kling-video-o1/)

Kling VIDEO O1은 텍스트, 이미지, 피사체 요소와 원본 클립으로 장면을 생성·편집하는 Kuaishou의 참조 기반 영상 모델입니다. 3–10초 생성 프로파일을 활용해 시각적 연속성을 유지하고 프레임 전환을 안내하거나 기존 영상의 특정 부분을 바꿀 수 있습니다.

- [**Ailoot Ultra · 동영상** `POST /v1/videos` `kwaivgi/kling-video-o1`](https://ailoot.ai/models/ko/kwaivgi-kling-video-o1/#method-0)

모델 소개

이 설명은 모델의 기능을 다룹니다. Ailoot에서 사용할 수 있는 입력, 출력 및 옵션은 아래에 선택한 메서드별로 표시됩니다.

Kling VIDEO O1은 Kuaishou의 통합 참조 기반 영상 모델입니다. 텍스트 설명에 이미지, 준비된 피사체 요소 또는 원본 영상을 결합해 새 장면과 기존 영상의 특정 변경을 안내합니다. 핵심 인터페이스는 시각적 기획입니다. 참조 자료를 식별하고 역할을 설명하며 결과 영상에서 원하는 외형, 동작이나 변환을 명시하세요.

새 숏은 텍스트, 시작 이미지 또는 여러 시각적 참조에서 시작할 수 있습니다. 이미지로 캐릭터나 물체를 정하고 배경, 동작과 시점을 말로 설명하세요. 여러 참조가 다른 특징을 제공할 때는 역할을 명시적으로 배정합니다. 직접 만든 제품 기획에서는 한 이미지의 물체와 다른 이미지의 환경을 가져온 뒤 그 배경 안에서의 물체 움직임을 설명할 수 있습니다.

O1 프롬프트는 \<\<\<image\_1\>\>\> 또는 \<\<\<video\_1\>\>\> 같은 특정 참조 마커로 이미지, 요소와 영상을 지칭할 수 있습니다. 마커를 실제 제공 에셋과 연결하고 무엇을 가져와야 하는지 설명하세요. 제작사의 프롬프트 허용량은 2,500자입니다. 무관한 스타일 용어의 모음보다 피사체와 변경을 식별하는 간결한 지시가 유용합니다.

영상 입력이 없는 이미지 기반 참조의 문서상 합산 한도는 참조 이미지와 다중 이미지 요소를 합쳐 최대 7개입니다. 참조 영상이 있으면 이미지·요소 한도는 4개입니다. 이 제한은 이미지 기반 요소에 적용되며 다른 요소 유형은 별도 호환 규칙을 따릅니다. 중복 시점으로 한도를 채우기보다 핵심 외형이나 장면 정보를 제공하는 자료를 선택하세요.

이미지 입력은 접근 가능한 URL 또는 이미지 데이터로 제공하는 JPG, JPEG, PNG를 사용하며 최대 10MB, 최소 300픽셀 크기, 1:2.5–2.5:1 화면비입니다. 피사체를 선명하게 준비하고 크롭에서 중요한 디테일을 유지하세요. 캐릭터나 제품을 알아볼 수 있게 유지해야 한다면 어떤 특징을 보존할지 명시하고 완성 클립 전체에서 확인합니다.

시작·끝 프레임은 시각적 경계 사이의 전환을 조건화합니다. 문서상 O1 경계 프레임 워크플로는 끝 프레임을 제공할 때 시작 프레임도 요구하며, 배열에 이미지가 2개를 넘으면 시작·끝 프레임 제어를 지원하지 않습니다. 두 경계 프레임을 함께 쓰는 O1 설정에는 추가 피사체 요소가 포함되지 않습니다. 프레임 제어 작업은 제공 기본 영상의 편집과 구분하세요.

원본 영상에는 서로 다른 두 역할이 있습니다. 기본 클립일 때는 편집할 영상으로, 유지할 내용을 밝히며 특정 추가, 제거, 스타일 처리나 구도 변경을 지시합니다. 편집은 입력 클립 길이를 따르며 이 기본 영상 작업에 경계 프레임 제어나 다중 숏 생성을 결합하지 않습니다. 특징 참조일 때는 새 숏에 내용, 스타일이나 카메라 정보를 제공합니다.

참조 영상 프롬프트는 앞서거나 뒤따르는 숏도 요청할 수 있습니다. 원본 클립을 식별하고 피사체 동작의 이어짐이나 주변 환경 공개처럼 새로 보일 사건을 설명하세요. 이는 참조를 통해 시각적 정보를 전달하는 방식입니다. 새 구간을 원본과 조합하기 전에 연결부와 피사체 연속성을 검토합니다.

제작사의 영상 입력 프로파일은 최소 3초, 최대 200MB의 MP4 또는 MOV 원본 1개를 받습니다. 상세 입력 프로파일은 720–2160픽셀 크기, 24–60fps 프레임 속도, 1:2.5–2.5:1 입력 화면비를 명시합니다. 이 문서상 원본 영상 워크플로는 24fps 영상을 반환합니다. 정확한 허용 클립 길이는 선택한 모델 프로파일에도 달려 있습니다. O1 신규 생성 범위는 3–10초로 이후 3.0 Omni의 길이 범위와 구별됩니다.

제작사의 O1 모드는 720p Standard 또는 1080p Pro 출력을 제공합니다. 선택 워크플로가 해당 제어를 쓰면 새 숏 구도에서 문서화된 가로·세로·정사각형을 지원하며, 기본 영상 편집은 원본 구도를 따릅니다. 원본 영상 오디오는 유지하거나 버릴 수 있습니다. O1 참조·편집 워크플로는 이후 3.0 Omni의 네이티브 오디오 및 사용자 지정 스토리보드 프로파일과 구분해야 합니다.

생성은 작업으로 처리되며 완료 결과에 영상 에셋과 실제 길이가 포함됩니다. 제작사의 결과 문서는 생성 영상을 30일 후 삭제한다고 하므로 완성 클립을 즉시 저장하세요. 원본 에셋과 기획을 결과와 함께 보관한 뒤 요청 변경, 참조 활용과 연속성을 검토합니다. 편집에서는 영향을 받은 영역과 유지할 부분을 비교합니다. 참조 기반 새 숏에서는 각 에셋이 의도한 시각 정보를 제공했는지 확인하세요. 완성 클립을 후속 편집이나 제작 시퀀스에 사용할 수 있게 보관합니다.

**Ailoot Ultra · 동영상** `POST /v1/videos` `kwaivgi/kling-video-o1`

[`kwaivgi/kling-video-o1`](https://ailoot.ai/models/ko/#m=kwaivgi%2Fkling-video-o1&route=Ultra&caller=kwaivgi%2Fkling-video-o1&fmt=videos)

Kuaishou /`kwaivgi/kling-video-o1`

### 시작하기

Kling VIDEO O1은 텍스트, 이미지, 피사체 요소와 원본 클립으로 장면을 생성·편집하는 Kuaishou의 참조 기반 영상 모델입니다. 3–10초 생성 프로파일을 활용해 시각적 연속성을 유지하고 프레임 전환을 안내하거나 기존 영상의 특정 부분을 바꿀 수 있습니다.

허용 입력

텍스트 · 이미지

결과

동영상

### Ailoot에서 사용 가능 · 입력 및 메서드

**Ailoot Ultra · 동영상** `POST /v1/videos`

입력

`text`, `image`

출력

`video`

출력 형식

원본 MP4 바이트(정규화·트랜스코딩 없음)

| 필드 | 유형 | 요건 | 값과 한도 | 기본값 |
| --- | --- | --- | --- | --- |
| 필드`model` | 유형`string` | 요건필수 | 값과 한도 kwaivgi/kling-video-o1 | 기본값— |
| 필드`prompt` | 유형`string` | 요건필수 | 값과 한도 | 기본값— |
| 필드`duration` | 유형`integer` | 요건필수 | 값과 한도 5, 10 최솟값: 1 최댓값: 600 | 기본값— |
| 필드`resolution` | 유형`string` | 요건선택 사항 | 값과 한도 720p | 기본값— |
| 필드`aspect_ratio` | 유형`string` | 요건선택 사항 | 값과 한도 16:9, 9:16, 1:1 | 기본값— |
| 필드`generate_audio` | 유형`boolean` | 요건선택 사항 | 값과 한도 false, true | 기본값— |
| 필드`frame_images` | 유형`array` | 요건선택 사항 | 값과 한도 최소 항목 수: 1 최대 항목 수: 2 입력 콘텐츠: 프레임 객체 배열입니다. 각 객체에는 type=image\_url, url을 포함하는 image\_url 및 frame\_type이 있습니다. HTTPS 이미지 URL을 사용하고 frame\_type을 first\_frame 또는 last\_frame으로 설정하세요. 각 프레임 역할은 최대 한 번만 나타날 수 있습니다. 정확한 키: type, image\_url, frame\_type 조건: 이 키는 각 프레임 객체를 설명합니다. image\_url에는 url만 포함됩니다. 텍스트만 사용하는 요청에서는 frame\_images를 생략하세요. | 기본값— |
| 필드`input_references` | 유형`array` | 요건선택 사항 | 값과 한도 | 기본값— |
| 필드`size` | 유형`string` | 요건선택 사항 | 값과 한도 1280x720, 720x1280, 720x720 패턴: ^\[1-9\]\[0-9\]\*x\[1-9\]\[0-9\]\*$ | 기본값— |
| 필드`callback_url` | 유형`string` | 요건선택 사항 | 값과 한도 패턴: ^https:// | 기본값— |
| 필드`session_id` | 유형`string` | 요건선택 사항 | 값과 한도 | 기본값— |
| 필드`trace` | 유형`object` | 요건선택 사항 | 값과 한도 | 기본값— |
| 필드`user` | 유형`string` | 요건선택 사항 | 값과 한도 | 기본값— |

입력 자료 조합

**텍스트로 동영상 생성** · 작성한 프롬프트입니다. · 필수: model, prompt, duration

`prompt는 텍스트로, duration은 정수 단위 초로 제공하세요. 지원되는 해상도를 선택하고 화면 비율을 추가하거나 나열된 크기를 사용하세요.`

`model`: 유형: string · kwaivgi/kling-video-o1

`prompt`: 유형: string · 최대 UTF-8 바이트 수: 10,000 · 공백이 아닌 문자 필수: 예

**이미지로 동영상 생성** · 작성한 프롬프트와 첫 프레임 이미지입니다. · 필수: model, prompt, duration, frame\_images

`frame_images는 배열입니다. 각 프레임 객체에는 type, image_url, frame_type이 있으며, image_url에는 url이 포함됩니다. type을 image_url로 설정하세요. first_frame을 사용하고 필요하면 last_frame을 지정하세요. 각 프레임 역할은 최대 한 번만 나타날 수 있습니다. 각 프레임에 공개 HTTPS 이미지 URL을 제공하세요. 지원되는 해상도를 선택하고 화면 비율을 추가하거나 나열된 크기를 사용하세요.`

정확한 키: type, image\_url, frame\_type

`model`: 유형: string · kwaivgi/kling-video-o1

`prompt`: 유형: string · 최대 UTF-8 바이트 수: 10,000 · 공백이 아닌 문자 필수: 예

메서드 매개변수와 수명 주기

| 매개변수 | 명세 |
| --- | --- |
| 매개변수`content_type` | 명세application/json |
| 매개변수`required` | 명세model, prompt, duration |
| 매개변수`material_types` | 명세text, image |
| 매개변수`additional_properties` | 명세false |
| 매개변수`optional_controls` | 명세resolution, aspect\_ratio, generate\_audio, frame\_images, input\_references, size, callback\_url, session\_id, trace, user |

수명 주기: `submit_once_poll_original`

`GET /v1/videos/{public_id}`

`GET /v1/videos/{public_id}/content`

### 요금

##### 최종 요금 계산 방식

표시된 요율은 생성 전 비용을 예상하는 데 사용됩니다. 최종 청구액은 최초 생성에 기록된 비용으로 계산됩니다. 측정된 출력 길이와 예상 수량은 최종 청구 수량이 아닙니다.

요금 정보는 요청 옵션을 추가하지 않습니다. 지원되는 매개변수는 선택한 메서드에 표시됩니다.

빠른 모드

미지정 빠른 모드를 선택한 경우

Flex 모드

미지정 flex 모드를 선택한 경우

최대 추론 수준

미지정 최대 추론 수준에 default 조정값을 적용하는 경우

#### 비교용 예상 요금

#### 설정별 가격

각 요금을 표시된 조건과 대조하세요. 서로 대체되는 설정 묶음마다 하나의 요금만 적용하세요.

| 설정 | 요금표 | 예측 수량 | 과금 단위 | 과금 조건 | 요금 |
| --- | --- | --- | --- | --- | --- |
| 설정기본 토큰 요금 | 요금표기본 요금 | 예측 수량— | 과금 단위— | 과금 조건— | 요금 입력 · 입력 토큰 · 비교 전용 추정치 **—** / 1K 토큰 출력 · 출력 토큰 · 비교 전용 추정치 **—** / 1K 토큰 입력 · 캐시 읽기 · 비교 전용 추정치 **—** / 1K 토큰 입력 · 캐시 쓰기 · 비교 전용 추정치 **—** / 1K 토큰 입력 · 캐시 쓰기, 1시간 · 비교 전용 추정치 **—** / 1K 토큰 |
| 설정동영상 요금 | 요금표— | 예측 수량— | 과금 단위동영상 초당 | 과금 조건이 가격 키에는 추가 조건이 명시되어 있지 않습니다. | 요금 출력 · 동영상 가격 · 비교 전용 추정치 **$0.224** 동영상 초당 |
| 설정예상 생성 비용 | 요금표— | 예측 수량1회 생성 예상치 | 과금 단위— | 과금 조건— | 요금 출력 · 예상 생성 비용 · 비교 전용 추정치 **$1.12** 생성 전 추정치 이 예상 금액은 추가 요금이나 생성 완료 시 적용되는 고정 요금이 아닙니다. |

Ailoot는 요청 전에 예상 금액을 미리 확보합니다. 결과를 받은 뒤 측정된 사용량을 기준으로 최종 요금을 정산합니다. 스트리밍 정산에는 최종 사용량 기록을 사용합니다. [금액 확보와 정산 방식 →](https://ailoot.ai/docs/ko/billing/reserve/)

#### 참조 요금 상세 정보

모델 수준의 참조 요금표는 메서드 선택, 견적 또는 요금을 변경하지 않습니다. 실제 과금에는 선택한 Ailoot 메서드 요금이 적용됩니다.

동영상 설정별 요금 참조

#### 설정별 가격

| 설정 | 과금 조건 | 요금 |
| --- | --- | --- |
| 설정동영상 요금 | 과금 조건이 가격 키에는 추가 조건이 명시되어 있지 않습니다. | 요금 출력 · 동영상 가격 **$0.224** 동영상 초당 표시된 구성의 공개 가격 참고값입니다. 최종 요금은 실제 청구된 구성을 따릅니다. |

### 요청 예제

#### Ailoot Ultra · 동영상

curl · 동영상 생성

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
from pathlib import Path
Path('request.json').write_text('{"aspect_ratio":"16:9","duration":5,"model":"kwaivgi/kling-video-o1","prompt":"A serene mountain landscape at sunset","resolution":"720p"}', encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('result.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
```

### 결과 수신 및 저장

#### Ailoot Ultra · 동영상

소유한 콘텐츠의 서명된 URL

- `GET /v1/videos/{public_id}`
- `GET /v1/videos/{public_id}/content`

##### 작업 상태 확인

GET · 원래 작업의 상태 조회

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
```

기타 콘텐츠 조회

완료된 내 소유 출력 모두 저장

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path('status.json').read_text())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
    if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
    urls.append((str(i),u))
for label,path in urls:
    u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
    if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
    target=Path('owned-'+label+'.bin')
    subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
```

##### 완료된 결과 모두 보관

완료된 모든 동영상과 반환된 파일을 저장하고, 실제로 반환된 모든 자산 URL에서 가져오세요.

실제로 소유한 모든 출력과 함께 반환된 측정 메타데이터를 보존하세요.

##### 원래 응답을 확인해야 할 경우

503 result\_pending\_check + 원래 id + X-Should-Retry:false; 원래 요청을 절대로 재전송하지 마세요.

응답 필드

| 필드 | 유형 | 의미 |
| --- | --- | --- |
| 필드`index` | 유형integer | 의미출력 목록에서 이 동영상의 영부터 시작하는 위치입니다. |
| 필드`content_url` | 유형string | 의미완료된 이 동영상의 서명된 HTTPS 다운로드 URL입니다. |
| 필드`sha256` | 유형string \| null | 의미원본 동영상 바이트의 SHA-256 다이제스트입니다. 확인할 수 없으면 null입니다. |
| 필드`size_bytes` | 유형integer \| null | 의미바이트 단위 원본 동영상 파일 크기입니다. 확인할 수 없으면 null입니다. |
| 필드`duration_ms` | 유형integer \| null | 의미밀리초 단위로 측정한 동영상 길이입니다. 확인할 수 없으면 null입니다. |
| 필드`width` | 유형integer \| null | 의미픽셀 단위 동영상 너비입니다. 확인할 수 없으면 null입니다. |
| 필드`height` | 유형integer \| null | 의미픽셀 단위 동영상 높이입니다. 확인할 수 없으면 null입니다. |
| 필드`video_codec` | 유형string \| null | 의미동영상 코덱 식별자입니다. 기록되지 않았으면 null입니다. |
| 필드`has_audio` | 유형boolean \| null | 의미동영상에 오디오 트랙이 포함되어 있는지 나타냅니다. 측정하지 않았으면 null입니다. |
| 필드`audio_codec` | 유형string \| null | 의미오디오 코덱 식별자입니다. 식별자가 기록되지 않았으면 null입니다. |

오류와 다음 단계

| 응답 | 조건 | 다음 단계 |
| --- | --- | --- |
| 응답404 · `not_found_error` | 조건동영상에 접근할 수 없거나 해당 동영상 ID를 찾지 못했습니다. | 다음 단계동영상 접근 권한을 확인하세요. 기존 동영상에는 원래 공개 ID와 동일한 API 키를 사용하세요. |
| 응답401 · `authentication_error` | 조건API 키가 인증된 계정과 일치하지 않습니다. | 다음 단계제출 전에 API 키와 계정 접근 권한을 확인하세요. |
| 응답400 · `invalid_request_error` | 조건요청을 읽을 수 없거나 다운로드 인덱스가 유효하지 않습니다. | 다음 단계요청 본문을 수정하세요. 다운로드할 때는 원래 작업에서 반환된 출력 인덱스를 선택하세요. |
| 응답422 · `price_unavailable` | 조건선택한 동영상 설정의 요금을 계산할 수 없습니다. | 다음 단계지원되는 동영상 설정을 선택하고 필수 옵션을 모두 지정한 뒤 수정된 요청을 제출하세요. |
| 응답422 · `invalid_request_error` | 조건동영상 입력 또는 원래 이어 만들기 작업이 유효하지 않습니다. | 다음 단계유효한 HTTPS 입력을 사용하세요. 이어 만들기에는 동일한 API 키로 완료된 원본의 공개 동영상 ID를 사용하세요. |
| 응답402 · `billing_error` | 조건사용 가능한 잔액 또는 한도로는 예약할 수 없습니다. | 다음 단계새 요청을 전송하기 전에 사용 가능한 잔액과 한도를 확인하세요. |
| 응답503 · `server_error` | 조건동영상 검증, 저장소 또는 서비스 접근을 일시적으로 사용할 수 없습니다. | 다음 단계서비스를 사용할 수 있을 때까지 기다리세요. 이미 동영상 ID가 있으면 새로 생성하지 말고 해당 원래 작업을 확인하세요. |
| 응답503 · `result_pending_check` | 조건원래 동영상 결과와 청구액을 확인해야 합니다. | 다음 단계반환된 동영상 ID를 보존하고 해당 작업을 확인하세요. 확인 중에는 대체 생성 요청을 전송하지 마세요. |
| 응답503 · `owned_result_unavailable` | 조건기존 동영상 다운로드를 일시적으로 사용할 수 없습니다. | 다음 단계나중에 동일한 동영상 작업을 확인하고 기존 출력을 다운로드하세요. 새로 생성하면 별도의 작업이 만들어집니다. |
| 응답409 · `video_not_ready` | 조건동영상 콘텐츠가 게시되지 않았습니다. | 다음 단계원래 작업 상태를 확인하세요. completed를 보고하면 다운로드하고, failed를 보고하면 청구 확인 안내를 따르세요. |

### 별칭

#### 모델 별칭

**Ailoot Ultra** [`kwaivgi/kling-video-o1`](https://ailoot.ai/models/ko/#m=kwaivgi%2Fkling-video-o1&route=Ultra&caller=kwaivgi%2Fkling-video-o1&fmt=videos)

#### 메서드 경로 별칭

위에 표시된 메서드 경로를 사용하세요.

#### 관련 호출용 ID

[`kwaivgi/kling-video-o1`](https://ailoot.ai/models/ko/#m=kwaivgi%2Fkling-video-o1&route=Ultra&caller=kwaivgi%2Fkling-video-o1&fmt=videos)

FAQ · Kling: Video O1

어떤 입력과 결과를 사용할 수 있나요?

`POST /v1/videos` · `kwaivgi/kling-video-o1`: `text`, `image` → `video`

요청은 어떤 필드를 사용하나요?

`POST /v1/videos` · `kwaivgi/kling-video-o1`: `model`, `prompt`, `duration`, `resolution`, `aspect_ratio`, `generate_audio`, `frame_images`, `input_references`, `size`, `callback_url`, `session_id`, `trace`, `user`

어떤 제한이 적용되나요?

`POST /v1/videos` · `kwaivgi/kling-video-o1`: `duration.minimum`: `1`; `duration.maximum`: `600`; `frame_images.max_items`: `2`; `frame_images.min_items`: `1`

Claude Code, OpenCode, Hermes, 자체 앱에 Ailoot를 연결하세요.

## 회사와 그 프로젝트 포트폴리오

회사와 그 프로젝트 포트폴리오: 수백만 고객, 매월 수십억 규모의 매출.

## 할인받아 토큰을 구매하세요.

정기 작업에는 구독 할인, 토큰 구매에는 최대 50% 프로모션 코드.

구독

정기 요청에 맞는 할인 요금제를 선택하세요.

최대 50% 프로모션 코드

구매할 때 코드를 넣으면 진행 중 행사에 따라 가격을 다시 계산합니다.

이력의 지출

요청마다 모델, 토큰, 금액을 저장합니다.

[구독 선택](https://ailoot.ai/docs/ko/billing/subscriptions/) · [모델 가격 보기](https://ailoot.ai/models/ko/)

## 판매하는 제품에 API를 연결하세요.

Ailoot 공식 이용 조건과 라이선스 계약으로 SaaS, 앱, 봇에 사용하세요. 재판매에는 리셀러 라이선스를 요청하세요.

상업용 앱

서비스의 유료 기능에 텍스트, 이미지, 영상, 소리 생성을 넣으세요.

리셀러 라이선스

프로젝트 설명과 접근 구조를 보내 사용·재판매의 서면 조건을 요청하세요.

사이트의 문서

연결 전에 공식 이용 조건, 라이선스 계약, 데이터 처리 정책을 읽을 수 있습니다.

[리셀러 라이선스 요청](mailto:support@ailoot.ai) · [공식 이용 조건과 라이선스 계약](https://ailoot.ai/legal/offer?lang=ko)

## Ailoot · 회사와 그 프로젝트 포트폴리오





Ailoot는 축적된 운영 경험, 폭넓은 고객 기반, 안정적인 서비스, 지속적인 KPI 관리를 바탕으로 합니다.





회사와 그 프로젝트 포트폴리오: 수백만 고객, 매월 수십억 규모의 매출.





Ailoot는 이러한 운영 경험을 고객의 제품, 에이전트, 애플리케이션, 자동화에서 AI 기능을 이용할 수 있는 API 접근에 활용합니다.
