Power Automate HTTP 요청 API: Sume 실행 시작과 폴링
Power Automate HTTP action으로 Sume API를 호출하세요. Format 실행을 시작하고, Do until 루프로 폴링하고, 키는 Key Vault 시크릿에서 읽습니다.

Power Automate에서 Sume API를 호출하려면 Authorization: Bearer 헤더와 Idempotency-Key를 담아 https://api.sume.com/v1/formats/{handle}/{slug}/runs로 POST하는 HTTP action을 추가하고, 실행의 cancelable이 false가 될 때까지 일 분짜리 Delay를 둔 Do until 루프에서 GET /v1/format-runs/{run_id}를 폴링하세요. 키는 플로 자체가 아니라 Key Vault 시크릿에서 읽으세요.
Sume에는 Power Automate 커넥터가 없습니다. HTTP action이 일반 HTTPS 호출을 보냅니다. Sume 관련 내용은 Format 호출하기 (영문)와 실행과 결과 (영문)에서 가져왔습니다. Microsoft 관련 내용은 Power Automate의 한도, 오류 레퍼런스, 디자이너, 문제 해결 페이지, Key Vault 시크릿에 관한 Power Apps 페이지, HTTP action과 Until 루프에 관한 Azure Logic Apps 페이지에서 가져왔습니다. Microsoft FAQ는 Logic Apps를 Power Automate의 기능에 더 많은 기능을 더한 서비스로 설명합니다. 모두 2026-09-27에 확인했습니다. 이 패턴의 웹훅 버전은 Zapier AI 영상 자동화를 참고하세요.
첫 호출 전에 플로에는 무엇이 필요한가요?
세 가지가 필요하며, 한 번만 설정하면 됩니다.
- 프리미엄 라이선스. Microsoft 오류 레퍼런스는 HTTP를 프리미엄 커넥터로 분류합니다. 프리미엄 커넥터가 있는 플로를 Microsoft 365에 포함된(seeded) 라이선스를 쓰는 사용자가 실행하면
DirectApiAuthorizationRequired로 실패합니다. 오류 레퍼런스가 제시하는 해결책은 플로를 트리거하거나 실행하는 사용자(예약 플로나 자동화된 플로라면 소유자)의 Power Automate Premium 라이선스, 또는 플로 단위 Process 라이선스입니다. formats:write와formats:read가 있는 Sume 키. Formats API가 출시되기 전에 만든 키에는 이 스코프가 없어403 insufficient_scope를 받습니다.- Azure Key Vault에 넣은 키. 솔루션 안의 Secret 유형 환경 변수로 참조합니다. Microsoft의 데이터 보호 가이드는 플로에 API 키를 하드코딩하지 말라고 합니다. 플로에 접근할 수 있는 사람은 누구나 실행 기록에서 액션의 입력을 열어 볼 수 있기 때문입니다.
Sume 키를 노출하지 않고 어떻게 넘기나요?
Secret 환경 변수는 동적 콘텐츠 선택기에 나오지 않으므로, Microsoft Key Vault 페이지가 보여 주는 대로 액션으로 시크릿을 읽으세요.
- Microsoft Dataverse의 Perform an unbound action 액션을 추가하고,
RetrieveEnvironmentVariableSecretValue를 고른 뒤, 변수의 고유 이름을 입력하고, 단계 이름을GetSecret으로 바꾸고, Secure outputs를 켜세요. - 각 Sume HTTP action에서
Authorization헤더 값을Bearer뒤에 식body('GetSecret')['EnvironmentVariableSecretValue']를 붙인 값으로 설정하고, 실행 기록에서 가려지도록 Secure inputs를 켜세요. Authorization: Bearer나x-api-key중 하나만 보내고, 둘 다 보내지 마세요.
HTTP action으로 실행을 어떻게 시작하나요?
Start_run이라는 이름의 HTTP action을 추가하고, 메서드는 POST, URI는 카탈로그 Format인 https://api.sume.com/v1/formats/sume/sume-product-usage-demo/runs 또는 직접 만든 Format의 {handle}/{slug}로 설정하세요. Content-Type: application/json과 Idempotency-Key 헤더를 추가하세요. 본문에는 instruction, input, previous_run_id, attachments 중 최소 하나가 있어야 합니다.
{
"instruction": "Make a vertical product demo from the attached photo.",
"attachments": [
{ "type": "input_image", "image_url": "https://example.com/product.jpg" }
],
"generation_spend_cap_usd": 20
}Start_run의 어떤 설정이 중복 호출과 멈춘 호출을 막나요?
생성 호출에서는 세 가지 설정이 중요합니다.
Idempotency-Key는 플로를 트리거한 항목에 버전을 붙여 만드세요. 기본 재시도 정책은 프리미엄 커넥터를 쓰는 medium, high 프로필에서 최대 12번까지 재시도하며, Sume는 같은 키와 본문으로 다시 온 요청에 원래 실행으로 응답합니다.200이 돌아오고 두 번째 청구는 없습니다.- HTTP action에 Asynchronous pattern 설정이 있다면 끄세요. Microsoft의 Logic Apps 페이지는 HTTP action의 이 설정이 기본으로 켜져 있다고 설명하고,
202에 location 헤더가 없는 엔드포인트라면 액션이 계속 확인하지 않도록 이 설정을 끄라고 제안합니다. Sume의202는 실행의 URL을 JSON 본문에 담으며, 문서화된 응답 헤더에 location 헤더는 없습니다. generation_spend_cap_usd는 이 실행의 생성 비용 상한이며, 플랫폼 최대치인 $500까지 설정할 수 있습니다.
실행이 끝날 때까지 어떻게 폴링하나요?
Do until 루프를 추가하세요. 루프 안에 일 분짜리 Delay를 넣고, 이어서 Get_run이라는 이름의 HTTP GET을 추가합니다. 주소는 https://api.sume.com/v1/format-runs/ 뒤에 식 body('Start_run')['data']['id']를 붙인 값이고, 헤더는 앞과 같이 보안 처리한 헤더를 씁니다. 조건을 body('Get_run')['data']['cancelable'] is equal to false로 두고 반복하세요. cancelable은 모든 영수증에 있는 불리언이며, 실행이 queued나 processing인 동안 true입니다.
- 루프 안에서 받은
429나503은 일시적인 오류입니다. 실행은 여전히 진행 중이고 비용도 계속 쓰고 있으니, 기다렸다가 다시 폴링하세요. - Microsoft의 Logic Apps 루프 페이지에 따르면, 실행 기록은 루프 전체가 끝난 뒤에야 각 반복의 세부 정보를 보여 줍니다.
| 설정 | Microsoft 수치 | Sume 실행에는 | 이유 |
|---|---|---|---|
| 루프 안의 Delay | — | 1분 | Sume는 간격을 두 배씩 늘리되 최대 일 분까지 백오프하라고 합니다. |
| Until 반복 횟수(Count) | 기본 60, 최대 5,000 | 100 | 일 분에 한 번 폴링하면 60번 반복으로 약 한 시간을 감당합니다. |
| Until Timeout | Logic Apps 기본값: PT1H(한 시간) | PT2H | created_at 뒤 90분이 지나도 진행 중인 실행은 failed로 강제 종료됩니다. |
| 아웃바운드 동기 요청 | 120초 제한 | 범위 안 | 각 GET은 즉시 응답합니다. Microsoft는 더 오래 걸리는 작업에는 Until 루프를 쓰라고 제안합니다. |
끝난 실행으로 플로는 무엇을 하나요?
body('Get_run')['data']['status']에 조건을 추가하세요. 영수증의 모든 필드는 Sume Format 실행 수명주기에서 다룹니다.
completed:output,artifacts[],primary_output_url이 채워집니다. 미디어 URL은 만료되지 않는 내구성 있는media.sume.comHTTPS URL이며, URL을 가진 사람이라면 누구나 열 수 있습니다.failed:error에 실패 이유가 담기며,artifacts[]에는 그때까지 만들어진 결과물이 그대로 남습니다.canceled:POST …/cancel로 멈춘 실행입니다.skipped: 한 번도 실행되지 않았습니다. 다른 실행이 진행 중일 때on_active_run: "skip"으로 보냈기 때문입니다.
출처
- Format 호출하기 (영문)
- 실행과 결과 (영문)
- Format 카탈로그 (영문)
- Power Automate: 클라우드 플로 한도 (2026-09-27 확인)
- Power Automate: 오류 레퍼런스 (2026-09-27 확인)
- Power Automate: 클라우드 플로 디자이너 (2026-09-27 확인)
- Power Automate: 클라우드 플로에서 쓰는 데이터 보호 (2026-09-27 확인)
- Power Apps: Azure Key Vault 시크릿용 환경 변수 (2026-09-27 확인)
- Power Automate: 자주 묻는 질문 (2026-09-27 확인)
- Power Automate: 느리게 실행되는 플로 문제 해결 (2026-09-27 확인)
- Azure Logic Apps: HTTP 또는 HTTPS 엔드포인트 호출 (2026-09-27 확인)
- Azure Logic Apps: 루프 추가 (2026-09-27 확인)
관련 글
연동 카테고리의 다른 글
- Pydantic AI MCP 서버: 에이전트에 Sume 호스팅 도구 연결
MCPToolset과 API 키 헤더로 Pydantic AI 에이전트를 Sume 호스팅 MCP 서버에 연결하고, 도구를 걸러 내고, 유료 호출은 승인 전까지 보류하세요.
- FastAPI·Django에서 Python 웹훅 HMAC 검증하기
Python에서 Sume 웹훅 검증하기: timestamp.raw_body에 대한 HMAC-SHA256을 계산하고, 서명 헤더를 쉼표로 나눠 상수 시간으로 비교한 뒤 빠르게 응답하세요.
- Shopify 제품 영상 AI API: products/create 웹훅
Shopify products/create 웹훅에 오 초 안에 응답하고, 큐에서 Sume Format을 실행한 뒤 staged upload로 MP4를 Shopify에 올리세요.
- Slack 영상 생성 봇: Sume API로 만드는 슬래시 커맨드
Slack 슬래시 커맨드에 3000 ms 안에 응답하고 callback_url과 함께 POST /v1/videos를 제출한 뒤, Sume 웹훅이 오면 response_url로 URL을 게시하세요.
작성자 Sume