SpaceXAI: Grok Imagine Video 1.5 Lite
Grok Imagine Video 1.5 Lite는 글로 쓴 장면이나 시작 이미지에서 오디오가 포함된 짧은 클립을 생성합니다. 1–15초 길이, 가로·세로 구도와 입 모양이 동기화된 음성을 지원합니다. 480p 또는 720p를 직접 선택하거나 720p를 업스케일한 1080p를 사용할 수 있으며, 고급 참조 및 프레임 제어는 정식 1.5 버전에 제공됩니다.
모델 소개
이 설명은 모델의 기능을 다룹니다. Ailoot에서 사용할 수 있는 입력, 출력 및 옵션은 아래에 선택한 메서드별로 표시됩니다.
Grok Imagine Video 1.5 Lite는 Grok Imagine 비디오 제품군의 간소화된 생성 버전입니다. 제조사는 기본적인 텍스트-비디오 및 이미지-비디오 작업에 이 버전을 권장합니다. 글로 쓴 장면을 짧은 클립으로 만들거나, 제공한 정지 이미지를 움직이는 숏의 첫 프레임으로 사용할 수 있습니다. 결과에는 생성된 오디오가 포함되며 이 버전은 입 모양이 동기화된 음성을 지원합니다. 짧은 제품 움직임, 분위기 있는 도입 숏이나 간단한 캐릭터 대사 장면 등에 활용할 수 있습니다.
텍스트-비디오에서는 화면에 무엇이 보이는지, 숏 안에서 어떤 일이 일어나는지, 카메라가 이를 어떻게 관찰해야 하는지 설명하세요. 조명, 속도와 관련 소리도 포함합니다. 제작사에 따르면 Lite는 먼저 프롬프트에서 이미지를 렌더링한 뒤 이를 움직이며, 중간 정지 이미지는 별도 에셋으로 반환되지 않습니다. 실제 준비 과정에서는 짧은 클립에 하나의 명확한 사건과 그 사건이 전개될 충분한 여유를 주세요. 넓은 야외 장면, 제품 디테일 클로즈업, 말하는 인물을 담은 장면은 서로 다른 구도와 움직임 지시가 필요합니다.
예를 들어 조용한 아침 식탁 위 도자기 컵에서 김이 올라오는 동안 카메라가 천천히 다가가고, 부드러운 아침 햇빛과 은은한 실내 환경음이 함께하는 장면을 직접 기획할 수 있습니다. 컵이 알아볼 수 있는 모습으로 유지되는지, 김이 자연스럽게 움직이는지, 카메라가 의도한 방향을 따르는지 확인하는 것이 핵심입니다. 숏을 평가할 때는 이 예시의 움직임을 단순하게 유지하세요. 캐릭터가 말한다면 의도한 대사와 간결한 발화 지시를 넣고 결과에서 말의 내용과 눈에 보이는 입 움직임을 확인합니다.
이미지-비디오에서는 이미지가 첫 프레임을 정하고 프롬프트가 그다음에 일어날 일을 설명합니다. 원하는 피사체, 구도와 시각적 디테일이 이미 담긴 시작 이미지를 선택하세요. 고개를 조금 돌리기, 부드러운 카메라 이동, 바람에 옷감이 움직이기처럼 기존 구도에 맞는 동작을 지시합니다. 결과는 이미지의 화면비를 따르며 이 모드에서는 별도의 화면비 설정이 무시됩니다. 최종 클립이 세로 구도여야 한다면 미리 세로로 자른 이미지를 준비하세요.
문서에 명시된 출력 길이는 1–15초이며 기본값은 8초입니다. 텍스트-비디오는 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 5:2를 포함한 정사각형, 가로, 세로 및 더 넓은 구도를 제공합니다. 구도를 고르기 전에 숏의 용도를 정하세요. 소셜 미디어용 세로 클립에는 나중에 자막을 넣을 공간이 필요할 수 있고, 가로 삽입 영상에는 편집자가 편하게 컷을 잡도록 피사체 주변 여백이 필요할 수 있습니다. 긴 시퀀스를 짧은 숏 하나에 압축하기보다 선택한 길이에 맞는 동작을 요청하세요.
Lite는 480p와 720p 출력 및 720p를 업스케일한 1080p 옵션을 제공합니다. 디테일이 중요한 콘텐츠를 계획할 때 이 차이가 중요합니다. 출력 프레임이 크다고 해서 이 버전이 장면을 네이티브 1080p로 렌더링하는 것은 아닙니다. 작은 글자, 제품 가장자리와 얼굴을 실제 표시 크기에서 확인하세요. 생성 영상에는 기본적으로 오디오가 포함되며 제조사의 생성 설정은 무음 결과도 허용합니다. 생성된 음원을 함께 사용할 클립에서는 보이는 동작만큼 소리의 의도도 세심하게 명시하세요.
제작사 인터페이스의 문서상 생성 방식은 비동기입니다. 처리 중에는 요청 식별자로 작업을 추적하며, 완료 응답은 영상 위치와 길이를 제공합니다. 가이드의 완료 예시는 MP4 클립을 가리키고 출력 위치가 임시임을 설명합니다. 편집을 준비할 때 완성 에셋을 프롬프트, 원본 이미지, 선택한 설정과 함께 보관하세요. 제출된 작업은 아직 처리 단계이며, 실제 제작 결과는 필요한 영상과 소리를 갖춘 재생 가능한 클립입니다.
버전 선택은 숏에 필요한 제어 기능에 달려 있습니다. 정식 Grok Imagine Video 1.5는 여러 이미지 참조, 선택된 음성 참조, 정확한 시작·끝 프레임 및 중간 고정 프레임을 추가하며 텍스트-비디오와 이미지-비디오를 네이티브 1080p로 렌더링합니다. Lite는 프롬프트나 하나의 시작 이미지에 집중합니다. 클래식 Grok Imagine Video 버전은 영상 편집과 연장 워크플로를 제공합니다. 이러한 차이를 바탕으로 제품군의 모든 모델을 같은 생성기로 취급하지 않고 이미 준비된 입력 자료에 맞는 모델을 선택할 수 있습니다.
완성된 숏에서 피사체 연속성, 자연스러운 움직임, 구도와 요청한 소리를 검토하세요. 대사가 있다면 단어와 캐릭터의 동기화를 모두 확인합니다. 시퀀스용 여러 클립을 준비할 때는 각 기획에 필요한 피사체 설명이나 시작 이미지를 유지하고 편집에서 연결부를 평가하세요. 명확하게 지정한 짧은 숏은 문제를 진단하기 쉽습니다. 검토를 통해 다음 변경 대상이 원본 이미지인지, 동작인지, 카메라인지, 대사인지 구분할 수 있습니다.
Ailoot Ultra · 동영상 POST /v1/videos x-ai/grok-imagine-video-1.5-lite
x-ai/grok-imagine-video-1.5-lite
x-ai/grok-imagine-video-1.5-lite시작하기
Grok Imagine Video 1.5 Lite는 글로 쓴 장면이나 시작 이미지에서 오디오가 포함된 짧은 클립을 생성합니다. 1–15초 길이, 가로·세로 구도와 입 모양이 동기화된 음성을 지원합니다. 480p 또는 720p를 직접 선택하거나 720p를 업스케일한 1080p를 사용할 수 있으며, 고급 참조 및 프레임 제어는 정식 1.5 버전에 제공됩니다.
- 허용 입력
- 텍스트 · 이미지
- 결과
- 동영상
Ailoot에서 사용 가능 · 입력 및 메서드
Ailoot Ultra · 동영상 POST /v1/videos
- 입력
text,image- 출력
video- 출력 형식
- 원본 MP4 바이트(정규화·트랜스코딩 없음)
| 필드 | 유형 | 요건 | 값과 한도 | 기본값 |
|---|---|---|---|---|
필드model | 유형string | 요건필수 | 값과 한도 x-ai/grok-imagine-video-1.5-lite | 기본값— |
필드prompt | 유형string | 요건필수 | 값과 한도 | 기본값— |
필드duration | 유형integer | 요건필수 | 값과 한도 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 최솟값: 1 최댓값: 600 | 기본값— |
필드resolution | 유형string | 요건선택 사항 | 값과 한도 480p, 720p, 1080p | 기본값— |
필드aspect_ratio | 유형string | 요건선택 사항 | 값과 한도 16:9, 9:16, 1:1, 4:3, 3:4, 3:2, 2:3 | 기본값— |
필드generate_audio | 유형boolean | 요건선택 사항 | 값과 한도 false | 기본값— |
필드frame_images | 유형array | 요건선택 사항 | 값과 한도 최소 항목 수: 1 최대 항목 수: 1 입력 콘텐츠: 프레임 객체 배열입니다. 각 객체에는 type=image_url, url을 포함하는 image_url 및 frame_type이 있습니다. HTTPS 이미지 URL을 사용하고 frame_type을 first_frame으로 설정하세요. 각 프레임 역할은 최대 한 번만 나타날 수 있습니다. 정확한 키: type, image_url, frame_type 조건: 이 키는 각 프레임 객체를 설명합니다. image_url에는 url만 포함됩니다. 텍스트만 사용하는 요청에서는 frame_images를 생략하세요. | 기본값— |
필드input_references | 유형array | 요건선택 사항 | 값과 한도 | 기본값— |
필드callback_url | 유형string | 요건선택 사항 | 값과 한도 패턴: ^https:// | 기본값— |
필드session_id | 유형string | 요건선택 사항 | 값과 한도 | 기본값— |
필드trace | 유형object | 요건선택 사항 | 값과 한도 | 기본값— |
필드user | 유형string | 요건선택 사항 | 값과 한도 | 기본값— |
입력 자료 조합
텍스트로 동영상 생성 · 작성한 프롬프트입니다. · 필수: model, prompt, duration
prompt는 텍스트로, duration은 정수 단위 초로 제공하세요. 지원되는 해상도를 선택하고 필요한 경우 화면 비율을 지정하세요.
model: 유형: string · x-ai/grok-imagine-video-1.5-lite
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을 사용하세요. 각 프레임 역할은 최대 한 번만 나타날 수 있습니다. 각 프레임에 공개 HTTPS 이미지 URL을 제공하세요. 지원되는 해상도를 선택하고 필요한 경우 화면 비율을 지정하세요.
정확한 키: type, image_url, frame_type
model: 유형: string · x-ai/grok-imagine-video-1.5-lite
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, 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.02 이미지당 |
| 설정동영상 요금 | 요금표— | 예측 수량— | 과금 단위동영상 초당 | 과금 조건resolution: 1080p | 요금 출력 · 동영상 가격 · 비교 전용 추정치 $0.28 동영상 초당 |
| 설정동영상 요금 | 요금표— | 예측 수량— | 과금 단위동영상 초당 | 과금 조건resolution: 480p | 요금 출력 · 동영상 가격 · 비교 전용 추정치 $0.04 동영상 초당 |
| 설정동영상 요금 | 요금표— | 예측 수량— | 과금 단위동영상 초당 | 과금 조건resolution: 720p | 요금 출력 · 동영상 가격 · 비교 전용 추정치 $0.06 동영상 초당 |
| 설정예상 생성 비용 | 요금표— | 예측 수량1회 생성 예상치 | 과금 단위— | 과금 조건— | 요금 출력 · 예상 생성 비용 · 비교 전용 추정치 $0.04 생성 전 추정치 이 예상 금액은 추가 요금이나 생성 완료 시 적용되는 고정 요금이 아닙니다. |
Ailoot는 요청 전에 예상 금액을 미리 확보합니다. 결과를 받은 뒤 측정된 사용량을 기준으로 최종 요금을 정산합니다. 스트리밍 정산에는 최종 사용량 기록을 사용합니다. 금액 확보와 정산 방식 →
참조 요금 상세 정보
모델 수준의 참조 요금표는 메서드 선택, 견적 또는 요금을 변경하지 않습니다. 실제 과금에는 선택한 Ailoot 메서드 요금이 적용됩니다.
동영상 설정별 요금 참조
설정별 가격
각 요금을 표시된 조건과 대조하세요. 서로 대체되는 설정 묶음마다 하나의 요금만 적용하세요.
| 설정 | 과금 조건 | 요금 |
|---|---|---|
| 설정입력 이미지 | 과금 조건이 가격 키에는 추가 조건이 명시되어 있지 않습니다. | 요금 입력 · 입력 이미지 $0.02 이미지당 표시된 구성의 공개 가격 참고값입니다. 최종 요금은 실제 청구된 구성을 따릅니다. |
| 설정동영상 요금 | 과금 조건resolution: 480p | 요금 출력 · 동영상 가격 $0.04 동영상 초당 표시된 구성의 공개 가격 참고값입니다. 최종 요금은 실제 청구된 구성을 따릅니다. |
| 설정동영상 요금 | 과금 조건resolution: 720p | 요금 출력 · 동영상 가격 $0.06 동영상 초당 표시된 구성의 공개 가격 참고값입니다. 최종 요금은 실제 청구된 구성을 따릅니다. |
| 설정동영상 요금 | 과금 조건resolution: 1080p | 요금 출력 · 동영상 가격 $0.28 동영상 초당 표시된 구성의 공개 가격 참고값입니다. 최종 요금은 실제 청구된 구성을 따릅니다. |
요청 예제
Ailoot Ultra · 동영상
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":8,"model":"x-ai/grok-imagine-video-1.5-lite","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
작업 상태 확인
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에서 가져오세요.
실제로 소유한 모든 출력과 함께 반환된 측정 메타데이터를 보존하세요.
원래 응답을 확인해야 할 경우
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 x-ai/grok-imagine-video-1.5-lite
메서드 경로 별칭
위에 표시된 메서드 경로를 사용하세요.
관련 호출용 ID
FAQ · SpaceXAI: Grok Imagine Video 1.5 Lite
- 어떤 입력과 결과를 사용할 수 있나요?
POST /v1/videos·x-ai/grok-imagine-video-1.5-lite:text,image→video- 요청은 어떤 필드를 사용하나요?
POST /v1/videos·x-ai/grok-imagine-video-1.5-lite:model,prompt,duration,resolution,aspect_ratio,generate_audio,frame_images,input_references,callback_url,session_id,trace,user- 어떤 제한이 적용되나요?
POST /v1/videos·x-ai/grok-imagine-video-1.5-lite:duration.minimum:1;duration.maximum:600;frame_images.max_items:1;frame_images.min_items:1