Loading...
Loading...
Generate smooth video transitions between two key frames with Gemini Omni 1.1 Flash. Provide a start frame, an end frame and a text prompt to guide the in-between motion.
No output yet
Run the model to see generated results.
import requests
result = requests.post(
'https://api.e2x.ai/v1/jobs/submit',
headers={
'Authorization': f'Bearer {API_KEY}',
'Content-Type': 'application/json'
},
json={
'model': 'google/omni-1.1-flash/start-end-frame-to-video',
'input': {}
}
)import time
job_id = result.json()['jobId']
while True:
response = requests.get(
f'https://api.e2x.ai/v1/jobs/{'{job_id}'}',
headers={'Authorization': f'Bearer {'{API_KEY}'}'}
)
data = response.json()['data']
if data['status'] == 'completed':
print('Done!', data['outputs'][0]['url'])
break
elif data['status'] == 'failed':
raise Exception(f"Job failed: {'{'}data['error']['message']{'}'}")
time.sleep(2)재생 시간 및 해상도별 예상 생성 비용입니다. 실행한 만큼만 요금이 청구됩니다.
Gemini Omni 1.1 Flash는 Google의 gemini-omni-1.1-flash로, 2026년 8월 27일부터 정식 출시 상태이며 Veo가 아니라 Gemini 계열의 모델입니다. 저희는 그 두 프레임 capability를 google/omni-1.1-flash/start-end-frame-to-video로 운영하고 출력 1초 단위로 720p 기준 $0.09를 청구합니다. 정가 $0.15에서 상시 40% 할인된 값입니다. 기본값인 8초 클립은 $0.72입니다.
들어가는 필드는 셋입니다. 시작 프레임, 끝 프레임, prompt. 첫 이미지가 첫 프레임이 되고 둘째 이미지가 마지막 프레임이 되며, 그 사이는 전부 지어집니다. 클립 요청이 아니라 다리 요청이고, 다리의 값어치는 그 두 기슭의 값어치만큼입니다.
이것도 여기서 새로 생겼습니다. 앞선 Omni Flash 세대에는 없었고, 저희 1.1 릴리스 정리 글이 펴는 주장을 가장 담백하게 뒷받침하는 증거입니다. 품질 릴리스가 아니라 연속성 릴리스입니다.
2026년 8월 28일에 확인한 저희 요율입니다.
| 길이 | 360p | 720p | 1080p | 4K |
|---|---|---|---|---|
| 4초 | $0.1188 | $0.36 | $0.54 | $0.72 |
| 6초 | $0.1782 | $0.54 | $0.81 | $1.08 |
| 8초 (기본값) | $0.2376 | $0.72 | $1.08 | $1.44 |
| 10초 | $0.297 | $0.90 | $1.35 | $1.80 |
1080p와 4K는 네이티브가 아니라 업스케일입니다.
트위닝은 잘못된 머릿속 모형입니다. 트위닝 도구는 픽셀 A를 픽셀 B 쪽으로 섞습니다. 이 모델은 두 이미지를 읽고, 그 사이에서 장면을 실어 나른 사건이 무엇이었을 법한지 판단해 그것을 렌더링합니다. 오디오도 같은 prompt에서 네이티브로 함께 생성됩니다. has_sound 필드도 음소거 스위치도 없습니다.
24 fps에서 4초짜리 다리는 96 프레임이고, 그중 둘을 여러분이 주셨습니다. 나머지 94 프레임은 물리학에 대한 주장이며, 그 주장이 성립하든 말든 제출됩니다. 프레이밍은 16:9 또는 9:16이고, job당 4분을 잡으십시오.
질문 셋이 한 쌍을 판정합니다. 같은 피사체입니까? 비슷한 것이 아니라 같은 것이어야 합니다. 같은 빛입니까? 키 라이트의 방향, 색온도, 대비. 카메라가 실제로 그 무브를 할 수 있었겠습니까? 촬영 감독이 따라갈 만한 한 문장으로 말씀하실 수 없다면 모델도 못 합니다.
답이 아니오일 때 오류는 나지 않습니다. 모델이 그 틈을 덮어 버리고, 덮는 방식은 네 가지입니다.
쓸 수 없는 클립도 쓸 수 있는 클립과 같은 값이 듭니다.
초당 $0.0297이므로 360p 4초 테스트는 $0.1188이고, 720p 8초 최종본은 $0.72로 다섯 배입니다. 그리고 얼굴을 판정하기에는 너무 작은 360p도 가운데를 판정하기에는 충분합니다. 컷은 어느 해상도에서도 컷입니다. 모프는 모프입니다. Google은 이 티어가 최대 60% 더 빠르다고도 주장합니다. API 레퍼런스의 수치가 아니라 출시 블로그의 표현입니다.
덕분에 스토리보드 작업을 반복할 만한 값에 돌리실 수 있습니다. 비트마다 키 프레임 두 장, 컷 리스트를 4초 360p로 돌려 애니매틱으로 재생하면 열두 비트에 약 $1.73입니다. 실패는 거의 언제나 프레임 쌍의 문제이고, prompt를 다섯 번 고쳐 쓰기보다 보드 한 장을 다시 그리는 쪽이 답입니다. 살아남은 것만 렌더링하십시오. Veo 3.1 Fast start-end-frame-to-video에는 초안 티어가 아예 없습니다.
duration은 4, 6, 8, 10을 문자열로 받습니다. 1초의 값은 어디서나 같으므로 예산 손잡이처럼 읽힙니다. 실제로는 연출 손잡이입니다.
같은 두 프레임을 4초로 두는 것과 10초로 두는 것은 서로 다른 두 숏입니다. 4초는 이동을 강제합니다. 카메라가 곧장 밀고 나가고 지어낼 여지가 적습니다. 10초는 채워져야 하고, 모델은 자기 나름의 채움을 찾아냅니다. 드리프트, 멈춰 있는 한 박자, 두 번째 몸짓. 그 지어낸 잔동작이 여기서 가장 예측하기 어려운 출력입니다.
길이를 거리에 맞추십시오. 30도 떨어진 제품 각도 둘을 10초로 늘이시면 기어가는 화면과 죽은 시간을 사시게 됩니다. 10초는 Omni의 천장이자 실질적인 우위입니다. Veo는 8초에서 멈춥니다.
key를 발급하시고 서버 쪽에 붙들어 두신 뒤 job을 제출하십시오. prompt와 start_frame_url, end_frame_url이 필수이고, 저희가 두 이미지를 모두 가져오므로 각 URL은 인증 없는 request에 응답해야 합니다.
curl -X POST https://api.e2x.ai/v1/jobs/submit \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "google/omni-1.1-flash/start-end-frame-to-video",
"input": {
"prompt": "김이 차오르는 동안 카메라가 에스프레소 머신을 오른쪽으로 돌아 나간다. 그라인더 소리, 카페의 말소리.",
"start_frame_url": "https://example.com/07a-left.jpg",
"end_frame_url": "https://example.com/07b-right.jpg",
"duration": "6",
"resolution": "360p"
}
}'
job id를 polling하시거나 webhookUrl을 넘기십시오.
const headers = {
Authorization: `Bearer ${process.env.E2X_API_KEY}`,
"Content-Type": "application/json",
};
const { data } = await fetch("https://api.e2x.ai/v1/jobs/submit", {
method: "POST",
headers,
body: JSON.stringify({
model: "google/omni-1.1-flash/start-end-frame-to-video",
input: {
prompt: "옥상 난간에서 안뜰 테이블까지 천천히 내려오는 크레인 숏. 끊기지 않는 한 번의 무브.",
start_frame_url: "https://example.com/12a-roof.jpg",
end_frame_url: "https://example.com/12b-courtyard.jpg",
duration: "10",
resolution: "720p",
},
}),
}).then((r) => r.json());
let url = null;
while (!url) {
const job = await fetch(`https://api.e2x.ai/v1/jobs/${data.jobId}`, { headers })
.then((r) => r.json());
if (job.data.status === "completed") url = job.data.outputs[0].url;
else if (["failed", "cancelled"].includes(job.data.status))
throw new Error(job.data.error?.message ?? job.data.status);
else await new Promise((r) => setTimeout(r, 5000));
}
상태는 pending, processing, completed로 움직이거나 failed/cancelled에 내려앉습니다. schema의 함정이 둘입니다. duration과 resolution은 문자열이고, 필드 이름은 다른 곳에서 쓰는 단수형 image_url이 아니라 start_frame_url과 end_frame_url입니다. 살아 있는 값은 기계 판독용 명세에 있습니다.
Veo 3.1 Fast는 같은 작업을 9분의 1 값에 돌립니다.
| Endpoint | 720p 8초 | 이럴 때 손을 뻗으십시오 |
|---|---|---|
| Veo 3.1 Fast start-end-frame-to-video | $0.08 | 두 프레임이 이어지고 8초로 충분할 때 |
| Omni 1.1 Flash start-end-frame-to-video | $0.72 | 10초나 4K, 또는 초안 패스가 필요할 때 |
| Omni 1.1 Flash image-to-video | $0.72 | 숏의 한쪽 끝만 정해져 있을 때 |
| Omni 1.1 Flash reference-to-video | $0.72 | 한 피사체가 여러 숏에 걸쳐 자기 자신으로 남아야 할 때 |
| Omni 1.1 Flash text-to-video | $0.72 | 소스 프레임이 아예 없을 때 |
가격과 제품 조건은 시간이 지나면서 변경될 수 있습니다. 구매를 결정하기 전에 각 프로바이더의 현재 가격을 확인하시기 바랍니다. Google의 Batch 또는 Flex 가격은 스케줄링, 가용성, 처리 조건이 다르기 때문에 표준 온디맨드 API request와 직접 동등하지 않으며, 따라서 이 비교에서는 제외했습니다. 이는 특정 범위에 한정된 비교이며, E2X가 모든 구성에서 세계에서 가장 저렴하다는 주장은 아닙니다.
Veo에서 시작하십시오. 8초의 벽이 길을 막을 때, 납품물이 4K일 때, 또는 초안 패스가 드는 값보다 더 아껴 줄 때 이쪽으로 돌아오십시오. 나머지는 image-to-video와 text-to-video 아래에 있고, 모델 카탈로그 전체는 한 페이지입니다.
배경이 아니라 이동을 묘사하십시오. 모델은 이미 양쪽 끝을 보고 있습니다. 둘을 잇는 무브에 이름을 붙이시고("오른쪽으로 돌기", "크레인 다운", "먼 창으로 랙 포커스"), 그다음 그것이 어떤 소리여야 하는지 말씀하십시오. 오디오도 그 같은 줄에서 쓰입니다. 어느 프레임도 암시하지 않는 사건은 요청하지 마십시오. 카메라 어휘는 저희 Omni prompting 가이드에 더 있습니다. 평가된 prompt 언어는 영어뿐입니다.
이 결과물이 클라이언트 근처에 가기 전에 셋을 확인하십시오. 모든 프레임에 Google의 보이지 않는 출처 표식인 SynthID가 실리고 어떤 프로바이더도 떼어낼 수 없습니다. Google의 모델 카드는 *"편집 전반에 걸쳐 완전한 일관성을 유지하는 것, 복잡한 움직임이 있는 장면을 생성하는 것, 완벽하게 정확한 텍스트를 렌더링하는 것은 여전히 과제로 남아 있습니다"*라고 솔직하게 적습니다. 프레임 간격이 넓다는 것은 바로 그 복잡한 움직임을 요구한다는 뜻입니다. EEA와 스위스, 영국에서는 미성년자나 알아볼 수 있는 특정 인물이 담긴 이미지를 업로드하실 수 없습니다. 여러분의 입력에 걸리는 제한입니다. 결과 URL은 임시이므로 완료 핸들러에서 다시 호스팅하십시오.
720p 출력 1초마다 $0.09를 청구하므로 8초 클립은 $0.72, 최대치인 10초는 $0.90입니다. 정가 $0.15에서 40% 할인된 값입니다. 해상도가 여기에 배수를 걸어 360p 4초 초안은 $0.1188, 4K 10초 렌더링은 $1.80이 됩니다. 2026년 8월 28일 확인 시점 기준입니다.
같은 피사체, 같은 조명 세팅, 그리고 요청하신 시간 안에 물리적으로 한쪽에서 다른 쪽으로 갈 수 있는 카메라 무브입니다. 같은 촬영에서 몇 분 간격으로 찍은 스틸 둘은 거의 언제나 작동합니다. 다른 조건에서 찍힌 프레임들은 그 차이를 화면 위에서 해결하도록 모델을 몰아붙입니다.
오류는 나지 않습니다. 그 틈을 네 가지 방식 중 하나로 숨긴 클립을 받으십니다. 지어낸 컷, 불가능한 기하를 통과하는 모프, 조명 팝, 또는 허공에서 떠오르는 인물의 고스팅입니다. 전부 좋은 렌더링과 같은 값이 청구되며, $0.1188짜리 초안이 스스로 값을 하는 이유입니다.
대개는 Veo 3.1 Fast가 먼저입니다. 저희 $0.09 대비 초당 $0.01에 시작·끝 프레임 작업을 하므로 8초가 $0.72가 아니라 $0.08입니다. Omni가 그 격차를 벌어들이는 곳은 셋입니다. 10초 길이, 4K 출력, 그리고 360p 테스트 티어입니다.
호출 한 번에 3초에서 10초입니다. duration enum은 4, 6, 8, 10을 모두 문자열로 담고 있습니다. 10초가 단단한 천장이고, 그보다 긴 것은 여러 job을 이어 붙인 결과입니다.
그렇습니다. 둘 다 서버 쪽에서 가져오므로 job이 끝날 때까지 각각 인증 없는 request에 응답해야 합니다. 수명이 짧은 서명 URL, 비공개 버킷, localhost 주소, data URI는 실패합니다.
네. 모든 프레임에 Google의 감지 불가능한 출처 신호인 SynthID가 표시되며, 보는 사람에게는 보이지 않지만 Google의 도구로 검증할 수 있습니다. 어떤 프로바이더도 끌 수 없습니다. 라벨이 붙은 AI 자산을 금지하는 계약이 있다면 클라이언트와 먼저 정리하십시오.