Sume Job 타입과 동시성: 슬롯을 차지하는 호출

Sume 엔드포인트별 Job 타입과 슬롯 사용 여부입니다. 트림과 Timeline을 포함한 모든 생성 Job은 동시성 슬롯을 차지하고, 프레임과 검사는 차지하지 않습니다.

읽는 시간 5분Sume
전체 글

Sume API에서 생성 Job을 만드는 엔드포인트는 모두 워크스페이스 접수(admission) 슬롯을 차지하며, 트림, 필터, Timeline 같은 미디어 도구도 여기에 포함됩니다. Job은 queued인 동안에는 큐 용량에, processing인 동안에는 동시성 한도에 포함됩니다. 여기서 정리한 도구 가운데 video_frames와 video_inspect Job은 슬롯을 차지하지 않으며, Job을 만들지 않는 호출도 마찬가지입니다.

문서에는 Job 타입이 몇 가지만 나오기 때문에 타입 매핑은 Sume API 코드에서 읽었으며, 현재 동작으로 보면 됩니다. 접수 규칙은 2026-09-27에 확인한 Generation admission 문서와 각 도구 페이지에서 가져왔습니다. 큐잉과 429 queue_full의 동작은 영상 Job 동시성과 큐에서 다룹니다.

엔드포인트마다 어떤 Job 타입을 만드나요?

아래 type은 Job 봉투의 필드이자 GET /v1/jobs가 필터링에 쓰는 값입니다. 각 행은 해당 엔드포인트를 다루는 글로 연결됩니다.

레거시 Image Router·Video Router 경로와 은퇴 예정인 Image 1.0, Video 1.0, Music 1.0 경로는 현재 대응 경로와 같은 타입을 만듭니다.

API 코드, Generation admission, 영상 프레임, 영상 검사 기준, 2026-09-27 확인.
엔드포인트Job 타입슬롯 사용 여부
Image API: POST /v1/imagesimage_generation예
영상 생성: POST /v1/videosvideo_generation예
Music Router: POST /v1/music-router/generatemusic_generation예
텍스트 음성 변환: TTS 1.0과 TTS Routertext_to_speech예
음성 인식: POST /v1/stt-1.0/transcribespeech_to_text예
배경 제거: POST /v1/rmbg-1.0/removebackground_removal예
이미지 업스케일과 영상 업스케일image_upscale, video_upscale예
아바타 만들기: POST /v1/avatar-1.0/generateavatar_generation예
말하는 영상과 프리뷰(regenerate, generate-video 포함)avatar_video예
페이스 스왑(베타)avatar_face_swap예
립싱크(VEED Fabric 1.0, MiniMax H3 Max Lip Sync)와 Kling 3.0 Motion Controlavatar_image_to_video예
자막: POST /v1/video-captionsvideo_caption예
Timeline, 합성과 오디오, 트림, 필터, 오디오 분리timeline_render예
프레임: POST /v1/video-framesvideo_frames아니요
검사: POST /v1/video-inspectvideo_inspect아니요(transcribe: true로 금액을 예약하는 경우에도)

트림과 필터는 왜 timeline_render로 나오나요?

여섯 가지 도구가 Job 타입 하나를 함께 쓰는 이유는 모두 같은 종류의 작업, 즉 Sume에 호스팅된 미디어에 ffmpeg 패스를 한 번 실행하는 작업이기 때문입니다. 이 도구들은 그 타입의 동시성 가드와 접수 슬롯을 공유하므로, 트림을 여러 건 한꺼번에 보내면 렌더나 생성 작업과 같은 슬롯을 두고 경쟁합니다. GET /v1/jobs?type=timeline_render는 여섯 가지를 모두 반환하며, Job의 model과 결과의 kind로 구분할 수 있습니다.

Timeline 1.0, 타임라인 오디오, 타임라인 합성, 영상 필터, 영상 트림, 오디오 분리 기준, 2026-09-27 확인.
도구Job 모델결과 kind
Timeline 렌더sume/timeline-1.0timeline_render
타임라인 오디오sume/timeline-1.0/audiotimeline_audio
타임라인 합성sume/timeline-1.0/composetimeline_compose
영상 필터sume/video-filter-1.0video_filter
영상 트림sume/video-trim-1.0video_trim
오디오 분리sume/audio-detach-1.0audio_detach

슬롯을 전혀 차지하지 않는 호출은 무엇인가요?

프레임과 검사는 생성 Job이 아닌 미디어 Job을 만들며, Job을 아예 만들지 않는 호출도 있습니다.

  • video_frames: 과금되지 않으며, 접수 슬롯도 예약도 없습니다.
  • video_inspect: 접수 슬롯이 없습니다. 프로브와 스틸은 과금되지 않으며, transcribe: true는 음성 인식 요율로 금액을 예약하지만 이때도 슬롯은 차지하지 않습니다.
  • Job 없음: POST /v1/timeline-1.0/plan과 POST /v1/video-filter/check는 과금되지 않는 검사이고, POST /v1/trending-videos/search는 응답 본문으로 바로 결과를 돌려줍니다.

슬롯 수는 어떻게 세고, Job은 타입별로 어떻게 조회하나요?

생성 제출 응답에는 Sume가 계산할 수 있을 때 generation_limits 스냅샷이 들어 있습니다. active_generation_jobs는 processing 상태인 생성 Job 수, queued_generation_jobs는 queued 상태인 생성 Job 수이고, concurrency_limit은 유효 상한입니다. 표에서 슬롯 사용 여부가 ‘예’인 타입은 모두 여기에 집계됩니다.

GET /v1/jobs는 type과 status로 한 페이지의 결과를 좁힙니다. OpenAPI에서 type은 enum이 아니라 자유 문자열이므로 위 표의 값을 쓰세요. 인식되지 않는 쿼리 파라미터는 400 unknown_parameter를 반환합니다. 페이지 넘기기는 Job 목록 조회와 복구에서 다룹니다.

curl "https://api.sume.com/v1/jobs?type=timeline_render&status=queued&limit=100" \
  -H "Authorization: Bearer $SUME_API_KEY"

출처

관련 글

개발자 카테고리의 다른 글

개발자 글 전체 보기

작성자 Sume