01
길이와 해상도는 기본값이 아니라 가격 다이얼입니다
대부분의 영상 엔드포인트는 선택한 해상도의 출력 초 단위로 과금합니다. duration_seconds를 5에서 10으로 올리면 요금은 대략 두 배, 해상도를 한 단계 올리면 또 한 번 그렇습니다. 둘 다 스키마에 가격 영향으로 표시되므로, 견적은 청구서가 아니라 컨트롤 옆에 있어야 합니다.
영상 API 솔루션

해결 과제
영상 요청은 느린 이미지 요청이 아닙니다. 길이, 해상도, 오디오 스위치가 지불 금액과 대기 시간을 정하고, 그것도 첫 프레임이 그려지기 전에 정해집니다.
01
대부분의 영상 엔드포인트는 선택한 해상도의 출력 초 단위로 과금합니다. duration_seconds를 5에서 10으로 올리면 요금은 대략 두 배, 해상도를 한 단계 올리면 또 한 번 그렇습니다. 둘 다 스키마에 가격 영향으로 표시되므로, 견적은 청구서가 아니라 컨트롤 옆에 있어야 합니다.
02
generate_audio가 있는 엔드포인트에서 이 불리언은 요청을 다른 요율로 옮깁니다. 폼이 이를 감추면 매 요청마다 조용히 비싼 쪽을 보내게 됩니다.
03
createTask는 queued 상태의 taskId와 함께 202 Accepted를 돌려줍니다. 생성은 서버에서 수 분 더 이어집니다. 원래 소켓에서 기다리는 코드는 타임아웃되고, 그동안 작업과 과금은 계속됩니다.
구현 방식
POST /api/v1/jobs/quote로 실제 본문을 견적내고 그 금액을 보여준 뒤, 같은 본문을 quoteId·expectedCost·저장해 둔 Idempotency-Key와 함께 createTask로 보냅니다. 두 호출 사이에 가격이 바뀌면 업무 코드 40901로 막히고, 나중에 청구서에서 놀랄 일은 없습니다.
생성 호출 하나가 모델, 검증된 입력, 선택적 콜백을 실어 보냅니다. HTTP 202는 접수이지 완료가 아닙니다.
POST /api/v1/jobs/createTask
POST /api/v1/jobs/createTask
Authorization: Bearer $SPICY_API_KEY
Idempotency-Key: 7b1f0c2e-9a4d-4f31-8c67-2b5e0d9a1c44
Content-Type: application/json
{
"model": "<publisher>/<model>/text-to-video",
"input": {
"prompt": "A slow aerial drift over a misty pine forest at sunrise",
"duration_seconds": 5,
"resolution": "1080p",
"generate_audio": true
},
"callBackUrl": "https://example.com/hooks/spicyapi"
}202 Accepted
HTTP/1.1 202 Accepted
Location: /api/v1/jobs/recordInfo?taskId=job_01k3m8x9q2z4v7n5p6r8s0t1w3
{
"code": 200,
"msg": "success",
"request_id": "req_example_create",
"data": {
"taskId": "job_01k3m8x9q2z4v7n5p6r8s0t1w3",
"state": "queued",
"estimatedCost": "0.750000"
}
}계약
| 필드 또는 헤더 | 값 또는 상한 |
|---|---|
| POST /api/v1/jobs/createTask | 202 Accepted · state queued |
| duration_seconds · resolution · generate_audio | price-affecting fields |
| Idempotency-Key | 24 h · scoped to one API key |
| output.assets[].expiresAt | signed URL · results kept 14 days |
좌우로 밀어 모든 항목을 확인하세요.
연동
적합성
근거
모델 페이지의 폼은 해당 엔드포인트의 input_schema로 생성되고, 서버도 같은 문서로 검증합니다. 선언되지 않은 필드는 조용히 버려지지 않고 400이 됩니다.
createTask는 견적액을 보류하고 cost와 settled: false로 돌려줍니다. 최종 청구는 보류액을 넘지 않으며, 실패나 만료 시에는 전액 해제됩니다.
일별·월별·누적 상한을 정하고, 쓸 수 있는 모델과 접속 IP까지 지정할 수 있습니다. 쓰기 요청은 모두 같은 멱등 키를 받습니다.
출시 전
자주 묻는 질문
모델
각 링크는 해당 모델 계열 페이지로 이동합니다. 입력, 상한, 콘텐츠 방침, 단위당 현재 가격을 그곳에서 확인할 수 있습니다.
다음
길이·해상도·오디오·가격으로 영상 엔드포인트를 비교한 뒤, 같은 요청을 서버에서 보내고 작업 ID로 추적하세요.