HiAPI
블로그

사용 가이드

Wan 2.7 이미지-투-비디오 프롬프트 레시피: 복사해서 붙여넣을 수 있는 프롬프트 3가지와 실제 출력

wan2.7-video/image-to-video용 원테이크 완성 프롬프트 레시피 3가지——고정 카메라 아래의 제품 움직임, 인물의 미세한 연기, 사실적인 카메라 무빙 여행——각각 입력 프레임, 정확한 프롬프트, 내장 출력 클립, 검증된 표준 등급 가격을 함께 제공합니다.

Jul 8, 2026
Wan 2.7 이미지-투-비디오 프롬프트 레시피: 복사해서 붙여넣을 수 있는 프롬프트 3가지와 실제 출력

이미지-투-비디오는 비디오 모델을 사용할 때 레버리지가 가장 높은 방식입니다. 정지 이미지 하나로 구도와 조명, 피사체를 고정하고 모델의 모든 역량을 움직임에만 쏟아붓기 때문입니다. 문제는 i2v 프롬프트 자체가 독립적인 스킬이라는 점입니다——텍스트-투-비디오에 잘 맞는 대부분의 프롬프트는 모델이 이미 볼 수 있는 장면을 다시 묘사하느라 토큰을 대량으로 낭비합니다.

이 가이드는 wan2.7-video/image-to-video, 즉 알리바바 통이 완샹 2.7 이미지-투-비디오 모델에 쓸 수 있는 복사 붙여넣기 프롬프트 레시피 3가지를 제공하며, 사람들이 실제로 i2v를 사용하는 세 가지 작업——제품 움직임, 인물 연기, 카메라 무빙——을 다룹니다. 아래에 내장된 각 클립은 해당 프롬프트의 실제 원테이크 출력입니다——hiapi 태스크 API로 표준 720P 등급(초당 $0.10)에서 생성했습니다. 입력 프레임도 함께 첨부했으므로 모델이 무엇을 받았고 무엇을 만들어냈는지 정확히 추적할 수 있습니다.

요청 구조 (먼저 읽어 주세요)

wan2.7 i2v는 hiapi의 비동기 태스크 엔드포인트에서 실행됩니다. 세 가지 스키마 세부 사항을 알아두면 400 오류 한 라운드를 아낄 수 있습니다:

  • media는 객체 배열이며, 단순 URL 문자열이 아닙니다. 각 객체에는 type과 url이 필요합니다. 허용되는 타입은 first_frame, last_frame, driving_audio, first_clip——따라서 같은 엔드포인트 하나로 일반 첫 프레임 애니메이션, 첫/끝 프레임 보간, 오디오 기반 움직임, 클립 연장을 모두 커버합니다. 이 글의 모든 내용은 first_frame 하나만 전달합니다.
  • resolution은 열거형입니다: 720P 또는 1080P 외에 다른 값은 없습니다.
  • duration은 초 단위이며 최대 15입니다.

이미지 URL은 공개적으로 접근 가능해야 합니다——플랫폼이 태스크 생성 시 서버 측에서 이를 다운로드합니다.

curl -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer $HIAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan2.7-video/image-to-video",
    "input": {
      "prompt": "충전 케이스 뚜껑이 부드럽게 위로 열리고, 무광 블랙 이어버드 두 개가 케이스에서 천천히 올라온다……",
      "media": [
        {"type": "first_frame", "url": "https://your-cdn.example/frame.jpg"}
      ],
      "resolution": "720P",
      "duration": 5
    }
  }'

응답은 즉시 taskId를 반환합니다. status가 success가 될 때까지 GET /v1/tasks/{taskId}를 폴링한 다음 output[0].url을 다운로드하세요:

import requests, time

BASE = "https://api.hiapi.ai/v1/tasks"
HEADERS = {"Authorization": f"Bearer {API_KEY}"}

task_id = requests.post(BASE, headers=HEADERS, json=payload).json()["data"]["taskId"]

while True:
    task = requests.get(f"{BASE}/{task_id}", headers=HEADERS).json()["data"]
    if task["status"] == "success":
        video = requests.get(task["output"][0]["url"]).content
        open("clip.mp4", "wb").write(video)
        break
    if task["status"] == "fail":
        raise RuntimeError(task.get("error"))
    time.sleep(10)

운영 팁 하나: output[0].url은 expireAt 타임스탬프가 붙은 제한 시간 링크입니다. 태스크가 성공하면 즉시 파일을 다운로드해 자신의 스토리지 버킷에 저장해야 합니다——그렇게 하지 않으면 무슨 일이 생기는지는 여기서 확인하세요.

레시피 1: 고정 카메라 아래의 제품 움직임

전형적인 이커머스 메인 이미지 루프: 제품은 움직이고 카메라는 움직이지 않습니다. gpt-image-2로 촬영한 닫힌 이어버드 케이스 이미지에서 시작합니다:

프롬프트:

충전 케이스 뚜껑이 부드럽게 위로 열리고, 무광 블랙 이어버드 두 개가 케이스에서 천천히 올라와 케이스 위에 떠 있으면서 동시에 천천히 회전한다. 이어버드가 회전할 때 부드러운 스튜디오 조명이 표면 위로 스쳐 지나간다. 카메라는 완전히 고정되어 움직이지 않으며, 얕은 심도가 이어버드에 초점을 유지한다. 깔끔하고 고급스러운 제품 공개 미학, 카메라 움직임 없음.

파라미터: resolution: 720P, duration: 5——비용 $0.50.

원테이크 출력:

모델이 케이스 내부와 이어버드 자체를 스스로 만들어냈습니다——입력 프레임에는 둘 다 존재하지 않았습니다——그리고 뚜껑이 열리는 동안 대리석 반사의 일관성도 유지했습니다. 프롬프트에서 두 가지가 결정적으로 작용했습니다: 객체 상태를 순서대로 명시한 것(뚜껑 열림 → 이어버드 상승 → 부양 → 동시 회전), 그리고 카메라가 아무것도 하지 말라고 두 번이나 명시한 것(완전히 고정되어 움직이지 않음……카메라 움직임 없음)입니다. 부정적 움직임 제약은 준수됩니다; 이것이 없으면 i2v 모델은 요청하지 않은 드리프트나 줌을 넣는 경우가 많습니다.

레시피 2: 인물의 미세한 연기

인물을 움직이게 만드는 것이 바로 i2v가 가치를 발휘하는 지점입니다——캐스팅과 의상, 조명은 이미 프레임이 해결해 주기 때문입니다. 입력 역시 gpt-image-2에서 가져왔습니다:

프롬프트:

여성이 컵을 살짝 들어 천천히 조용히 한 모금 마신 뒤, 컵을 내려놓고 고개를 돌려 빗물 자국이 가득한 창밖을 바라보며 부드러운 미소를 짓는다. 컵 입구에서 김이 모락모락 피어오르고, 빗방울이 그녀 뒤 유리 위로 흘러내린다. 그녀가 움직일 때 머리카락이 살짝 흔들린다. 카메라는 정지 상태를 유지하고, 초점이 컵에서 그녀의 얼굴로 부드럽게 이동한다. 따뜻하고 여유 있으며 영화 같은 움직임.

파라미터: resolution: 720P, duration: 5——비용 $0.50.

원테이크 출력:

여기서의 공식은 명확한 순서로 배열된 두세 개의 작은 동작 체인입니다(들기 → 마시기 → 내려놓기 → 고개 돌리기 → 미소 짓기). wan2.7은 적힌 순서대로 하나씩 실행하며, 바로 이것이 클립이 반복되는 움직이는 사진이 아니라 연기처럼 읽히게 만드는 이유입니다. 나머지 절반은 2차 움직임입니다: 김, 빗방울, 머리카락은 요청하기 쉬우면서도 사실감의 대부분을 담당합니다. 얼굴 방향은 온화하게(“부드러운 미소”, “크게 웃음”이 아님)——미세한 표정은 살아남고, 과장된 표정은 도박입니다.

레시피 3: 정적인 장면 위의 카메라 무빙

레시피 1의 반대입니다: 세계는 정지해 있고 카메라가 여행합니다. 입력 프레임——골든 아워의 넓은 해안 마을:

프롬프트:

느린 시네마틱 돌리 인: 카메라가 수면 위에서 앞으로 미끄러지듯 나아가 절벽 마을을 향해 다가간 뒤, 계속 나아가면서 해안선을 따라 오른쪽으로 부드럽게 팬한다. 파도가 아래의 바위를 때리고, 갈매기가 화면을 천천히 가로질러 날아간다. 골든 아워의 빛은 일정하게 유지된다. 매끄럽고 안정적인 짐벌 이동, 컷 없음.

파라미터: resolution: 720P, duration: 4——비용 $0.40.

원테이크 출력:

클립의 마지막 1초를 입력 프레임과 비교해 보세요: 카메라가 실제로 움직였습니다——마을이 화면을 가득 채우고, 절벽과 배경 언덕 사이의 시차가 정확하며, 가짜 Ken Burns 줌이 아닙니다. 패턴은 이렇습니다: 움직임을 명명하고, 움직임을 순서대로 배열하고, 움직임의 스타일을 정의하세요. “돌리 인, 그다음 오른쪽으로 팬”이 궤적을 주고; “짐벌, 컷 없음”이 감쇠를 설정하며; “빛은 일정하게 유지된다”가 골든 아워가 눈앞에서 타임랩스로 변하는 것을 막습니다.

치트 시트

이 내용들과 이전 실행들을 종합하면, wan2.7 i2v 프롬프트는 다섯 가지 규칙을 따릅니다:

  1. 프레임은 장면이고, 프롬프트는 움직임이다. 화면을 다시 묘사하지 마세요——화면 속 명사를 동사의 앵커로만 사용하세요(“뚜껑”, “컵”, “해안선”).
  2. 클립마다 주체 동작 하나 + 카메라 지시 하나만 넣으세요. 두 종류의 복잡성을 겹치면 짧은 클립이 혼란스러워집니다.
  3. 연출 지시를 순서대로 작성하세요. 모델은 적힌 순서대로 동작 체인을 실행합니다——이것이 5초 클립에서의 타임라인 제어입니다.
  4. 무엇이 움직이지 않아야 하는지 명시하세요. “카메라는 완전히 고정되어 움직이지 않음”과 “빛은 일정하게 유지된다”는 준수되며 모델의 기본 드리프트를 억제합니다.
  5. 환경 움직임으로 사실감을 확보하세요. 김, 비, 파도, 새——각각 짧은 문장 하나면 되고 지각 품질의 보상이 큽니다.

비용

wan2.7-video/image-to-video는 출력 해상도에 따라 결정되는 초당 표준 요금으로 청구됩니다:

해상도 가격 5초 클립 15초 클립 (최대)
720P 초당 $0.10 $0.50 $1.50
1080P 초당 $0.167 $0.835 $2.505

이 글의 세 클립 모두——14초로 완성된 720P 비디오(실제 출력에서 1280×720, 30 fps로 측정)——합계 $1.40이 들었고, 태스크가 서버에서 병렬로 실행되기 때문에 전체 배치가 제출 후 약 9분 만에 완료되었습니다. 현재 요금은 항상 가격 페이지에서 확인할 수 있습니다.

움직임 효과를 원하지만 먼저 프레임 이미지를 찾고 싶지 않다면, 같은 계열의 wan2.7-video/text-to-video가 동일한 초당 가격으로 실행되며 네이티브 오디오와 같은 15초 상한을 지원합니다——숏폼 가이드에서 엔드투엔드로 소개했습니다.

직접 해 보기

위의 세 프롬프트 중 하나를 골라 자신의 첫 프레임으로 바꾸면, 몇 분 안에 1달러보다 훨씬 적은 비용으로 클립을 돌려받을 수 있습니다. wan2.7-video/image-to-video 모델 페이지에서 실시간 파라미터 레퍼런스와 인터랙티브 플레이그라운드를 제공합니다——먼저 4초 720P 클립($0.40)으로 시작해 프롬프트를 반복 개선한 뒤 1080P 렌더링 제출 여부를 결정하세요.

영구 AI 아티팩트로 빌드 시작하기

API 키를 받아 태스크 기반의 하나의 API로 이미지, 비디오, 오디오 모델을 호출하세요.

API 문서 보기