메인 콘텐츠로 건너뛰기
POST
/
v1
/
videos
/
generations
curl --request POST \
  --url https://api.apimart.ai/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "kling-v3",
    "prompt": "금빛 고양이가 햇살 가득한 초원을 달리는 모습, 슬로우 모션, 영화적 질감",
    "mode": "std",
    "duration": 5,
    "aspect_ratio": "16:9"
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_xxxxxxxxxx"
    }
  ]
}
curl --request POST \
  --url https://api.apimart.ai/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "kling-v3",
    "prompt": "금빛 고양이가 햇살 가득한 초원을 달리는 모습, 슬로우 모션, 영화적 질감",
    "mode": "std",
    "duration": 5,
    "aspect_ratio": "16:9"
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_xxxxxxxxxx"
    }
  ]
}

인증

Authorization
string
필수
모든 API 엔드포인트는 Bearer Token 인증이 필요합니다API 키 받기:API 키 관리 페이지에서 API 키를 받으세요요청 헤더에 추가:
Authorization: Bearer YOUR_API_KEY

요청 매개변수

model
string
필수
비디오 생성 모델 이름지원 모델:
  • kling-v3 - Kling v3 (권장)
prompt
string
필수
텍스트 프롬프트장면, 동작, 스타일 등을 자세히 설명하면 더 나은 생성 결과를 얻을 수 있습니다. 영어 프롬프트를 권장합니다.예시: "a golden retriever running on the beach, sunset, cinematic"
negative_prompt
string
부정 프롬프트, 원하지 않는 콘텐츠를 제외하는 데 사용예시: "흐림, 저화질, 왜곡"
mode
string
기본값:"std"
생성 모드옵션:
  • std - 표준 모드 (720P)
  • pro - 프로페셔널 모드 (1080P)
  • 4k - 4K 모드
기본값: std
duration
integer
기본값:"5"
기본값: 5 비디오 길이 (초)값 범위: 3-15 (최소 3초, 최대 15초)⚠️ 주의: 순수한 숫자(예: 6)를 입력해야 합니다. 따옴표를 추가하면 오류가 발생합니다
aspect_ratio
string
기본값:"16:9"
비디오 화면 비율옵션:
  • 16:9 - 가로
  • 9:16 - 세로
  • 1:1 - 정사각형
기본값: 16:9
image_urls
array<url>
이미지-비디오 생성을 위한 이미지 URL 배열
  • 1장: 첫 프레임으로 사용
  • 2장: 자동으로 첫 프레임 + 끝 프레임으로 할당
최대 2장까지 지원예시: ["https://example.com/first.jpg"]
  • 최대 2장까지 지원
  • 이미지 URL은 공개적으로 접근 가능해야 하며 핫링크 보호가 없어야 합니다
  • 이미지-비디오 모드에서는 aspect_ratio가 실제 이미지 비율로 대체될 수 있습니다
watermark
boolean
워터마크 추가 여부
audio
boolean
기본값:"false"
오디오가 포함된 비디오를 생성할지 여부
multi_shot
boolean
기본값:"false"
멀티 샷 모드 사용 여부.
  • true
  • false
shot_type
string
분할 방식: customize / intelligence.multi_shot=true일 때 필수입니다.
multi_prompt
array<object>
샷별 정보(프롬프트, 길이 등).index, prompt, duration으로 샷 순서/내용/길이를 정의합니다.
  • 최소 1개, 최대 6개 샷
  • 각 샷 내용 최대 길이 512
  • 각 샷 길이는 1 이상이며 전체 작업 길이를 초과할 수 없음
  • 모든 샷 길이 합은 상위 duration과 같아야 함
형식:
"multi_prompt": [
  { "index": 1, "prompt": "string", "duration": 5 },
  { "index": 2, "prompt": "string", "duration": 5 }
]
multi_shot=true 이고 shot_type=customize일 때 필수입니다.
element_list
array<object>
참조 주체 목록, 최대 3개 주체 지원.
  • name, description, element_input_urls로 현장 생성 가능
예시:
[
  {
    "name": "element_dog",
    "description": "a golden retriever, fluffy fur, friendly expression",
    "element_input_urls": [
      "https://example.com/image1.png",
      "https://example.com/image2.png"
    ]
  },
  {
    "name": "element_cat",
    "description": "an orange tabby cat, round face, bright eyes",
    "element_input_urls": [
      "https://example.com/image1.png",
      "https://example.com/image2.png"
    ]
  }
]
설명:
  • 현장 생성 시 name, description, element_input_urls 필수
  • element_input_urls: 주체당 2~4장(1장은 정면, 나머지는 참조)
  • prompt에서 @name으로 참조, 예: "@element_dog 와 @element_cat 이 잔디에서 뛰어놉니다"

매개변수 제약 및 경계

  • mode=4kkling-v3에서 사용 가능
  • image_urls는 최대 2장(1장: 첫 프레임, 2장: 첫+끝 프레임)
  • 끝 프레임만 단독 전달은 불가(첫 프레임 필수)
  • multi_shot=true일 때 상위 prompt는 생략 가능
  • multi_prompt는 최대 6개 샷, index는 1부터 연속 증가

기능 지원 매트릭스

유형기능std 5초std 10초std 15초pro 5초pro 10초
텍스트-비디오비디오 생성
이미지-비디오비디오 생성
이미지-비디오첫 프레임
이미지-비디오끝 프레임

텍스트-비디오 vs 이미지-비디오

image_urls 전달 여부에 따라 시스템이 자동으로 모드를 판단합니다: 이미지 없음은 텍스트-비디오, 이미지 있음은 이미지-비디오.
매개변수텍스트-비디오이미지-비디오
prompt✅ 필수✅ 필수
image_urls❌ 불필요✅ 필수 (1-2장)
negative_prompt✅ 선택✅ 선택
mode✅ 선택✅ 선택
duration✅ 선택 (3-15)✅ 선택 (3-15)
aspect_ratio✅ 선택⚠️ 이미지 비율로 대체될 수 있음
watermark✅ 선택✅ 선택
audio✅ 선택✅ 선택

응답

code
integer
응답 상태 코드, 성공 시 200
data
array
응답 데이터 배열

사용 시나리오

시나리오 1: 텍스트-비디오 (표준 모드)

{
  "model": "kling-v3",
  "prompt": "a golden retriever running on the beach, sunset, cinematic",
  "mode": "std",
  "duration": 5,
  "aspect_ratio": "16:9"
}

시나리오 2: 텍스트-비디오 (프로 모드 + 부정 프롬프트)

{
  "model": "kling-v3",
  "prompt": "Tokyo Shibuya crossing, rainy night with neon lights reflecting on wet ground, pedestrians with umbrellas",
  "negative_prompt": "흐림, 저화질, 왜곡",
  "mode": "pro",
  "duration": 10,
  "aspect_ratio": "16:9"
}

시나리오 3: 텍스트-비디오 (15초)

{
  "model": "kling-v3",
  "prompt": "a time-lapse of a flower blooming in a garden",
  "duration": 15,
  "aspect_ratio": "16:9"
}

시나리오 4: 이미지-비디오 (첫 프레임)

{
  "model": "kling-v3",
  "prompt": "the cat slowly walks forward and looks around",
  "image_urls": ["https://example.com/cat.jpg"],
  "mode": "std",
  "duration": 5
}

시나리오 5: 이미지-비디오 (첫 + 끝 프레임 제어)

{
  "model": "kling-v3",
  "prompt": "smooth cinematic transition",
  "image_urls": [
    "https://example.com/frame-start.jpg",
    "https://example.com/frame-end.jpg"
  ],
  "mode": "std",
  "duration": 5
}

시나리오 6: 오디오가 포함된 비디오 생성

{
  "model": "kling-v3",
  "prompt": "이 무대에서 노래하는 록 가수, 콘서트 장면, 깜박이는 조명",
  "audio": true,
  "mode": "std",
  "duration": 5
}

사례 7: 멀티 샷 스토리보드(customize, 15초, 세로·오디오 포함)

{
  "model": "kling-v3",
  "multi_prompt": [
    {
      "index": 1,
      "prompt": "Two friends talking under a streetlight at night. Warm glow, casual poses, no dialogue.",
      "duration": 2
    },
    {
      "index": 2,
      "prompt": "A runner sprinting through a forest, leaves flying. Low-angle shot, focus on movement.",
      "duration": 3
    },
    {
      "index": 3,
      "prompt": "A woman hugging a cat, smiling. Soft sunlight, cozy home setting, emphasize warmth.",
      "duration": 3
    },
    {
      "index": 4,
      "prompt": "A door creaking open, shadowy hallway. Dark tones, minimal details, eerie mood.",
      "duration": 3
    },
    {
      "index": 5,
      "prompt": "A man slipping on a banana peel, shocked expression. Exaggerated pose, bright colors.",
      "duration": 3
    },
    {
      "index": 6,
      "prompt": "A sunset over mountains, small figure walking away. Wide angle, peaceful atmosphere.",
      "duration": 1
    }
  ],
  "multi_shot": true,
  "shot_type": "customize",
  "duration": 15,
  "mode": "pro",
  "audio": true,
  "size": "9:16"
}
작업 결과 조회비디오 생성은 비동기 작업으로, 제출 시 task_id가 반환됩니다. 작업 상태 가져오기 엔드포인트를 사용하여 생성 진행 상황과 결과를 조회할 수 있습니다.