사진으로 AI 생일 축하 영상 만들기: 움직임·음악·문구

사진 몇 장을 짧은 클립으로 움직이고, 새로 만든 연주곡 위에 이어 붙인 뒤, 메시지를 화면에 입혀 AI 생일 영상을 만드세요.

읽는 시간 6분Sume
전체 가이드

AI 생일 영상을 만들려면 이미지로 영상 만들기 모델을 써서 생일을 맞은 사람의 사진 몇 장을 짧은 클립으로 움직이고, 새로 만든 연주곡 트랙 위에 클립을 이어 붙인 뒤, 메시지를 텍스트로 화면에 넣으세요. 각 사진은 그 클립의 첫 프레임이 되므로 영상은 여러분이 고른 사진으로 시작하고, 입력한 문구는 생성되는 대신 텍스트로 입혀집니다.

Sume에서는 에이전트 탭에서 영상을 설명하고, 진행되는 대로 검토할 수 있습니다. 에이전트가 모델을 고르고, 비용을 쓰기 전에 먼저 확인을 받습니다. API로는 아래와 같이 호출 네 번입니다. 내용은 2026-09-28에 확인한 영상 생성 (영문), Music Router (영문), Timeline 1.0, 영상 캡션 문서에서 가져왔으며, 현재 동작이라고 표시한 제한은 Sume의 코드에서 확인한 것입니다.

AI로 사진을 생일 영상으로 만들려면 어떻게 하나요?

  • 사진마다 움직이기: 공개 HTTPS URL에 올린 사진을 frame_images의 first_frame으로 POST /v1/videos에 보내고, 잔잔한 움직임을 프롬프트로 주세요.
  • 음악 만들기: POST /v1/music-router/generate로 브리프를 보내세요. 예를 들면 “Bright acoustic pop, 112 BPM, ukulele and handclaps, a big finish at 0:25. A 30-second track. Instrumental, no vocals.”(밝은 어쿠스틱 팝, 112 BPM, 우쿨렐레와 박수, 0:25에 크게 마무리. 30초 트랙. 연주곡, 보컬 없음) 같은 브리프입니다. 기존 곡 이름을 대지 말고, 새 연주곡을 여러분의 말로 요청하세요.
  • 클립 잇기: 아래에 나온 Timeline 1.0 렌더 한 번으로, 클립은 video[] 슬롯에 넣고, 길이는 audio.mode: "silence"로 정하고, 트랙은 gain_db: 0의 반복되는 soundtrack으로 넣습니다. 이미지 슬라이드쇼와 같은 방식이지만 움직이는 클립을 씁니다. 클립과 트랙은 Sume 출력물이므로 그 media.sume.com URL을 그대로 쓸 수 있습니다. 현재 코드에서는 클립 자체의 소리가 빠지므로, 들리는 것은 트랙입니다.
  • 메시지 넣기: 렌더 결과의 video_url과 함께, 넣을 문구를 시간을 지정한 cues로 담아 POST /v1/video-captions에 보내세요(다음 섹션 참고).
curl -X POST https://api.sume.com/v1/timeline-1.0/render \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: birthday-edit-001" \
  -d '{
    "audio": { "mode": "silence", "duration_seconds": 15 },
    "soundtrack": { "url": "https://media.sume.com/artifacts/artf_demo/birthday-track.mp3", "gain_db": 0, "loop": true, "fade_out_seconds": 2 },
    "video": [
      { "source_url": "https://media.sume.com/artifacts/artf_demo/photo-1.mp4", "start": 0, "duration": 5 },
      { "source_url": "https://media.sume.com/artifacts/artf_demo/photo-2.mp4", "start": 5, "duration": 5, "transition": { "type": "fade", "duration": 0.5 } },
      { "source_url": "https://media.sume.com/artifacts/artf_demo/photo-3.mp4", "start": 10, "duration": 5, "transition": { "type": "fade", "duration": 0.5 } }
    ]
  }'

AI 생일 영상 프롬프트에는 무엇을 써야 하나요?

  • 사진에 어울리는 작은 움직임과 단순한 카메라: “She laughs and leans toward the cake as the candles flicker. Slow push-in, warm indoor light.”(촛불이 깜박이는 가운데 그녀가 웃으며 케이크 쪽으로 몸을 기울임. 천천히 푸시인, 따뜻한 실내 조명)
  • 이름, 나이, 날짜는 넣지 마세요. 정확한 문구를 직접 정할 수 있는 텍스트 단계에서 넣습니다.
  • 모든 클립에 같은 화면 비율: 세로 영상이면 aspect_ratio: "9:16", 가로 영상이면 "16:9"로 하고, 사진도 그에 맞게 자르세요. 렌더의 기본 출력은 1080×1920이므로, 가로 영상이라면 output.width와 output.height를 지정하세요.
  • 동의한 사람의 사진이나 사용 허락을 받은 사진을 쓰세요. 얼굴은 달라질 수 있습니다. 첫 프레임 이후의 모든 프레임은 생성되므로, 클립마다 확인하고 누군가 달라 보이면 다시 생성하세요.

생일 메시지는 화면에 어떻게 넣나요?

자막 Job으로 입히세요. cue마다 text와 초 단위의 start, end가 있으며, cue를 쓰면 음성 인식을 건너뛰고 그 문구를 그 시각에 입힙니다. 같은 단계로 파티 초대 영상도 만들 수 있습니다. 날짜, 시간, 장소를 cue에 넣으세요.

음악을 넣은 뒤 완성된 편집본에 자막을 입히세요. 현재 코드에서 자막 Job은 cue를 보내더라도 60초를 넘는 영상이나 오디오 스트림이 없는 영상을 거부합니다. style을 생략하면 라틴 문자 텍스트에는 slam이 적용되는데, 현재 코드에서 이 스타일은 문구를 대문자로 보여 주고 프레임 위에 옅은 어두운 틴트를 깝니다. 줄이 놓이는 위치는 영상에 텍스트 넣는 방법에서 다룹니다.

curl -X POST https://api.sume.com/v1/video-captions \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: birthday-text-001" \
  -d '{
    "video_url": "https://media.sume.com/artifacts/artf_demo/birthday-edit.mp4",
    "cues": [
      { "text": "Happy 7th birthday, Maya!", "start": 0, "end": 4 },
      { "text": "Love, Grandma and Grandpa", "start": 11, "end": 15 }
    ]
  }'

AI 생일 영상 비용은 얼마인가요?

호출 네 번에 가격도 네 가지입니다. 예시처럼 15초짜리 영상이라면 클립 세 개, 트랙 하나, 렌더 한 번, 자막 Job 하나가 듭니다.

영상 생성 (영문), Music Router (영문), Timeline 1.0, 영상 캡션 기준, 2026-09-28 확인. 각 요율에는 기본적으로 5.5% 에이전트 수수료가 더해집니다. API 요금을 참고하세요.
단계호출가격
사진마다 움직이기POST /v1/videos모델별, 공급사 정가 × 1.25. GET /v1/videos/models의 pricing_skus 참고
음악POST /v1/music-router/generate오디오 생성 건당 $0.125
잇기POST /v1/timeline-1.0/render출력 분당 $0.10, 분 단위로 예약
메시지POST /v1/video-captions60초 이하 영상 기준 Job당 $0.20

어떤 제한이 있나요?

  • 현재 코드에서 자막 단계는 60초 이하 영상만 받으므로, 완성된 영상을 그 안으로 맞추거나 나누세요. 나누는 방법은 API로 긴 영상에 자막 넣기에서 보여 줍니다.
  • 클립 하나의 길이는 모델에 따라 2–30초입니다. 위 예시의 5초 슬롯에 6초 클립을 쓰듯, 각 클립을 슬롯보다 일 초 길게 만드세요. 현재 코드에서 페이드가 되려면 페이드로 이어지는 클립이 페이드 길이만큼 슬롯을 넘어 재생되어야 하며, 그렇지 않으면 하드 컷으로 렌더됩니다.
  • 사진 URL은 공개 HTTPS여야 하며, 렌더와 자막 단계는 Sume가 반환한 media.sume.com 파일을 씁니다.
  • 음악 길이는 설정하는 것이 아니라 프롬프트로 유도합니다. Music Router는 duration을 거부합니다. 트랙이 짧으면 반복되는 soundtrack으로 메우면 됩니다.

출처

관련 글

활용 사례 카테고리의 다른 글

활용 사례 글 전체 보기

작성자 Sume