Hailuo 2.3 Fast
MiniMax Hailuo 2.3 Fast는 짧은 움직임 프롬프트로 첫 프레임 이미지를 움직입니다. 제품 숏, 캐릭터 포즈나 스토리보드 정지 이미지에 이 이미지-비디오 프로파일을 선택하세요.
모델 소개
이 설명은 모델의 기능을 다룹니다. Ailoot에서 사용할 수 있는 입력, 출력 및 옵션은 아래에 선택한 메서드별로 표시됩니다.
MiniMax Hailuo 2.3 Fast는 이미지-비디오 생성용으로 Fast라는 이름을 붙인 프로파일입니다. 구도를 갖춘 첫 프레임 이미지에서 시작하고 피사체나 카메라가 어떻게 움직일지 설명하세요. 제품 정지 이미지, 캐릭터 포즈나 스토리보드 프레임은 숏에 구체적인 시각적 출발점을 줍니다.
이미지와 움직임 기획 준비
각 변 300–4,096픽셀의 정사각형 PNG 또는 JPEG 이미지를 HTTPS URL로 제공하세요. 다운로드된 이미지 파일은 20,000,000바이트 이하여야 합니다. 프롬프트는 1–199자로 유지하며 눈에 보이는 동작 하나와 숏에 중요한 움직임에 집중합니다.
클립 완료까지 추적
이 프로파일은 명목상 6초 길이의 768 × 768 MP4 클립 하나로 설정되어 있습니다. 요청을 한 번 제출하고 반환 ID를 저장한 뒤 원래 요청을 완료까지 추적하세요. 반환 영상을 다운로드하고 보고된 크기·측정 길이를 결과와 함께 보관합니다. 생성 결과가 불확실하다면 다시 만들지 말고 원래 요청을 계속 확인하세요.
Ailoot Ultra · 동영상 POST /v1/videos MiniMax-Hailuo-2.3-Fast
MiniMax-Hailuo-2.3-Fast시작하기
MiniMax Hailuo 2.3 Fast는 짧은 움직임 프롬프트로 첫 프레임 이미지를 움직입니다. 제품 숏, 캐릭터 포즈나 스토리보드 정지 이미지에 이 이미지-비디오 프로파일을 선택하세요.
- 허용 입력
- 텍스트 · 이미지
- 결과
- 동영상
Ailoot에서 사용 가능 · 입력 및 메서드
Ailoot Ultra · 동영상 POST /v1/videos
- 입력
text,image- 출력
video- 출력 형식
- mp4
- 출력 수
- 최대 1 출력
| 필드 | 유형 | 요건 | 값과 한도 | 기본값 |
|---|---|---|---|---|
필드model | 유형string | 요건필수 | 값과 한도 MiniMax-Hailuo-2.3-Fast | 기본값— |
필드prompt | 유형string | 요건필수 | 값과 한도 최소 길이: 1 최대 길이: 199 단위: Unicode 문자 | 기본값— |
필드duration | 유형integer | 요건필수 | 값과 한도 6 단위: 초 | 기본값— |
필드resolution | 유형string | 요건필수 | 값과 한도 768P | 기본값— |
필드first_frame_image | 유형https_url | 요건필수 | 값과 한도 최대 파일 바이트 수: 20,000,000 MIME 유형: image/png, image/jpeg 최소 치수: 300 최대 치수: 4,096 정사각형만 허용: 예 | 기본값— |
입력 자료 조합
이미지로 동영상 생성 · 필수: prompt, first_frame_image
메서드 매개변수와 수명 주기
| 매개변수 | 명세 |
|---|---|
매개변수content_type | 명세application/json |
매개변수required | 명세model, prompt, duration, resolution, first_frame_image |
매개변수other_options | 명세false |
매개변수duration | 명세6 |
매개변수resolution | 명세768P |
매개변수prompt_max_characters | 명세199 |
매개변수first_frame_image | 명세{"type":"https_url","format":["png","jpeg"],"dimensions":"300..4096픽셀 정사각형","full_image_validation_before_send":true,"maximum_file_bytes":20000000} |
매개변수material_types | 명세text, image |
매개변수additional_properties | 명세false |
메서드 별칭: /v1/videos/generations, /videos, /videos/generations
수명 주기: submit_once_poll_original
GET /v1/videos/{request_id}
GET /v1/videos/generations/{request_id}
GET /v1/videos/{request_id}/content
GET /v1/videos/generations/{request_id}/content
한 번 생성하고 반환된 ID를 저장하세요.
원래 상태를 폴링하세요. 완료된 모든 자산과 길이를 보존하세요.
요금
요금 정보는 요청 옵션을 추가하지 않습니다. 지원되는 매개변수는 선택한 메서드에 표시됩니다.
- 빠른 모드
- 미지정 빠른 모드를 선택한 경우
- Flex 모드
- 미지정 flex 모드를 선택한 경우
- 최대 추론 수준
- 미지정 최대 추론 수준에 default 조정값을 적용하는 경우
Ailoot 요금
설정별 가격
각 요금을 표시된 조건과 대조하세요. 서로 대체되는 설정 묶음마다 하나의 요금만 적용하세요.
| 설정 | 요금표 | 클립 명목 길이(초) | 해상도 | 과금 단위 | 요금 |
|---|---|---|---|---|---|
| 설정기본 토큰 요금 | 요금표기본 요금 | 클립 명목 길이(초)— | 해상도— | 과금 단위— | 요금 입력 · 입력 토큰 — / 1K 토큰 출력 · 출력 토큰 — / 1K 토큰 입력 · 캐시 읽기 — / 1K 토큰 입력 · 캐시 쓰기 — / 1K 토큰 입력 · 캐시 쓰기, 1시간 — / 1K 토큰 |
| 설정Ultra | 요금표— | 클립 명목 길이(초)6 | 해상도768P | 과금 단위명목 길이 6s 출력 클립당 | 요금 출력 · 공칭 길이 6s의 출력 클립 $0.4 명목 길이 6s 출력 클립당 |
Ailoot는 요청 전에 예상 금액을 미리 확보합니다. 결과를 받은 뒤 측정된 사용량을 기준으로 최종 요금을 정산합니다. 스트리밍 정산에는 최종 사용량 기록을 사용합니다. 금액 확보와 정산 방식 →
참조 요금 상세 정보
모델 수준의 참조 요금표는 메서드 선택, 견적 또는 요금을 변경하지 않습니다. 실제 과금에는 선택한 Ailoot 메서드 요금이 적용됩니다.
MiniMax-Hailuo-2.3-Fast
설정별 가격
| 설정 | 과금 조건 | 요금 |
|---|---|---|
| 설정MiniMax-Hailuo-2.3-Fast · 기본 설정 | 과금 조건기본 설정 | 요금 입력 · 입력 US$0.00 호출당 출력 · 출력 US$0.40 호출당 |
MiniMax-Hailuo-2.3-Fast
설정별 가격
| 설정 | 과금 조건 | 요금 |
|---|---|---|
| 설정MiniMax-Hailuo-2.3-Fast · 기본 설정 | 과금 조건기본 설정 | 요금 입력 · 입력 US$0.00 호출당 출력 · 출력 US$0.80 호출당 |
MiniMax-Hailuo-2.3-Fast
설정별 가격
| 설정 | 과금 조건 | 요금 |
|---|---|---|
| 설정MiniMax-Hailuo-2.3-Fast · 기본 설정 | 과금 조건기본 설정 | 요금 입력 · 입력 US$0.00 호출당 출력 · 출력 US$0.80 호출당 |
요청 예제
Ailoot Ultra · 동영상
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_IMAGE_URL:?Set the actual HTTPS first-frame image URL}"
export AILOOT_IMAGE_URL
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "MiniMax-Hailuo-2.3-Fast", "prompt": "A cat in a spacesuit walking on the Moon", "duration": 6, "resolution": "768P"}')
from urllib.parse import urlsplit
u=os.environ["AILOOT_IMAGE_URL"]
z=urlsplit(u)
if z.scheme!="https" or not z.netloc or z.username or z.password:raise SystemExit("Choose the actual HTTPS first-frame image URL")
p["first_frame_image"]=u
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
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
결과 수신 및 저장
Ailoot Ultra · 동영상
mp4
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
작업 상태 확인
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
기타 콘텐츠 조회
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에서 가져오세요.
완료된 data[]에는 소유한 모든 서명된 콘텐츠 URL이 포함됩니다. 반환된 각 URL을 가져오거나 index를 실제 출력 인덱스로 지정해 콘텐츠 엔드포인트를 사용하세요. 실패한 원래 작업은 charge_pending_check를 반환할 수 있습니다. 다시 생성하지 말고 해당 원래 작업을 확인하세요.
원래 응답을 확인해야 할 경우
기존 원래 작업을 조회하세요. 전송 결과를 알 수 없는 요청을 절대로 다시 제출하지 마세요.
최대 출력 수: 1.
응답 필드
| 필드 | 유형 | 의미 |
|---|---|---|
필드id | 유형string | 의미— |
필드object | 유형string | 의미— |
필드model | 유형string | 의미— |
필드status | 유형string | 의미— |
필드data[] | 유형signed content URL | 의미— |
필드charge_pending_check | 유형boolean | 의미— |
필드error.code | 유형string | 의미— |
필드error.message | 유형string | 의미— |
필드requested_nominal_duration_seconds | 유형integer | 의미— |
필드measured_duration_seconds | 유형number | 의미— |
필드width | 유형integer | 의미— |
필드height | 유형integer | 의미— |
필드operation_id | 유형string | 의미status=unknown일 때 반환됩니다. 실제 원래 공개 동영상 작업 ID입니다. |
필드request_id | 유형string | 의미status=unknown일 때 선택 사항입니다. 원래 작업에 요청 ID가 있는 경우에만 반환됩니다. |
오류와 다음 단계
| 응답 | 조건 | 다음 단계 |
|---|---|---|
응답400 · invalid_request_error | 조건동영상 프로필 파싱 전에 원시 요청 본문 읽기가 실패함 | 다음 단계반환된 응답을 보존하고 읽을 수 없는 요청 본문을 수정하세요. |
응답422 · price_unavailable | 조건정확한 동영상 프로필을 파싱하지 못하거나 완전히 파싱된 프로필에 사용 가능한 정확한 요금표가 없음 | 다음 단계응답을 보존하세요. 허용된 정확한 프로필 전체와 공개된 요금표를 사용하세요. 이 분기는 공급자에게 전송하기 전에 실행됩니다. |
응답409 · video_not_ready | 조건원래 결과 콘텐츠를 아직 사용할 수 없음 | 다음 단계원래 반환된 ID를 폴링하고 Retry-After를 준수하세요. |
응답server_error | 조건반환된 응답에 작업 또는 결과 확인이 필요하다고 표시되어 있습니다 | 다음 단계최초로 반환된 작업/태스크 ID, 요청 헤더와 응답을 보관하고, 지원되는 조회 방식으로 해당 최초 작업을 계속 조회하세요. 생성 요청을 다시 제출하지 마세요. |
응답200 · video_result_unverified | 조건원래 Fast 작업 상태를 알 수 없습니다. status=unknown 및 charge_pending_check=true입니다. | 다음 단계실제로 반환된 id/operation_id와 선택 사항인 request_id를 보존하세요. 원래 작업만 조회하세요. 절대로 다시 제출하지 마세요. |
별칭
모델 별칭
Ailoot Ultra MiniMax-Hailuo-2.3-Fast
메서드 경로 별칭
/v1/videos/generations, /videos, /videos/generations
관련 호출용 ID
FAQ · Hailuo 2.3 Fast
- 어떤 입력과 결과를 사용할 수 있나요?
POST /v1/videos·MiniMax-Hailuo-2.3-Fast:text,image→video- 요청은 어떤 필드를 사용하나요?
POST /v1/videos·MiniMax-Hailuo-2.3-Fast:model,prompt,duration,resolution,first_frame_image- 어떤 제한이 적용되나요?
POST /v1/videos·MiniMax-Hailuo-2.3-Fast:prompt.maximum_length:199