텍스트와 이미지에서 비디오로
프롬프트로 생성하거나 첫 프레임 이미지를 애니메이션화합니다. 둘 다 제공하면 프롬프트가 움직임을 제어합니다.
Alibaba의 Happy Horse 1.0 비디오 모델을 하나의 통합 API로. 최대 1080p의 텍스트→비디오와 이미지→비디오를 동기화 오디오, 비동기 작업, 웹훅과 함께 사용할 수 있습니다.
Happy Horse 1.0을(를) 단 한 번의 API 호출로 통합하세요. 하나의 키, 하나의 통합 엔드포인트, 그리고 Apiframe의 모든 모델에 적용되는 통합 청구.
model: "happyhorse-1.0" 프롬프트로 생성하거나 첫 프레임 이미지를 애니메이션화합니다. 둘 다 제공하면 프롬프트가 움직임을 제어합니다.
모든 클립에 내용에 어울리는 사운드트랙이 자동으로 포함됩니다. 별도의 오디오 처리가 필요 없습니다.
720p 또는 1080p를 선택하고 3~15초의 원하는 길이로 생성하며, 요금은 초 단위로 부과됩니다.
Apiframe의 Happy Horse 1.0 API로 실행할 수 있는 프롬프트 예시입니다.
해 뜰 무렵 안개 낀 초원을 질주하는 야생마, 영화 같은 슬로우 모션
비 내리는 밤, 네온 거리에서 자전거를 탄 사람을 따라가는 카메라
밝은 붉은 꽃 위를 맴도는 벌새의 클로즈업, 황금빛 조명
API 키와 함께 POST /v2/videos/generate 요청을 한 번 보내면 Happy Horse 1.0로 생성이 시작됩니다. 응답으로 폴링하거나 웹훅으로 받을 수 있는 jobId가 반환됩니다.
curl -X POST https://api.apiframe.ai/v2/videos/generate \
-H "X-API-Key: afk_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"prompt": "a cinematic sunrise over a futuristic cityscape, smooth camera push-in",
"model": "happyhorse-1.0",
"happyhorse10Params": {
"image": "https://example.com/input.jpg",
"resolution": "1080p",
"aspect_ratio": "16:9",
"seed": 1
}
}'import requests
response = requests.post(
"https://api.apiframe.ai/v2/videos/generate",
headers={
"X-API-Key": "afk_your_api_key_here",
"Content-Type": "application/json",
},
json={
"prompt": "a cinematic sunrise over a futuristic cityscape, smooth camera push-in",
"model": "happyhorse-1.0",
"happyhorse10Params": {
"image": "https://example.com/input.jpg",
"resolution": "1080p",
"aspect_ratio": "16:9",
"seed": 1
}
},
)
print(response.json()) # { "jobId": "...", "status": "QUEUED" }const response = await fetch("https://api.apiframe.ai/v2/videos/generate", {
method: "POST",
headers: {
"X-API-Key": "afk_your_api_key_here",
"Content-Type": "application/json",
},
body: JSON.stringify({
"prompt": "a cinematic sunrise over a futuristic cityscape, smooth camera push-in",
"model": "happyhorse-1.0",
"happyhorse10Params": {
"image": "https://example.com/input.jpg",
"resolution": "1080p",
"aspect_ratio": "16:9",
"seed": 1
}
}),
});
const { jobId } = await response.json();
console.log(jobId);생성은 비동기로 처리됩니다. 제출이 성공하면 202 Accepted와 jobId가 반환됩니다. 상태가 COMPLETED가 될 때까지 GET /v2/jobs/{id}를 폴링하거나 webhook_url을 지정하면 result 필드에 출력 URL이 담깁니다.
{
"jobId": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
"status": "QUEUED"
}curl https://api.apiframe.ai/v2/jobs/JOB_ID \
-H "X-API-Key: afk_your_api_key_here"import requests, time
while True:
job = requests.get(
"https://api.apiframe.ai/v2/jobs/JOB_ID",
headers={"X-API-Key": "afk_your_api_key_here"},
).json()
if job["status"] in ("COMPLETED", "FAILED"):
break
time.sleep(2)
print(job["result"])let job;
do {
await new Promise((r) => setTimeout(r, 2000));
job = await fetch("https://api.apiframe.ai/v2/jobs/JOB_ID", {
headers: { "X-API-Key": "afk_your_api_key_here" },
}).then((r) => r.json());
} while (job.status !== "COMPLETED" && job.status !== "FAILED");
console.log(job.result);Happy Horse 1.0 엔드포인트가 허용하는 요청 파라미터입니다. 모델별 옵션은 아래에 표시된 파라미터 객체 안에 중첩됩니다.
| 파라미터 | 유형 | 필수 | 기본값 | 허용값 / 범위 | 설명 |
|---|---|---|---|---|---|
| prompt | string | 필수 | — | — | 생성할 내용에 대한 텍스트 설명. |
| model | string | 필수 | "happyhorse-1.0" | "happyhorse-1.0" | 이 엔드포인트의 모델 식별자. |
| happyhorse10Params.image | string (URL) | 선택 | — | — | Provide an image to animate (image-to-video); omit for text-to-video. |
| happyhorse10Params.resolution | string | 선택 | "1080p" | "720p", "1080p" | Resolution |
| happyhorse10Params.aspect_ratio | string | 선택 | "16:9" | "16:9", "9:16", "1:1", "4:3", "3:4" | Used for text-to-video (and reference-to-video on 1.1); ignored when animating an image. |
| happyhorse10Params.seed | number | 선택 | — | step 1 | Reuse a number to reproduce the same result. |
Happy Horse 1.0 API에 대한 일반적인 질문입니다.
이미지를 생략하면 텍스트→비디오가 되며 aspect_ratio로 비율을 지정합니다. happyhorse10Params.image를 제공하면 첫 프레임으로 애니메이션화되고 출력은 이미지의 비율을 따릅니다.
출력 초 단위 과금으로 720p는 초당 24크레딧, 1080p는 초당 48크레딧입니다. 6초 1080p 클립은 288크레딧입니다.
요청은 Replicate와 Alibaba Cloud(DashScope)에서 자동 페일오버로 처리되므로 Apiframe 키 하나만 관리하면 됩니다.
아직 궁금한 점이 있으신가요?
API 키를 받아 몇 분 만에 Happy Horse 1.0을(를) 통합하세요 — 사용한 만큼 지불.
궁금하신 점이 있으신가요? Discord에 참여하거나 영업팀에 문의하세요.