Sume 실행이 AI 생성 영상을 전달했는지 확인하는 방법
Sume 실행을 전달 완료로 세기 전에 status와 primary_output_url을 확인하고, filled_by를 읽고, 파일을 프로브하세요. Sume가 검사하는 것과 하지 않는 것을 정리했습니다.

Sume Format 실행이 AI 생성 영상을 실제로 전달했는지 확인하려면, 영수증이 completed이고 primary_output_url이 null이 아닌지 확인하고, output_schema.filled_by를 읽어 구조화 출력을 누가 썼는지 본 다음, 파일 자체를 프로브하세요. 문서에 따르면 primary_output_url에 ffprobe를 돌리면 이 초 만에 끝나며, 이것이 조립된 완성본과 완성본처럼 생긴 클립을 가려내는 유일한 방법입니다.
아래 검사 항목은 2026-09-26에 확인한 Sume 문서 구조화 출력 (영문)과 오류와 비용 (영문) 페이지, 그리고 API 레퍼런스에서 가져왔습니다. 스키마를 바인딩하는 방법 자체는 Sume Format 구조화 출력에서 다룹니다.
자동 검사는 무엇부터 봐야 하나요?
문서는 바로 이 경우, 즉 스모크 매트릭스, 파트너 연동, 대시보드에서 실행을 자동으로 채점하는 경우를 다룹니다. 영수증은 다음 순서로 읽으세요.
status가completed인지 봅니다. 실패하면 언제나primary_output_url이 null이므로,if (run.primary_output_url)은 “the deliverable exists”(완성본이 있음)를 확인하는 안전한 검사이며 부분 결과에 속지 않습니다.output_error가 null인지 봅니다.output을 읽기 전에 확인하세요.output_schema.filled_by가agent인지projection인지 봅니다.output이 null일 때와 내장 스키마에서는 이 값이 없습니다.primary_output_url뒤의 파일이 기대한 것인지 봅니다. 영상이라면 옆에 적힌 숫자가 아니라 파일 자체를 읽으세요.- 판정과 함께
artifacts[]메타데이터를 보관하세요. 각 파일에는content_type,size_bytes,width,height,duration_ms,checksum_sha256이 담겨 있습니다.
RUN=$(curl -sS "https://api.sume.com/v1/format-runs/$RUN_ID" \
-H "Authorization: Bearer $SUME_API_KEY")
echo "$RUN" | jq '{status: .data.status, primary: .data.primary_output_url,
filled_by: .data.output_schema.filled_by, output_error: .data.output_error}'filled_by는 실행에 대해 무엇을 알려 주나요?
agent이면 실행이 자기 턴 안에서 객체를 제출한 것이고, projection이면 실행이 끝난 뒤의 별도 패스가 실행이 생성한 미디어와 마무리 텍스트로 객체를 다시 만든 것입니다. QA에서 중요한 패턴은 하나입니다. projection은 input을 절대 보지 못하므로, 브리프에서 오는 제목, 설명, ID는 null로 돌아오고 미디어 필드만 채워집니다.
filled_by: "projection"에 문구가 null이라면, Format이 카피를 빠뜨린 모양이 아니라 실행이 일찍 멈춘 모양입니다. 영상을 내보내기 전에 프로브해야 할 이유로 삼으세요.
output이 도착하기 전에 Sume는 무엇을 검사하나요?
모든 커스텀 output은 게이트를 거칩니다. 실행은 실제 미디어 URL과 함께 스키마에 맞는 출력을 돌려주거나, output: null과 그 이유를 돌려줍니다. 스키마 모양을 한 추측은 절대 돌려주지 않습니다. API에서는 projection 실패가 곧 실행 실패이며, 실행이 만들지 않은 미디어는 details.rejected_urls[](앞 10개)와 함께 output_schema_unsatisfied로 나타납니다.
| 검사 | 만족해야 할 조건 | 잡아내는 것 |
|---|---|---|
| URL, 첫 번째 패스 | 객체 안 어느 깊이에 있든 모든 http(s):// 문자열이 이 실행이 만든 미디어와 정확히 일치 | 형태가 올바르고 그럴듯하지만 실행이 만들지 않은 media.sume.com URL |
| URL, 두 번째 패스 | SumeMediaFile 형태인 값의 url은 내용과 상관없이 모두 수집 | "none"이나 "" 같은 자리표시자 |
| 생성된 것만 | 집합에는 실행이 업로드만 한 파일이 아니라 생성한 미디어만 들어감 | 스키마 필드에 넣은 업로드 URL. 이 URL 하나로 output 전체가 무효가 됨 |
| 길이 | duration_ms가 원장에 기록된 길이와 10% 이내로 일치 | 다른 파일을 설명하는 길이 |
| 전체와 부분 | 조립된 파일은 자기 부분 중 하나가 아님 | succeeded인 부분이 둘 이상 있고, 모든 부분 바깥의 영상이 그중 한 파일을 다시 쓰는 경우 |
| 스키마 | 객체가 output_schema에 대해 검증됨 | 모든 형태 위반 |
Sume가 검사하지 않는 것은 무엇인가요?
위 표에 있는 검사 외에 게이트는 아무것도 검사하지 않습니다. ID, 라벨, 자막, 개수는 projection 패스가 실행의 미디어 메타데이터와 마무리 텍스트에서 읽어 낸 값입니다. 이 값들은 실행이 보고한 내용에 근거할 뿐 그 내용과 대조해 검증된 것이 아니므로, 측정값이 아니라 실행이 자기 작업을 스스로 설명한 것으로 다루세요.
- 직접 선언한
duration_seconds숫자는 projection이 씁니다. 검사를 받는 것은 미디어 파일의duration_ms입니다. - 원장에 길이가 기록되지 않았다면 아무것도 검사하지 않습니다.
null은 영이 아니라 “not measured”(측정하지 않음)를 뜻합니다. - Sume API에서 프로브하고 싶다면 영상 검사가 워크스페이스가 이미 소유한
media.sume.com클립 하나를 읽으며, 프로브와 스틸은 과금되지 않습니다.
영상이 전달되지 않았다는 뜻의 실패 코드는 무엇인가요?
다음 코드는 실행을 실패시키므로 primary_output_url은 null로 남습니다.
deliverable_missing: Format이io.output_kind에 미디어를 선언했는데 이 실행은 하나도 만들지 않았습니다.agent_reported_failure: 실행 스스로 결과를 전달하지 못했다고 보고했습니다. 예를 들어 미디어 슬롯이failed나stand-in을 보고했거나, 영상 키 아래에 오디오나 스틸이 들어간 경우입니다.incomplete_assembly: 생성 Job이 끝나지 않은 채 실행이 시간 한도에 도달해, 전달된 미디어가 비용을 치른 것 전부가 아닙니다.unattended_blocked: 수집된 미디어가 완성본이 아니라 중간 결과물이므로assembled_deliverable이false입니다.- 나머지 모든 코드와 재시도 시점은 Sume Format 실행 실패 코드에 있습니다.
출처
관련 글
작성자 Sume