videoProject
Signal기획안과 그것들이 함께 쓰는 에셋 시트를 담는, 이름 붙은 영상 제작 단위입니다.
Endpoints
16
REST API
16
Web Socket
0
MCP Tools
14
Base URL
Guards
Auth
REST API
POST/videoProject/createVideoProjectCanCreateVideoProjectMCPVideoProject 생성
POST/videoProject/createVideoProjectCanCreateVideoProjectMCP
VideoProject 생성
VideoProject 생성
Body
| Argument | Type | Values | Description |
|---|---|---|---|
data 데이터 | VideoProjectInput! | — | VideoProject 데이터 |
Returns
VideoProject!
| Field | Type | Values | Description |
|---|---|---|---|
id 아이디 | ID! | — | 유니크한 아이디값 |
createdAt 생성일 | Date! | — | 데이터 생성 시각 |
updatedAt 수정일 | Date! | — | 데이터 마지막 수정 시각 |
removedAt 삭제일 | Date | — | 데이터 삭제 시각 |
owner 소유자 | User! | — | 프로젝트의 소유자 |
name 이름 | String! | — | 프로젝트의 이름 |
description 설명 | String | — | 프로젝트의 설명 |
agentSession 대화 | ID | — | 이 프로젝트가 이어가고 있는 대화 |
thumbnail 썸네일 | File | — | 캔버스 전체를 맞춰 찍은 그림입니다. 캔버스를 열어 둔 동안 찍습니다. |
Example
{
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"owner": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"nickname": "String",
"image": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"filename": "String",
"mimetype": "String",
"encoding": "String",
"imageSize": 0,
"url": "String",
"abstractData": "String",
"size": 0,
"origin": "String",
"lastModifiedAt": "2026-10-13T11:23:42.808Z",
"progress": 0,
"status": "active"
},
"images": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"filename": "String",
"mimetype": "String",
"encoding": "String",
"imageSize": 0,
"url": "String",
"abstractData": "String",
"size": 0,
"origin": "String",
"lastModifiedAt": "2026-10-13T11:23:42.808Z",
"progress": 0,
"status": "active"
},
"appliedImages": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"filename": "String",
"mimetype": "String",
"encoding": "String",
"imageSize": 0,
"url": "String",
"abstractData": "String",
"size": 0,
"origin": "String",
"lastModifiedAt": "2026-10-13T11:23:42.808Z",
"progress": 0,
"status": "active"
},
"name": "String",
"agreePolicies": "String",
"discord": {},
"accountId": "String",
"password": "String",
"phone": "String",
"notiInfo": {
"setting": "disagree",
"pauseUntil": "2026-10-13T11:23:42.808Z",
"deviceTokens": {
"token": "String",
"provider": "apns",
"platform": "ios",
"deviceId": "String",
"updatedAt": "2026-10-13T11:23:42.808Z"
}
},
"imageNum": 0,
"encourageInfo": {
"journey": "welcome",
"journeyAt": "2026-10-13T11:23:42.808Z",
"inquiry": "welcome",
"inquiryAt": "2026-10-13T11:23:42.808Z"
},
"restrictInfo": {
"until": "2026-10-13T11:23:42.808Z",
"reason": "String"
},
"leaveInfo": {
"type": "noReply",
"reason": "String",
"satisfaction": 0,
"voc": "String",
"at": "2026-10-13T11:23:42.808Z"
},
"verifies": [
"naver"
],
"roles": [
"root"
],
"playing": "String",
"isOnline": true,
"lastLoginAt": "2026-10-13T11:23:42.808Z",
"joinAt": "2026-10-13T11:23:42.808Z",
"profileStatus": "active",
"badgeCount": 0,
"status": "prepare",
"credit": 0
},
"name": "String",
"description": "String",
"agentSession": "1234567890abcdef12345678",
"thumbnail": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"filename": "String",
"mimetype": "String",
"encoding": "String",
"imageSize": 0,
"url": "String",
"abstractData": "String",
"size": 0,
"origin": "String",
"lastModifiedAt": "2026-10-13T11:23:42.808Z",
"progress": 0,
"status": "active"
}
}GET/videoProject/lightVideoProject/:videoProjectIdCanAccessVideoProjectMCP refusedVideoProject 경량화 버전 조회
GET/videoProject/lightVideoProject/:videoProjectIdCanAccessVideoProjectMCP refused
VideoProject 경량화 버전 조회
VideoProject 경량화 버전 조회
it reads the same document as `videoProject` in a smaller shape — call `videoProject` instead.
Path parameters
| Argument | Type | Values | Description |
|---|---|---|---|
videoProjectId 아이디 | ID! | — | VideoProject 아이디 |
Returns
LightVideoProject!
| Field | Type | Values | Description |
|---|---|---|---|
id 아이디 | ID! | — | 유니크한 아이디값 |
createdAt 생성일 | Date! | — | 데이터 생성 시각 |
updatedAt 수정일 | Date! | — | 데이터 마지막 수정 시각 |
removedAt 삭제일 | Date | — | 데이터 삭제 시각 |
name 이름 | String! | — | 프로젝트의 이름 |
description 설명 | String | — | 프로젝트의 설명 |
thumbnail 썸네일 | File | — | 캔버스 전체를 맞춰 찍은 그림입니다. 캔버스를 열어 둔 동안 찍습니다. |
Example
{
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"name": "String",
"description": "String",
"thumbnail": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"filename": "String",
"mimetype": "String",
"encoding": "String",
"imageSize": 0,
"url": "String",
"abstractData": "String",
"size": 0,
"origin": "String",
"lastModifiedAt": "2026-10-13T11:23:42.808Z",
"progress": 0,
"status": "active"
}
}POST/videoProject/openVideoProjectSession/:videoProjectIdUserCanAccessVideoProjectMCP프로젝트 대화 시작
POST/videoProject/openVideoProjectSession/:videoProjectIdUserCanAccessVideoProjectMCP
프로젝트 대화 시작
있는 프로젝트의 대화를 열거나 새로 만듭니다.
Path parameters
| Argument | Type | Values | Description |
|---|---|---|---|
videoProjectId 프로젝트 | ID! | — | 대화의 대상 프로젝트 |
Returns
AgentSession!
| Field | Type | Values | Description |
|---|---|---|---|
id 아이디 | ID! | — | 유니크한 아이디값 |
createdAt 생성일 | Date! | — | 데이터 생성 시각 |
updatedAt 수정일 | Date! | — | 데이터 마지막 수정 시각 |
removedAt 삭제일 | Date | — | 데이터 삭제 시각 |
user 사용자 | ID! | — | 사용자 ID |
title 제목 | String | — | 첫 프롬프트에서 만든 세션 제목 |
parent 부모 | ID! | — | 소속 문서 |
parentType 부모 유형 | String! | — | 소속 문서의 모델명 |
status 상태 | String! | idle대기thinking생각 중awaiting답변 대기editing작업 중failed실패 | 턴 진행 상태 |
contextSummary 컨텍스트 요약 | String | — | 에이전트 롱컨텍스트 기억으로 주입되는, 이전 턴들의 롤링 요약 |
summarizedSeq 요약 완료 seq | Int! | — | 요약에 이미 접힌 최대 sessionChat seq (−1 = 없음) |
plan 작업 계획 | [AgentPlanStep]! | — | 진행 중인 턴이 실행할 단계들, 순서대로 |
planTurn 플랜 턴 | Int! | — | 현재 플랜이 몇 번째 턴의 것인지 — 지나간 재개를 거르는 기준 |
pendingQuestion 대기 중인 질문 | AgentQuestion | — | 이 턴이 멈추고 물어본 질문 — 답하면 사라집니다 |
turnHeartbeatAt 턴 최종 신호 시각 | Date | — | 지금 턴을 돌리는 프로세스가 마지막으로 살아 있다고 알린 시각. 오래되면 턴이 그 프로세스와 함께 끊긴 것입니다 |
chatSeq 다음 메시지 순번 | Int | — | 다음 대화록 메시지가 받을 순번. 원자적으로 예약하므로 두 쓰기가 같은 순번을 받지 않습니다 |
lastSyncBatchId 마지막 저장 묶음 | String | — | 화면이 마지막으로 저장한 대화록 묶음. 다시 보낸 묶음이 한 번만 저장되게 합니다 |
Example
{
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"user": "1234567890abcdef12345678",
"title": "String",
"parent": "1234567890abcdef12345678",
"parentType": "String",
"status": "idle",
"contextSummary": "String",
"summarizedSeq": 0,
"plan": {
"stepId": "String",
"order": 0,
"kind": "String",
"title": "String",
"input": {},
"status": "pending",
"summary": "String",
"errMsg": "String"
},
"planTurn": 0,
"pendingQuestion": {
"questionId": "String",
"header": "String",
"question": "String",
"options": {
"key": "String",
"label": "String",
"detail": "String",
"recommended": true
},
"multiSelect": true,
"freeText": true,
"answerKeys": "String",
"answerText": "String"
},
"turnHeartbeatAt": "2026-10-13T11:23:42.808Z",
"chatSeq": 0,
"lastSyncBatchId": "String"
}POST/videoProject/removeVideoProject/:videoProjectIdCanAccessVideoProjectMCPVideoProject 삭제
POST/videoProject/removeVideoProject/:videoProjectIdCanAccessVideoProjectMCP
VideoProject 삭제
VideoProject 삭제
destructiveHint
Path parameters
| Argument | Type | Values | Description |
|---|---|---|---|
videoProjectId 아이디 | ID! | — | VideoProject 아이디 |
Returns
VideoProject!
| Field | Type | Values | Description |
|---|---|---|---|
id 아이디 | ID! | — | 유니크한 아이디값 |
createdAt 생성일 | Date! | — | 데이터 생성 시각 |
updatedAt 수정일 | Date! | — | 데이터 마지막 수정 시각 |
removedAt 삭제일 | Date | — | 데이터 삭제 시각 |
owner 소유자 | User! | — | 프로젝트의 소유자 |
name 이름 | String! | — | 프로젝트의 이름 |
description 설명 | String | — | 프로젝트의 설명 |
agentSession 대화 | ID | — | 이 프로젝트가 이어가고 있는 대화 |
thumbnail 썸네일 | File | — | 캔버스 전체를 맞춰 찍은 그림입니다. 캔버스를 열어 둔 동안 찍습니다. |
Example
{
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"owner": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"nickname": "String",
"image": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"filename": "String",
"mimetype": "String",
"encoding": "String",
"imageSize": 0,
"url": "String",
"abstractData": "String",
"size": 0,
"origin": "String",
"lastModifiedAt": "2026-10-13T11:23:42.808Z",
"progress": 0,
"status": "active"
},
"images": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"filename": "String",
"mimetype": "String",
"encoding": "String",
"imageSize": 0,
"url": "String",
"abstractData": "String",
"size": 0,
"origin": "String",
"lastModifiedAt": "2026-10-13T11:23:42.808Z",
"progress": 0,
"status": "active"
},
"appliedImages": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"filename": "String",
"mimetype": "String",
"encoding": "String",
"imageSize": 0,
"url": "String",
"abstractData": "String",
"size": 0,
"origin": "String",
"lastModifiedAt": "2026-10-13T11:23:42.808Z",
"progress": 0,
"status": "active"
},
"name": "String",
"agreePolicies": "String",
"discord": {},
"accountId": "String",
"password": "String",
"phone": "String",
"notiInfo": {
"setting": "disagree",
"pauseUntil": "2026-10-13T11:23:42.808Z",
"deviceTokens": {
"token": "String",
"provider": "apns",
"platform": "ios",
"deviceId": "String",
"updatedAt": "2026-10-13T11:23:42.808Z"
}
},
"imageNum": 0,
"encourageInfo": {
"journey": "welcome",
"journeyAt": "2026-10-13T11:23:42.808Z",
"inquiry": "welcome",
"inquiryAt": "2026-10-13T11:23:42.808Z"
},
"restrictInfo": {
"until": "2026-10-13T11:23:42.808Z",
"reason": "String"
},
"leaveInfo": {
"type": "noReply",
"reason": "String",
"satisfaction": 0,
"voc": "String",
"at": "2026-10-13T11:23:42.808Z"
},
"verifies": [
"naver"
],
"roles": [
"root"
],
"playing": "String",
"isOnline": true,
"lastLoginAt": "2026-10-13T11:23:42.808Z",
"joinAt": "2026-10-13T11:23:42.808Z",
"profileStatus": "active",
"badgeCount": 0,
"status": "prepare",
"credit": 0
},
"name": "String",
"description": "String",
"agentSession": "1234567890abcdef12345678",
"thumbnail": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"filename": "String",
"mimetype": "String",
"encoding": "String",
"imageSize": 0,
"url": "String",
"abstractData": "String",
"size": 0,
"origin": "String",
"lastModifiedAt": "2026-10-13T11:23:42.808Z",
"progress": 0,
"status": "active"
}
}POST/videoProject/renameVideoProject/:videoProjectIdUserCanAccessVideoProjectMCP프로젝트 이름 변경
POST/videoProject/renameVideoProject/:videoProjectIdUserCanAccessVideoProjectMCP
프로젝트 이름 변경
사용자의 프로젝트 이름을 바꿉니다.
Path parameters
| Argument | Type | Values | Description |
|---|---|---|---|
videoProjectId 프로젝트 | ID! | — | 이름을 바꿀 프로젝트 |
Body
| Argument | Type | Values | Description |
|---|---|---|---|
name 이름 | String! | — | 새 프로젝트 이름 |
Returns
VideoProject!
| Field | Type | Values | Description |
|---|---|---|---|
id 아이디 | ID! | — | 유니크한 아이디값 |
createdAt 생성일 | Date! | — | 데이터 생성 시각 |
updatedAt 수정일 | Date! | — | 데이터 마지막 수정 시각 |
removedAt 삭제일 | Date | — | 데이터 삭제 시각 |
owner 소유자 | User! | — | 프로젝트의 소유자 |
name 이름 | String! | — | 프로젝트의 이름 |
description 설명 | String | — | 프로젝트의 설명 |
agentSession 대화 | ID | — | 이 프로젝트가 이어가고 있는 대화 |
thumbnail 썸네일 | File | — | 캔버스 전체를 맞춰 찍은 그림입니다. 캔버스를 열어 둔 동안 찍습니다. |
Example
{
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"owner": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"nickname": "String",
"image": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"filename": "String",
"mimetype": "String",
"encoding": "String",
"imageSize": 0,
"url": "String",
"abstractData": "String",
"size": 0,
"origin": "String",
"lastModifiedAt": "2026-10-13T11:23:42.808Z",
"progress": 0,
"status": "active"
},
"images": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"filename": "String",
"mimetype": "String",
"encoding": "String",
"imageSize": 0,
"url": "String",
"abstractData": "String",
"size": 0,
"origin": "String",
"lastModifiedAt": "2026-10-13T11:23:42.808Z",
"progress": 0,
"status": "active"
},
"appliedImages": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"filename": "String",
"mimetype": "String",
"encoding": "String",
"imageSize": 0,
"url": "String",
"abstractData": "String",
"size": 0,
"origin": "String",
"lastModifiedAt": "2026-10-13T11:23:42.808Z",
"progress": 0,
"status": "active"
},
"name": "String",
"agreePolicies": "String",
"discord": {},
"accountId": "String",
"password": "String",
"phone": "String",
"notiInfo": {
"setting": "disagree",
"pauseUntil": "2026-10-13T11:23:42.808Z",
"deviceTokens": {
"token": "String",
"provider": "apns",
"platform": "ios",
"deviceId": "String",
"updatedAt": "2026-10-13T11:23:42.808Z"
}
},
"imageNum": 0,
"encourageInfo": {
"journey": "welcome",
"journeyAt": "2026-10-13T11:23:42.808Z",
"inquiry": "welcome",
"inquiryAt": "2026-10-13T11:23:42.808Z"
},
"restrictInfo": {
"until": "2026-10-13T11:23:42.808Z",
"reason": "String"
},
"leaveInfo": {
"type": "noReply",
"reason": "String",
"satisfaction": 0,
"voc": "String",
"at": "2026-10-13T11:23:42.808Z"
},
"verifies": [
"naver"
],
"roles": [
"root"
],
"playing": "String",
"isOnline": true,
"lastLoginAt": "2026-10-13T11:23:42.808Z",
"joinAt": "2026-10-13T11:23:42.808Z",
"profileStatus": "active",
"badgeCount": 0,
"status": "prepare",
"credit": 0
},
"name": "String",
"description": "String",
"agentSession": "1234567890abcdef12345678",
"thumbnail": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"filename": "String",
"mimetype": "String",
"encoding": "String",
"imageSize": 0,
"url": "String",
"abstractData": "String",
"size": 0,
"origin": "String",
"lastModifiedAt": "2026-10-13T11:23:42.808Z",
"progress": 0,
"status": "active"
}
}POST/videoProject/setVideoProjectThumbnail/:videoProjectIdUserCanAccessVideoProjectMCP refused프로젝트 썸네일 저장
POST/videoProject/setVideoProjectThumbnail/:videoProjectIdUserCanAccessVideoProjectMCP refused
프로젝트 썸네일 저장
캔버스를 찍은 WebP 로 프로젝트 썸네일을 바꿉니다. 캔버스 화면이 만듭니다.
it declares `mcp: false`, so it is deliberately off the agent shelf. HTTP still serves it.
Path parameters
| Argument | Type | Values | Description |
|---|---|---|---|
videoProjectId 프로젝트 | ID! | — | 찍은 캔버스의 프로젝트 |
Body
| Argument | Type | Values | Description |
|---|---|---|---|
image 그림 | Binary! | — | 찍은 그림의 WebP 바이트 |
Returns
VideoProject!
| Field | Type | Values | Description |
|---|---|---|---|
id 아이디 | ID! | — | 유니크한 아이디값 |
createdAt 생성일 | Date! | — | 데이터 생성 시각 |
updatedAt 수정일 | Date! | — | 데이터 마지막 수정 시각 |
removedAt 삭제일 | Date | — | 데이터 삭제 시각 |
owner 소유자 | User! | — | 프로젝트의 소유자 |
name 이름 | String! | — | 프로젝트의 이름 |
description 설명 | String | — | 프로젝트의 설명 |
agentSession 대화 | ID | — | 이 프로젝트가 이어가고 있는 대화 |
thumbnail 썸네일 | File | — | 캔버스 전체를 맞춰 찍은 그림입니다. 캔버스를 열어 둔 동안 찍습니다. |
Example
{
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"owner": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"nickname": "String",
"image": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"filename": "String",
"mimetype": "String",
"encoding": "String",
"imageSize": 0,
"url": "String",
"abstractData": "String",
"size": 0,
"origin": "String",
"lastModifiedAt": "2026-10-13T11:23:42.808Z",
"progress": 0,
"status": "active"
},
"images": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"filename": "String",
"mimetype": "String",
"encoding": "String",
"imageSize": 0,
"url": "String",
"abstractData": "String",
"size": 0,
"origin": "String",
"lastModifiedAt": "2026-10-13T11:23:42.808Z",
"progress": 0,
"status": "active"
},
"appliedImages": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"filename": "String",
"mimetype": "String",
"encoding": "String",
"imageSize": 0,
"url": "String",
"abstractData": "String",
"size": 0,
"origin": "String",
"lastModifiedAt": "2026-10-13T11:23:42.808Z",
"progress": 0,
"status": "active"
},
"name": "String",
"agreePolicies": "String",
"discord": {},
"accountId": "String",
"password": "String",
"phone": "String",
"notiInfo": {
"setting": "disagree",
"pauseUntil": "2026-10-13T11:23:42.808Z",
"deviceTokens": {
"token": "String",
"provider": "apns",
"platform": "ios",
"deviceId": "String",
"updatedAt": "2026-10-13T11:23:42.808Z"
}
},
"imageNum": 0,
"encourageInfo": {
"journey": "welcome",
"journeyAt": "2026-10-13T11:23:42.808Z",
"inquiry": "welcome",
"inquiryAt": "2026-10-13T11:23:42.808Z"
},
"restrictInfo": {
"until": "2026-10-13T11:23:42.808Z",
"reason": "String"
},
"leaveInfo": {
"type": "noReply",
"reason": "String",
"satisfaction": 0,
"voc": "String",
"at": "2026-10-13T11:23:42.808Z"
},
"verifies": [
"naver"
],
"roles": [
"root"
],
"playing": "String",
"isOnline": true,
"lastLoginAt": "2026-10-13T11:23:42.808Z",
"joinAt": "2026-10-13T11:23:42.808Z",
"profileStatus": "active",
"badgeCount": 0,
"status": "prepare",
"credit": 0
},
"name": "String",
"description": "String",
"agentSession": "1234567890abcdef12345678",
"thumbnail": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"filename": "String",
"mimetype": "String",
"encoding": "String",
"imageSize": 0,
"url": "String",
"abstractData": "String",
"size": 0,
"origin": "String",
"lastModifiedAt": "2026-10-13T11:23:42.808Z",
"progress": 0,
"status": "active"
}
}POST/videoProject/updateVideoProject/:videoProjectIdCanAccessVideoProjectMCPVideoProject 수정
POST/videoProject/updateVideoProject/:videoProjectIdCanAccessVideoProjectMCP
VideoProject 수정
VideoProject 수정
idempotentHint
Path parameters
| Argument | Type | Values | Description |
|---|---|---|---|
videoProjectId 아이디 | ID! | — | VideoProject 아이디 |
Body
| Argument | Type | Values | Description |
|---|---|---|---|
data 데이터 | VideoProjectInput! | — | VideoProject 데이터 |
Returns
VideoProject!
| Field | Type | Values | Description |
|---|---|---|---|
id 아이디 | ID! | — | 유니크한 아이디값 |
createdAt 생성일 | Date! | — | 데이터 생성 시각 |
updatedAt 수정일 | Date! | — | 데이터 마지막 수정 시각 |
removedAt 삭제일 | Date | — | 데이터 삭제 시각 |
owner 소유자 | User! | — | 프로젝트의 소유자 |
name 이름 | String! | — | 프로젝트의 이름 |
description 설명 | String | — | 프로젝트의 설명 |
agentSession 대화 | ID | — | 이 프로젝트가 이어가고 있는 대화 |
thumbnail 썸네일 | File | — | 캔버스 전체를 맞춰 찍은 그림입니다. 캔버스를 열어 둔 동안 찍습니다. |
Example
{
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"owner": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"nickname": "String",
"image": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"filename": "String",
"mimetype": "String",
"encoding": "String",
"imageSize": 0,
"url": "String",
"abstractData": "String",
"size": 0,
"origin": "String",
"lastModifiedAt": "2026-10-13T11:23:42.808Z",
"progress": 0,
"status": "active"
},
"images": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"filename": "String",
"mimetype": "String",
"encoding": "String",
"imageSize": 0,
"url": "String",
"abstractData": "String",
"size": 0,
"origin": "String",
"lastModifiedAt": "2026-10-13T11:23:42.808Z",
"progress": 0,
"status": "active"
},
"appliedImages": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"filename": "String",
"mimetype": "String",
"encoding": "String",
"imageSize": 0,
"url": "String",
"abstractData": "String",
"size": 0,
"origin": "String",
"lastModifiedAt": "2026-10-13T11:23:42.808Z",
"progress": 0,
"status": "active"
},
"name": "String",
"agreePolicies": "String",
"discord": {},
"accountId": "String",
"password": "String",
"phone": "String",
"notiInfo": {
"setting": "disagree",
"pauseUntil": "2026-10-13T11:23:42.808Z",
"deviceTokens": {
"token": "String",
"provider": "apns",
"platform": "ios",
"deviceId": "String",
"updatedAt": "2026-10-13T11:23:42.808Z"
}
},
"imageNum": 0,
"encourageInfo": {
"journey": "welcome",
"journeyAt": "2026-10-13T11:23:42.808Z",
"inquiry": "welcome",
"inquiryAt": "2026-10-13T11:23:42.808Z"
},
"restrictInfo": {
"until": "2026-10-13T11:23:42.808Z",
"reason": "String"
},
"leaveInfo": {
"type": "noReply",
"reason": "String",
"satisfaction": 0,
"voc": "String",
"at": "2026-10-13T11:23:42.808Z"
},
"verifies": [
"naver"
],
"roles": [
"root"
],
"playing": "String",
"isOnline": true,
"lastLoginAt": "2026-10-13T11:23:42.808Z",
"joinAt": "2026-10-13T11:23:42.808Z",
"profileStatus": "active",
"badgeCount": 0,
"status": "prepare",
"credit": 0
},
"name": "String",
"description": "String",
"agentSession": "1234567890abcdef12345678",
"thumbnail": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"filename": "String",
"mimetype": "String",
"encoding": "String",
"imageSize": 0,
"url": "String",
"abstractData": "String",
"size": 0,
"origin": "String",
"lastModifiedAt": "2026-10-13T11:23:42.808Z",
"progress": 0,
"status": "active"
}
}GET/videoProject/videoProject/:videoProjectIdCanAccessVideoProjectMCPVideoProject 조회
GET/videoProject/videoProject/:videoProjectIdCanAccessVideoProjectMCP
VideoProject 조회
VideoProject 조회
readOnlyHintidempotentHint
Path parameters
| Argument | Type | Values | Description |
|---|---|---|---|
videoProjectId 아이디 | ID! | — | VideoProject 아이디 |
Returns
VideoProject!
| Field | Type | Values | Description |
|---|---|---|---|
id 아이디 | ID! | — | 유니크한 아이디값 |
createdAt 생성일 | Date! | — | 데이터 생성 시각 |
updatedAt 수정일 | Date! | — | 데이터 마지막 수정 시각 |
removedAt 삭제일 | Date | — | 데이터 삭제 시각 |
owner 소유자 | User! | — | 프로젝트의 소유자 |
name 이름 | String! | — | 프로젝트의 이름 |
description 설명 | String | — | 프로젝트의 설명 |
agentSession 대화 | ID | — | 이 프로젝트가 이어가고 있는 대화 |
thumbnail 썸네일 | File | — | 캔버스 전체를 맞춰 찍은 그림입니다. 캔버스를 열어 둔 동안 찍습니다. |
Example
{
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"owner": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"nickname": "String",
"image": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"filename": "String",
"mimetype": "String",
"encoding": "String",
"imageSize": 0,
"url": "String",
"abstractData": "String",
"size": 0,
"origin": "String",
"lastModifiedAt": "2026-10-13T11:23:42.808Z",
"progress": 0,
"status": "active"
},
"images": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"filename": "String",
"mimetype": "String",
"encoding": "String",
"imageSize": 0,
"url": "String",
"abstractData": "String",
"size": 0,
"origin": "String",
"lastModifiedAt": "2026-10-13T11:23:42.808Z",
"progress": 0,
"status": "active"
},
"appliedImages": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"filename": "String",
"mimetype": "String",
"encoding": "String",
"imageSize": 0,
"url": "String",
"abstractData": "String",
"size": 0,
"origin": "String",
"lastModifiedAt": "2026-10-13T11:23:42.808Z",
"progress": 0,
"status": "active"
},
"name": "String",
"agreePolicies": "String",
"discord": {},
"accountId": "String",
"password": "String",
"phone": "String",
"notiInfo": {
"setting": "disagree",
"pauseUntil": "2026-10-13T11:23:42.808Z",
"deviceTokens": {
"token": "String",
"provider": "apns",
"platform": "ios",
"deviceId": "String",
"updatedAt": "2026-10-13T11:23:42.808Z"
}
},
"imageNum": 0,
"encourageInfo": {
"journey": "welcome",
"journeyAt": "2026-10-13T11:23:42.808Z",
"inquiry": "welcome",
"inquiryAt": "2026-10-13T11:23:42.808Z"
},
"restrictInfo": {
"until": "2026-10-13T11:23:42.808Z",
"reason": "String"
},
"leaveInfo": {
"type": "noReply",
"reason": "String",
"satisfaction": 0,
"voc": "String",
"at": "2026-10-13T11:23:42.808Z"
},
"verifies": [
"naver"
],
"roles": [
"root"
],
"playing": "String",
"isOnline": true,
"lastLoginAt": "2026-10-13T11:23:42.808Z",
"joinAt": "2026-10-13T11:23:42.808Z",
"profileStatus": "active",
"badgeCount": 0,
"status": "prepare",
"credit": 0
},
"name": "String",
"description": "String",
"agentSession": "1234567890abcdef12345678",
"thumbnail": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"filename": "String",
"mimetype": "String",
"encoding": "String",
"imageSize": 0,
"url": "String",
"abstractData": "String",
"size": 0,
"origin": "String",
"lastModifiedAt": "2026-10-13T11:23:42.808Z",
"progress": 0,
"status": "active"
}
}GET/videoProject/videoProjectIdOfAgentSession/:agentSessionIdUserMCP대화가 만든 프로젝트
GET/videoProject/videoProjectIdOfAgentSession/:agentSessionIdUserMCP
대화가 만든 프로젝트
대화가 이미 만든 프로젝트가 있으면 그 프로젝트
readOnlyHintidempotentHint
Path parameters
| Argument | Type | Values | Description |
|---|---|---|---|
agentSessionId 세션 | ID! | — | 대화 세션 |
Returns
ID!
Example
"1234567890abcdef12345678"
GET/videoProject/videoProjectInsightAdminMCPSlice Insight - 유니버설
GET/videoProject/videoProjectInsightAdminMCP
Slice Insight - 유니버설
Slice Insight - 유니버설 슬라이스
readOnlyHintidempotentHint
Query
| Argument | Type | Values | Description |
|---|---|---|---|
queryKey 쿼리 | String | — | 실행할 필터 쿼리 |
args 인자 | Any | — | 필터 쿼리의 인자 |
Returns
VideoProjectInsight!
| Field | Type | Values | Description |
|---|---|---|---|
count | Int! | — | — |
Example
{
"count": 0
}GET/videoProject/videoProjectInsightInPublicAdminMCPSlice Insight - 프로젝트 목록
GET/videoProject/videoProjectInsightInPublicAdminMCP
Slice Insight - 프로젝트 목록
Slice Insight - 공개된 비디오 프로젝트
readOnlyHintidempotentHint
Returns
VideoProjectInsight!
| Field | Type | Values | Description |
|---|---|---|---|
count | Int! | — | — |
Example
{
"count": 0
}GET/videoProject/videoProjectInsightInSelfUserMCPSlice Insight - 내 프로젝트 목록
GET/videoProject/videoProjectInsightInSelfUserMCP
Slice Insight - 내 프로젝트 목록
Slice Insight - 호출자가 가진 비디오 프로젝트
readOnlyHintidempotentHint
Query
| Argument | Type | Values | Description |
|---|---|---|---|
search 검색 | String | — | 프로젝트를 검색합니다. |
Returns
VideoProjectInsight!
| Field | Type | Values | Description |
|---|---|---|---|
count | Int! | — | — |
Example
{
"count": 0
}GET/videoProject/videoProjectListAdminMCPSlice List - 유니버설
GET/videoProject/videoProjectListAdminMCP
Slice List - 유니버설
Slice List - 유니버설 슬라이스
readOnlyHintidempotentHint
Query
| Argument | Type | Values | Description |
|---|---|---|---|
queryKey 쿼리 | String | — | 실행할 필터 쿼리 |
args 인자 | Any | — | 필터 쿼리의 인자 |
skip skip | Int! | — | skip |
limit limit | Int! | — | limit |
sort sort | String! | — | sort |
Returns
[LightVideoProject]!
| Field | Type | Values | Description |
|---|---|---|---|
id 아이디 | ID! | — | 유니크한 아이디값 |
createdAt 생성일 | Date! | — | 데이터 생성 시각 |
updatedAt 수정일 | Date! | — | 데이터 마지막 수정 시각 |
removedAt 삭제일 | Date | — | 데이터 삭제 시각 |
name 이름 | String! | — | 프로젝트의 이름 |
description 설명 | String | — | 프로젝트의 설명 |
thumbnail 썸네일 | File | — | 캔버스 전체를 맞춰 찍은 그림입니다. 캔버스를 열어 둔 동안 찍습니다. |
Example
[
{
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"name": "String",
"description": "String",
"thumbnail": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"filename": "String",
"mimetype": "String",
"encoding": "String",
"imageSize": 0,
"url": "String",
"abstractData": "String",
"size": 0,
"origin": "String",
"lastModifiedAt": "2026-10-13T11:23:42.808Z",
"progress": 0,
"status": "active"
}
}
]GET/videoProject/videoProjectListInPublicAdminMCPSlice List - 프로젝트 목록
GET/videoProject/videoProjectListInPublicAdminMCP
Slice List - 프로젝트 목록
Slice List - 공개된 비디오 프로젝트
readOnlyHintidempotentHint
Query
| Argument | Type | Values | Description |
|---|---|---|---|
skip | Int! | — | — |
limit | Int! | — | — |
sort | String! | — | — |
Returns
[LightVideoProject]!
| Field | Type | Values | Description |
|---|---|---|---|
id 아이디 | ID! | — | 유니크한 아이디값 |
createdAt 생성일 | Date! | — | 데이터 생성 시각 |
updatedAt 수정일 | Date! | — | 데이터 마지막 수정 시각 |
removedAt 삭제일 | Date | — | 데이터 삭제 시각 |
name 이름 | String! | — | 프로젝트의 이름 |
description 설명 | String | — | 프로젝트의 설명 |
thumbnail 썸네일 | File | — | 캔버스 전체를 맞춰 찍은 그림입니다. 캔버스를 열어 둔 동안 찍습니다. |
Example
[
{
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"name": "String",
"description": "String",
"thumbnail": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"filename": "String",
"mimetype": "String",
"encoding": "String",
"imageSize": 0,
"url": "String",
"abstractData": "String",
"size": 0,
"origin": "String",
"lastModifiedAt": "2026-10-13T11:23:42.808Z",
"progress": 0,
"status": "active"
}
}
]GET/videoProject/videoProjectListInSelfUserMCPSlice List - 내 프로젝트 목록
GET/videoProject/videoProjectListInSelfUserMCP
Slice List - 내 프로젝트 목록
Slice List - 호출자가 가진 비디오 프로젝트
readOnlyHintidempotentHint
Query
| Argument | Type | Values | Description |
|---|---|---|---|
search 검색 | String | — | 프로젝트를 검색합니다. |
skip skip | Int! | — | skip |
limit limit | Int! | — | limit |
sort sort | String! | — | sort |
Returns
[LightVideoProject]!
| Field | Type | Values | Description |
|---|---|---|---|
id 아이디 | ID! | — | 유니크한 아이디값 |
createdAt 생성일 | Date! | — | 데이터 생성 시각 |
updatedAt 수정일 | Date! | — | 데이터 마지막 수정 시각 |
removedAt 삭제일 | Date | — | 데이터 삭제 시각 |
name 이름 | String! | — | 프로젝트의 이름 |
description 설명 | String | — | 프로젝트의 설명 |
thumbnail 썸네일 | File | — | 캔버스 전체를 맞춰 찍은 그림입니다. 캔버스를 열어 둔 동안 찍습니다. |
Example
[
{
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"name": "String",
"description": "String",
"thumbnail": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"filename": "String",
"mimetype": "String",
"encoding": "String",
"imageSize": 0,
"url": "String",
"abstractData": "String",
"size": 0,
"origin": "String",
"lastModifiedAt": "2026-10-13T11:23:42.808Z",
"progress": 0,
"status": "active"
}
}
]GET/videoProject/videoProjectTranscript/:videoProjectIdUserCanAccessVideoProjectMCP프로젝트 대화
GET/videoProject/videoProjectTranscript/:videoProjectIdUserCanAccessVideoProjectMCP
프로젝트 대화
프로젝트 대화의 전사를 복원합니다.
readOnlyHintidempotentHint
Path parameters
| Argument | Type | Values | Description |
|---|---|---|---|
videoProjectId 프로젝트 | ID! | — | 대화의 대상 프로젝트 |
Returns
[LightSessionChat]!
| Field | Type | Values | Description |
|---|---|---|---|
id 아이디 | ID! | — | 유니크한 아이디값 |
createdAt 생성일 | Date! | — | 데이터 생성 시각 |
updatedAt 수정일 | Date! | — | 데이터 마지막 수정 시각 |
removedAt 삭제일 | Date | — | 데이터 삭제 시각 |
agentSession 세션 | ID! | — | 소속 에이전트 세션 |
role 역할 | String! | user사용자assistant어시스턴트 | 메시지 작성자 역할 |
content 내용 | String | — | 메시지 텍스트 (어시스턴트 = 마크다운) |
parts 파트 | [AgentChatPart]! | — | 텍스트·툴 파트의 순서화된 타임라인 (어시스턴트 턴) |
files 첨부 | [File]! | — | 이 메시지에 사람이 건넨 그림 |
seq 순번 | Int! | — | 세션 내 정렬 순번 |
Example
[
{
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"agentSession": "1234567890abcdef12345678",
"role": "user",
"content": "String",
"parts": {
"type": "text",
"text": "String",
"tool": {
"op": "String",
"phase": "start",
"toolName": "String",
"toolCallId": "String",
"path": "String",
"isError": true,
"summary": "String"
},
"question": {
"questionId": "String",
"header": "String",
"question": "String",
"options": {
"key": "String",
"label": "String",
"detail": "String",
"recommended": true
},
"multiSelect": true,
"freeText": true,
"answerKeys": "String",
"answerText": "String"
},
"step": {
"stepId": "String",
"order": 0,
"kind": "String",
"title": "String",
"input": {},
"status": "pending",
"summary": "String",
"errMsg": "String"
}
},
"files": {
"id": "1234567890abcdef12345678",
"createdAt": "2026-10-13T11:23:42.808Z",
"updatedAt": "2026-10-13T11:23:42.808Z",
"removedAt": "2026-10-13T11:23:42.808Z",
"filename": "String",
"mimetype": "String",
"encoding": "String",
"imageSize": 0,
"url": "String",
"abstractData": "String",
"size": 0,
"origin": "String",
"lastModifiedAt": "2026-10-13T11:23:42.808Z",
"progress": 0,
"status": "active"
},
"seq": 0
}
]Web Socket
This signal declares no websocket endpoint.