비포 애프터 영상 생성 API: 변화를 드러내는 장면 만들기

Sume API로 비포 애프터 영상을 만들려면 sume-before-after Format을 호출하거나, 첫·마지막 프레임을 지정한 클립을 만들거나, 스틸 두 장을 Timeline 와이프로 이으세요.

읽는 시간 5분Sume
전체 글

Sume API로 비포 애프터 영상을 만들려면 실제 비포 사진과 애프터 사진을 attachments에 넣어 카탈로그 Format sume-before-after를 호출하세요. 같은 사진 한 쌍으로 쓸 수 있는 경로가 두 가지 더 있습니다. 비포 사진을 first_frame, 애프터 사진을 last_frame으로 넣어 POST /v1/videos로 변화를 생성하거나, 두 이미지가 모두 Sume에 호스팅된 뒤라면 Timeline 1.0 렌더에서 한쪽에서 다른 쪽으로 와이프해 아무것도 생성하지 않고 이을 수 있습니다.

아래 내용은 Format 카탈로그 (영문), Format API (영문), Format 호출하기 (영문), 영상 생성 (영문), Timeline 1.0 문서 페이지와 이 Format의 공개 설명에서 가져왔으며, 2026-09-27에 확인했습니다. 프레임 필드 자체는 Image-to-Video API: 첫 프레임과 마지막 프레임 지정에서 다룹니다.

변화 장면은 어떤 방식으로 만들어야 하나요?

Format은 제작 결정을 대신 내려 주고, 프레임 경로는 움직임을 모델과 프롬프트에 맡기며, Timeline 와이프는 주어진 이미지 두 장을 조립하기만 합니다.

Format 호출하기 (영문), 영상 생성 (영문), Timeline 1.0 기준, 2026-09-27 확인.
`sume-before-after`양 끝 프레임 생성Timeline 와이프
엔드포인트POST /v1/formats/sume/sume-before-after/runsPOST /v1/videosPOST /v1/timeline-1.0/render
사진attachments에 공개 HTTPS URLframe_images에 공개 HTTPS URL워크스페이스의 media.sume.com 아티팩트나 에셋
사진 사이Format의 레시피와 도구가 결정모델이 prompt를 바탕으로 움직임 생성정지 화면 유지 후 와이프. ffmpeg만 사용, 프로바이더 추론 없음
과금생성은 API 요금의 요율로 계량, generation_spend_cap_usd로 상한 설정공급사 정가 × 1.25로 예약, 기본 5.5% 에이전트 수수료 추가출력 분당 $0.10, 기본 5.5% 에이전트 수수료 추가

비포 애프터 Format은 무엇을 만드나요?

sume-before-after는 “a finished before-and-after transformation video with matched identity, framing, lighting, and a clear reveal”(동일성, 구도, 조명이 일치하고 변화가 분명히 드러나는 완성된 비포 애프터 변화 영상)을 만듭니다. 설명은 “beauty routines, styling changes, cleaning demos, fitness presentation, and product transformations backed by supplied evidence”(제공된 근거로 뒷받침되는 뷰티 루틴, 스타일링 변화, 청소 데모, 피트니스 프레젠테이션, 제품 변화)를 꼽으며, “Not for: static campaign deliverables”(정적인 캠페인 결과물용 아님)로 끝납니다. 근거는 직접 제공해야 합니다. 실제 비포와 애프터 사진을 보내고, “matched identity”(동일성 일치)를 비롯한 그 표현은 보장이 아니라 Format의 목표로 받아들이세요.

formats:write가 있는 키로 호출하세요. 각 사진에는 에이전트가 보는 라벨인 filename을 붙이고, 어느 사진이 어느 쪽인지 instruction에 적으세요. instruction이 레시피와 어긋나면 instruction이 우선합니다.

curl -sS -X POST "https://api.sume.com/v1/formats/sume/sume-before-after/runs" \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: kitchen-reveal-v1" \
  -d '{
    "instruction": "Reveal video: before.jpg is the kitchen before cleaning, after.jpg is after.",
    "attachments": [
      { "type": "input_image", "image_url": "https://example.com/before.jpg", "filename": "before.jpg" },
      { "type": "input_image", "image_url": "https://example.com/after.jpg", "filename": "after.jpg" }
    ],
    "generation_spend_cap_usd": 20
  }'

사진 두 장 사이의 변화를 생성하려면 어떻게 하나요?

POST /v1/videos의 frame_images에 사진 두 장을 모두 넣으세요. 비포 사진은 frame_type: "first_frame"으로, 애프터 사진은 "last_frame"으로 보냅니다. 모델이 prompt를 바탕으로 두 사진 사이의 움직임을 생성하므로, 클립의 중간 부분은 실제 기록이 아니라 연출로 다루세요. 두 번째 사진은 supported_frame_images에 last_frame이 있는 모델만 받습니다. 문서의 seedance-2 항목에는 둘 다 나와 있고, 나머지 모델은 GET /v1/videos/models에서 확인할 수 있습니다.

curl -X POST https://api.sume.com/v1/videos \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: kitchen-both-ends-v1" \
  -d '{
    "model": "seedance-2",
    "prompt": "One continuous shot as the cluttered kitchen becomes clean",
    "duration": 5,
    "frame_images": [
      { "type": "image_url", "image_url": { "url": "https://example.com/before.jpg" }, "frame_type": "first_frame" },
      { "type": "image_url", "image_url": { "url": "https://example.com/after.jpg" }, "frame_type": "last_frame" }
    ]
  }'

아무것도 생성하지 않고 와이프로 변화 장면을 만들려면 어떻게 하나요?

Timeline 1.0은 프로바이더 추론 없이 ffmpeg만으로 미디어를 조립합니다. 두 이미지를 video[]에 스틸로 넣으세요. 스틸은 정지 화면으로 유지되며, 두 번째 슬롯에는 wipeleft나 wiperight 전환 효과를 지정합니다. 음성 트랙이 없으면 audio.mode: "silence"가 길이를 선언합니다.

  • 모든 URL은 앞서 실행한 Sume Job의 출력처럼 이미 워크스페이스에 있는 media.sume.com 아티팩트나 에셋이어야 하며, 호스트 밖 URL은 접수 단계에서 거부됩니다. 문서에 따르면 업로드 헬퍼는 기본 공개 API 경로가 아니므로, 이 경로는 Sume가 이미 호스팅하는 이미지에 맞습니다.
  • 전환 효과는 첫 슬롯 이후의 슬롯에 지정하며, 길이는 최대 1초이면서 이웃한 두 슬롯 중 짧은 쪽의 50% 이하입니다. 더 많은 규칙은 영상 전환 효과(트랜지션) API에 있습니다.
  • POST /v1/timeline-1.0/plan은 Job을 만들거나 크레딧을 예약하거나 미디어를 내려받지 않고 문서를 검사합니다. 렌더링 전 영상 타임라인 JSON 검증을 참고하세요.
  • 기본 출력은 1080×1920 MP4입니다.
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: kitchen-wipe-v1" \
  -d '{
    "audio": { "mode": "silence", "duration_seconds": 6 },
    "video": [
      { "source_url": "https://media.sume.com/artifacts/artf_demo/before.png", "start": 0, "duration": 3 },
      { "source_url": "https://media.sume.com/artifacts/artf_demo/after.png", "start": 3, "duration": 3,
        "transition": { "type": "wipeleft", "duration": 0.8 } }
    ]
  }'

경로별 한도는 어떻게 되나요?

같은 문서 페이지에 나온 한도입니다.

  • Format: 첨부 파일은 JPEG, PNG, WebP, GIF, AVIF 형식으로 최대 30장이며, 한 장당 30 MB, 실행당 500 MB까지입니다. API 실행은 무인 실행이며, 끝낼 수 없는 실행은 반쯤 끝난 completed가 아니라 failed로 돌아옵니다.
  • 양 끝 프레임: 프레임 URL은 공개 HTTPS여야 합니다. 요청에 input_references도 있으면 frame_images가 우선합니다.
  • Timeline: 슬롯은 1–200개이고 각각 최소 0.2초이며, 출력은 1–1800초입니다. 첫 슬롯의 전환 효과는 transition_on_first_segment로 거부됩니다. 예약량은 ceil(audio.duration_seconds / 60)분이므로, 짧은 변화 장면은 일 분을 예약합니다.

출처

관련 글

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

활용 사례 글 전체 보기

작성자 Sume