사진으로 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