---
title: "멈춘 제작 풀기·일시정지·진행 방식 바꾸기"
method: POST
path: "/runs/{id}/actions"
---

# 멈춘 제작 풀기·일시정지·진행 방식 바꾸기

`POST /runs/{id}/actions`

## Request

- Base URL: `https://vidia.kr/api/v1`
- URL: `https://vidia.kr/api/v1/runs/{id}/actions`
- Auth: HTTP bearer

필요한 키 권한: run

## Path parameters

- `id` integer, required

## Request body

- object
  - `action` 'add_budget' | 'approve_price' | 'retry' | 'resume' | 'finish' | 'pause' | 'set_mode' | 'resend_external' | 'cancel' | 'skip' | 'more' | 'continue' | 'choose' | 'partial' | 'start' | 'acknowledge', required: 보낼 동작(GET /runs/{id} 의 actions 중 하나)
  - `add` integer: add_budget: 더 승인할 포인트
  - `idempotency_key` string: add_budget: 중복 승인을 막는 키
  - `approval_id` integer: approve_price: pending.priceApprovals 의 approval_id
  - `headroom_pct` integer: approve_price: 추가 허용폭 %
  - `step_id` integer: choose: pending.candidates 의 step_id
  - `rounds` integer: more: 더 다시 만들 횟수
  - `mode` 'AUTO' | 'MANUAL': set_mode
  - `confirm` boolean: add_budget·approve_price·resend_external 은 사용자 확인 뒤 true

## Response `200`

제작

- Run
  - `id` integer, required: 제작 번호
  - `test` boolean: 시험용 키의 모의 제작이면 true
  - `title` string, nullable
  - `state` 'QUEUED' | 'RUNNING' | 'AWAITING_APPROVAL' | 'PAUSED' | 'COMPLETED' | 'FAILED' | 'CANCELLED', required: 상태
  - `stateLabel` string: 상태 이름
  - `outcome` string, nullable: PARTIAL 이면 부분 완성
  - `budget` integer, nullable
  - `spent` integer, nullable
  - `createdAt` string, date-time, nullable
  - `scheduledAt` string, date-time, nullable
  - `completedAt` string, date-time, nullable
  - `hasVideo` boolean
  - `trashed` boolean
  - `readOnly` boolean: 관리자 키로 다른 회원의 제작을 연 경우 true(조회·내려받기만)
  - `next` object[]: 끝난 제작에서 고를 수 있는 다음 일
    - `kind` string: download·upload_kit·retry·cancel·remake
    - `how` string: REST 요청
    - `mcp` string: MCP 도구 이름
    - `description` string: 설명
  - `actions` string[]: 지금 보낼 수 있는 동작
  - `pending` object, nullable: 멈춘 사정
    - `kind` string: 종류
    - `message` string: 안내문
    - `autoResume` boolean: 서버가 스스로 다시 이어 가는 중
    - `budget` object
      - `total` integer, nullable
      - `spent` integer, nullable
      - `available` integer, nullable
    - `fullRefundOnCancel` boolean: 취소하면 쓴 포인트를 모두 돌려받는가
    - `candidates` object[]
      - `step_id` integer: choose 에 넣을 번호
      - `score` number, nullable
      - `pass` boolean
    - `priceApprovals` object[]
      - `approval_id` integer: approve_price 에 넣을 번호
      - `point` number, nullable
  - `progress` object
    - `step` integer, nullable
    - `total` integer
  - `eta` object, nullable
    - `seconds` number, nullable
    - `finishAt` string, date-time, nullable
  - `webUrl` string, nullable

## Other responses

- `401`: 오류
- `402`: 오류
- `403`: 오류
- `404`: 오류
- `409`: 오류
- `422`: 오류
- `429`: 오류

---

[API](https://skmtc.dev/vidia/apis/api.md) · [All operations](https://skmtc.dev/vidia/apis/api/llms.txt) · [OpenAPI document](https://skmtc.dev/vidia/apis/api/revisions/884ff1a585a6?raw)
