
텍스트로 이미지 생성
텍스트 프롬프트로 AI 이미지 생성
Google Gemini Omni 1.2 Flash API로 사진, 짧은 클립 또는 둘을 참조하여 동영상을 만드세요. 제작할 장면에 맞게 화면 구성과 길이를 선택할 수 있습니다. 길이는 참조와 무관합니다.
Best Image AI의 Gemini Omni 1.2 Flash Reference-to-Video API는 프롬프트와 시각 참고 자료를 바탕으로 새 영상을 생성합니다. 장면 설명에 이미지나 짧은 영상 또는 둘 다 첨부할 수 있습니다. 기존 시각 자료를 새 장면에 반영해야 하는 프로젝트에 적합하며, 출력 길이와 해상도, 화면 방향을 각각 선택할 수 있습니다.
시각 자료 참고: 인물, 제품 또는 스타일을 보여 주는 이미지를 활용해 새 장면의 모습을 지정합니다.
움직임 참고: 글로 작성한 장면 지시에 짧은 영상을 곁들여 원하는 움직임을 전달합니다.
이미지와 영상 함께 사용: 한 기획안에 정지 이미지와 움직임 예시를 함께 담아 새 영상을 생성할 때 참고하도록 합니다.
프롬프트 기반 생성: 원하는 장면을 설명하고 각 자료가 그 장면과 어떤 관련이 있는지 알려 줍니다.
입력: 프롬프트와 참고 이미지 또는 영상을 하나 이상 제공합니다. 한 종류만 사용하거나 같은 요청에 두 종류를 함께 넣을 수 있습니다.
참고 자료 준비: 이미지와 영상의 개수는 각각의 제한에 맞추고 영상은 짧은 클립을 사용합니다. 자료 개수와 참고 영상 길이에 적용되는 최신 제한은 API 문서를 확인하세요.
출력 설정: 가로 또는 세로 구도, 해상도, 지원 범위 내의 생성 길이를 선택합니다. 출력 길이는 참고 영상의 길이에 따라 정해지지 않습니다.
출력: 처리가 완료되면 새로 생성된 영상을 가져옵니다.
요금: 선택한 해상도에서 요청한 출력 길이에 따라 초 단위로 과금합니다. 참고 영상에는 추가 요금이 부과되지 않습니다.
영상 제안서 제작: 장면 기획안에 선별한 이미지나 영상을 더해 검토용 영상 시안을 만듭니다.
캠페인 소재 재사용: 기존 캠페인 이미지를 새 영상 장면의 제작 지시에 포함합니다.
참고 자료 보드 활용: 제작팀이 자료 라이브러리에서 소재를 골라 생성 프롬프트와 함께 제출할 수 있습니다.
움직임 구상: 짧은 참고 영상과 텍스트 지시를 함께 사용해 원본 클립을 수정하는 대신 새로운 장면의 움직임을 시험합니다.
참고 참고 자료가 필요합니다. 프롬프트에 각 자료의 역할을 설명하고 원하는 결과와 제공한 예시를 구분하세요. 참고 영상의 길이와 생성 요청 길이는 따로 확인하세요.
Text-to-Video와 비교: Reference-to-Video에는 프롬프트와 시각 자료가 모두 필요합니다. Text-to-Video는 이미지나 영상을 제공할 필요가 없는 기획에 적합합니다.
Image-to-Video와 비교: Image-to-Video는 이미지를 첫 프레임으로 사용하며 마지막 프레임 이미지도 지정할 수 있습니다. Reference-to-Video는 새 장면을 위한 참고 자료로 이미지와 짧은 영상을 받습니다.
Video Edit와 비교: Video Edit는 원본 영상을 수정하며 원본에 따라 출력 길이와 화면 비율이 정해집니다. Reference-to-Video에서는 참고 영상과 별개로 새 영상의 길이와 화면 방향을 선택할 수 있습니다.
브라우저에서 빠른 이미지 및 비디오 워크플로를 위한 여러 AI 창작 도구를 살펴본 다음, Best Image AI의 프로덕션용 모델 API로 성공적인 아이디어를 확장하세요. Best Image AI는 모든 모델을 위한 통합 API 계층을 제공하여 워크플로를 쉽게 사용하고 확장할 수 있도록 합니다.
const response = await fetch('https://api.flaq.ai/api/v1/video/task', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_API_KEY'
},
body: JSON.stringify({
model_name: 'gemini-omni-1.2-flash-reference-to-video',
prompt: 'Use the references to create a cinematic shot of a small boat approaching from the distance',
aspect_ratio: '16:9',
resolution: '1080p',
duration: 12,
images: ['https://example.com/boat-reference.jpg'],
videos: ['https://example.com/motion-reference.mp4']
})
});
const { data } = await response.json();
const taskId = data.task_id;
// Step 2: Poll for results
const taskId = data.task_id;
const pollResult = async (taskId) => {
const res = await fetch(`https://api.flaq.ai/api/v1/video/${taskId}`, {
headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
});
return res.json();
};
while (true) {
const pollResultData = await pollResult(taskId);
const status = pollResultData.data.task_status;
if (status === 'succeed') {
console.log(pollResultData.data.task_result.videos[].);
;
}
(status === ) {
.(pollResultData..);
;
}
( (resolve, ));
}
import requests
response = requests.post(
'https://api.flaq.ai/api/v1/video/task',
headers={
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_API_KEY'
},
json={
'model_name': 'gemini-omni-1.2-flash-reference-to-video',
'prompt': 'Use the references to create a cinematic shot of a small boat approaching from the distance',
'aspect_ratio': '16:9',
'resolution': '1080p',
'duration': 12,
'images': ['https://example.com/boat-reference.jpg'],
'videos': ['https://example.com/motion-reference.mp4']
}
)
result = response.json()
task_id = result['data']['task_id']
curl -X POST https://api.flaq.ai/api/v1/video/task \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model_name": "gemini-omni-1.2-flash-reference-to-video",
"prompt": "Use the references to create a cinematic shot of a small boat approaching from the distance",
"aspect_ratio": "16:9",
"resolution": "1080p",
"duration": 12,
"images": ["https://example.com/boat-reference.jpg"],
"videos": ["https://example.com/motion-reference.mp4"]
}'
# Step 2: Poll for results
# Replace {task_id} with the task_id returned from the submit response
curl -X GET "https://api.flaq.ai/api/v1/video/{task_id}" \
-H "Authorization: Bearer YOUR_API_KEY"
# Step 2: Poll for results
task_id = response.json()['data']['task_id']
poll_url = f"https://api.flaq.ai/api/v1/video/{task_id}"
while True:
poll_result = requests.get(poll_url, headers={'Authorization': 'Bearer YOUR_API_KEY'}).json()
status = poll_result['data']['task_status']
if status == 'succeed':
print(poll_result['data']['task_result']['videos'][0]['url'])
break
if status == 'failed':
print(poll_result['data']['task_status_msg'])
break
time.sleep(10)