Nodaro 문서
문서노드 레퍼런스모델템플릿AI 에이전트(MCP)개발자셀프 호스팅리서치비교
REST API

파이프라인

REST로 스토리 → 동영상 파이프라인을 시작하고, 단계를 추적하고, 게이트를 승인하고, 감독과 채팅하고, 완료된 파이프라인을 한 단계부터 브랜치하세요.

Nodaro Cloud에서 사용할 수 있습니다

파이프라인 API는 코드에서 스토리 → 동영상을 실행합니다. 한 줄짜리 스토리를 보내면, 파이프라인 엔진이 스크립트를 쓰고, 출연진, 소품, 장소를 만들고, 샷을 계획합니다. 그런 다음 키프레임을 렌더링하고, 사운드와 함께 애니메이션을 만들고, 영화를 합칩니다. 각 단계는 내 승인을 기다리거나, 스스로 실행되거나, 감독과의 채팅을 열 수 있습니다.

파이프라인은 Nodaro Cloud에서만 실행됩니다. Community Edition과 Business 에디션은 403 edition_required로 응답합니다. 셀프 호스팅 설치에서는 대본 생성, 이미지 생성, 동영상 생성 같은 노드로 같은 단계를 워크플로로 구성하세요. 라우트는 Bearer 토큰을 받으며, OAuth 앱 토큰에는 아래에 나열된 스코프가 필요합니다. 인증을 참조하세요.

엔드포인트

메서드경로스코프하는 일
POST/v1/pipelinespipelines:execute파이프라인을 만들고 시작합니다.
GET/v1/pipelinespipelines:read내 파이프라인 목록을 최신순으로 가져옵니다.
GET/v1/pipelines/:idpipelines:read상태, 현재 단계, 크레딧을 가져옵니다.
GET/v1/pipelines/:id/eventspipelines:read파이프라인 이벤트를 스트리밍합니다(서버 전송 이벤트).
GET/v1/pipelines/:id/stages/:stagepipelines:read단계 하나의 상태, 출력, 평가 피드백을 가져옵니다.
GET/v1/pipelines/:id/pending-approvalspipelines:read승인을 기다리는 단계 목록을 가져옵니다.
GET/v1/pipelines/:id/timelinepipelines:read조립된 영화를 가져옵니다. 장면, 길이, 오디오가 들어 있습니다.
GET/v1/pipelines/:id/entities?type=pipelines:read파이프라인의 캐릭터, 오브젝트, 장소 또는 장면 목록을 가져옵니다.
POST/v1/pipelines/:id/stages/:stage/approvepipelines:approve단계를 승인합니다. 수정을 함께 보낼 수 있습니다.
POST/v1/pipelines/:id/stages/:stage/rejectpipelines:approve피드백과 함께 스크립트를 거부해 다시 쓰게 합니다.
POST/v1/pipelines/:id/sub-gates/:gate/approvepipelines:approve애니메이션 단계 안의 체크포인트를 승인합니다.
POST/v1/pipelines/:id/sub-gates/:gate/rejectpipelines:approve해당 체크포인트를 거부하고 파이프라인을 중지합니다.
POST/v1/pipelines/:id/entities/:sceneId/helpers/accept_match_cut_breakpipelines:approve장면 이미지 단계에서 매치 컷 불일치 하나를 수락합니다.
POST/v1/pipelines/:id/stages/:stage/chatpipelines:approve감독에게 메시지를 보냅니다(가이드 모드).
GET/v1/pipelines/:id/stages/:stage/chatpipelines:read단계의 채팅을 읽습니다.
POST/v1/pipelines/:id/stages/:stage/chat/turns/:turnId/applypipelines:approve감독이 제안한 변경을 적용합니다.
POST/v1/pipelines/:id/branchpipelines:execute완료된 파이프라인을 한 단계부터 새 파이프라인으로 다시 실행합니다.
POST/v1/pipelines/:id/forkpipelines:execute파이프라인을 중지하고 캔버스를 일반 노드로 남깁니다.
POST/v1/pipelines/:id/cancelpipelines:execute실행 중인 파이프라인을 취소하고 사용하지 않은 크레딧을 환불합니다.

단계와 모드

파이프라인은 8개 단계를 순서대로 거칩니다. 경로의 :stage는 다음 이름 중 하나입니다.

단계만드는 것
script스토리 계획입니다. 제목, 장면, 출연진, 장소, 소품이 담깁니다.
characters출연진의 역할마다 캐릭터 하나입니다.
objects스토리에 필요한 소품입니다.
locations스토리가 거쳐 가는 장소입니다.
shot_list각 장면의 샷과 그 카메라, 연속성 선택입니다.
scene_images샷마다 키프레임 하나입니다.
animate_audio_edit대사, 내레이션, 음악, 편집이 들어간 애니메이션 샷입니다.
post_merge최종 병합된 영화입니다.

생성할 때 고른 mode가 누가 파이프라인을 진행시킬지 정합니다.

모드진행 방식
manual(기본값)모든 단계가 awaiting_approval에서 멈춥니다. 승인, 수정 또는 거부하면 파이프라인이 계속 진행됩니다.
auto엔진이 모든 단계를 스스로 실행합니다. 자동 평가 AI가 스크립트, 출연진·장소·소품의 커버리지, 키프레임을 검사합니다. 차단 판정이 연속 3번 나오면 파이프라인이 실패하고 사용하지 않은 크레딧이 환불됩니다. 매치 컷 불일치에서만 멈추며, 모든 불일치가 수락될 때까지 기다립니다. 그동안 상태는 running으로 유지되고, pending-approvals에 scene_images 단계가 나타납니다.
guidedmanual과 같지만, script와 post_merge 단계에서 감독과 채팅할 수 있습니다.

파이프라인 시작

POST /v1/pipelines는 파이프라인을 만들고, 크레딧을 예약하고, 시작합니다. { id }와 함께 201로 응답합니다.

curl -X POST https://app.nodaro.ai/v1/pipelines \
  -H "Authorization: Bearer $NODARO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "root_node_id": "0e6b2f7c-4a1d-4c8e-9b3f-5d7a2c1e8f4b",
    "story_prompt": "A lighthouse keeper must restart the light before the storm hits.",
    "format": "short_film",
    "target_duration_seconds": 60,
    "mode": "auto",
    "output_resolution": "720p"
  }'
import { createClient, StaticTokenAuth } from '@nodaro/sdk'

const client = createClient({
  baseUrl: 'https://app.nodaro.ai',
  auth: new StaticTokenAuth(process.env.NODARO_API_KEY!),
})

const { id } = await client.pipelines.create({
  root_node_id: crypto.randomUUID(),
  story_prompt: 'A lighthouse keeper must restart the light before the storm hits.',
  format: 'short_film',
  target_duration_seconds: 60,
  mode: 'auto',
})
{ "id": "c2f8a4e6-1b9d-4f3a-8c7e-6d2b9f1a5e3c" }

속성

타입

형식마다 허용되는 길이 범위가 있습니다.

형식최소최대
reel7초90초
commercial10초90초
trailer30초180초
short_film12초600초
music_video30초600초

파이프라인 추적

GET /v1/pipelines/:id는 파이프라인의 상태를 반환합니다. 몇 초마다 폴링하거나, GET /v1/pipelines/:id/events를 열어 변경 사항을 서버 전송 이벤트로 받으세요.

{
  "id": "c2f8a4e6-1b9d-4f3a-8c7e-6d2b9f1a5e3c",
  "status": "running",
  "current_stage": "scene_images",
  "mode": "auto",
  "spent_credits": 412,
  "reserved_credits": 1180,
  "upfront_credit_estimate": 1650,
  "failure_reason": null,
  "current_progress_message": "Rendering keyframe 5 of 9",
  "branched_from_pipeline_id": null,
  "branched_from_stage": null
}

status는 queued, running, awaiting_approval, completed, failed, cancelled 또는 forked입니다. failure_reason은 failed 파이프라인의 원인을 설명합니다.

파이프라인이 completed이면 GET /v1/pipelines/:id/timeline이 렌더링하거나 편집기에 넘길 수 있는 데이터로 영화를 반환합니다.

{
  "fps": 24,
  "width": 1280,
  "height": 720,
  "scenes": [
    { "compositeUrl": "https://cdn.nodaro.ai/pipelines/scene-1.mp4", "durationSeconds": 8.5 },
    { "compositeUrl": "https://cdn.nodaro.ai/pipelines/scene-2.mp4", "durationSeconds": 11 }
  ],
  "musicUrl": "https://cdn.nodaro.ai/pipelines/score.mp3",
  "narrationUrl": "https://cdn.nodaro.ai/pipelines/narration.mp3"
}

애니메이션 단계가 실행되는 동안 타임라인에는 animateProgress, 즉 { totalShots, shotsDone, percent }도 들어 있습니다. 외부 편집기에서 컷을 마무리하려면 타임라인 내보내기를 참조하세요.

curl https://app.nodaro.ai/v1/pipelines/c2f8a4e6-1b9d-4f3a-8c7e-6d2b9f1a5e3c \
  -H "Authorization: Bearer $NODARO_API_KEY"

curl https://app.nodaro.ai/v1/pipelines/c2f8a4e6-1b9d-4f3a-8c7e-6d2b9f1a5e3c/timeline \
  -H "Authorization: Bearer $NODARO_API_KEY"
const pipeline = await client.pipelines.get(id)
console.log(pipeline.status, pipeline.current_stage)

const timeline = await client.pipelines.getTimeline(id)
for (const scene of timeline.scenes) {
  console.log(scene.compositeUrl, scene.durationSeconds)
}

단계 승인 또는 거부

manual과 guided 모드에서는 각 단계가 awaiting_approval에서 멈춥니다. GET /v1/pipelines/:id/pending-approvals는 기다리는 단계를 각각 { stage_name, output } 형태로 나열합니다. 단계 전체는 GET /v1/pipelines/:id/stages/:stage로 읽으세요. 이 라우트는 { status, output, critic_feedback }을 반환합니다.

  • 승인. POST /v1/pipelines/:id/stages/:stage/approve는 { ok: true }를 반환하고 파이프라인이 다음으로 넘어갑니다. 먼저 단계의 출력을 바꾸려면 { edits }를 보내세요. 승인 전에 출력에 적용되는 JSON Patch입니다.
  • 거부. 스크립트만 거부할 수 있습니다. { feedback }과 함께 POST /v1/pipelines/:id/stages/script/reject를 보내면 { ok: true }를 반환하고, 엔진이 내 메모를 반영해 스크립트를 다시 씁니다. 다른 단계는 400 stage_not_implemented로 응답합니다. 스크립트는 최대 두 번 거부할 수 있으며, 자동 스크립트 평가 AI가 이미 수정했다면 그보다 적게 거부할 수 있습니다.
curl -X POST https://app.nodaro.ai/v1/pipelines/c2f8a4e6-1b9d-4f3a-8c7e-6d2b9f1a5e3c/stages/script/approve \
  -H "Authorization: Bearer $NODARO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "edits": [{ "op": "replace", "path": "/title", "value": "The Last Light" }] }'

curl -X POST https://app.nodaro.ai/v1/pipelines/c2f8a4e6-1b9d-4f3a-8c7e-6d2b9f1a5e3c/stages/script/reject \
  -H "Authorization: Bearer $NODARO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "feedback": "Make the story darker and more suspenseful." }'
const approvals = await client.pipelines.pendingApprovals(id)
const { output } = await client.pipelines.getStage(id, 'script')

await client.pipelines.approveStage(id, 'script', [
  { op: 'replace', path: '/title', value: 'The Last Light' },
])
// or
await client.pipelines.rejectStage(id, 'script', 'Make the story darker and more suspenseful.')

애니메이션 단계 안의 체크포인트

manual과 guided 모드에서 animate_audio_edit 단계는 자체 체크포인트 두 곳에서 멈출 수 있습니다.

  • dialogue_recheck. 단계가 대사의 실제 길이를 계획과 비교하고 장면 타이밍을 조정합니다. 어떤 장면이 목표의 10% 이내를 유지할 수 없으면 단계가 내 승인을 기다립니다.
  • silent_cut_preview. 단계가 음악 없이 컷 미리보기를 조립하고, 음악을 생성해 그 비용을 지불하기 전에 내 승인을 기다립니다.

POST /v1/pipelines/:id/sub-gates/:gate/approve는 단계를 재개하고 { ok: true, gate, resumed_at }을 반환합니다. POST /v1/pipelines/:id/sub-gates/:gate/reject는 단계와 파이프라인을 실패 처리하고 사용하지 않은 크레딧을 환불합니다. auto 모드에서는 단계가 멈추지 않고 계속됩니다.

장면 이미지 단계의 매치 컷 불일치

scene_images 단계는 세 번째 체크포인트인 match_cut_break_pending에서 멈출 수 있습니다. 두 샷 사이에 계획한 매치 컷이 맞지 않으면 auto를 포함한 모든 모드에서 이곳에서 멈춥니다. 단계 출력의 match_cut_break_pending에 해당 샷이 나열됩니다.

위의 하위 게이트 라우트로는 이를 해제할 수 없습니다. 이 라우트는 400 invalid_sub_gate로 응답하며, 오류 메시지에 해제할 수 있는 라우트가 나옵니다. 각 불일치는 { "shotId": "<shot id>" }와 함께 POST /v1/pipelines/:id/entities/:sceneId/helpers/accept_match_cut_break로 수락하세요. sceneId는 샷이 속한 장면의 id이며, metadata.scene_id가 아닙니다. GET /v1/pipelines/:id/entities?type=scene은 장면을 나열하며, 각 장면의 샷은 metadata.scene_node_data.shots에 있습니다.

불일치를 수락하려면 pipelines:approve 스코프가 필요하며, 크레딧은 들지 않습니다. 호출은 아직 기다리는 불일치 수를 담은 { ok: true, pendingRemaining }을 반환합니다. 마지막 불일치가 수락되면 단계가 계속됩니다. 수락한 불일치는 scene_images 단계를 다시 실행해도 수락된 상태로 남습니다. shot_list 단계를 다시 실행하면 장면이 새로 계획되고 모든 수락이 지워지므로, 다시 나타난 불일치는 다시 수락해야 합니다.

감독과 채팅

guided 모드에서는 승인을 기다리는 단계에 채팅이 있습니다. { message }와 함께 POST /v1/pipelines/:id/stages/:stage/chat으로 최대 8,000자의 메시지를 보내세요. 감독은 한 문장으로 답하며 변경을 제안할 수 있습니다.

{
  "turnId": "f1a3c5e7-9b2d-4f6a-8c1e-3d5b7f9a2c4e",
  "role": "assistant",
  "content": "I moved the keeper's reason for staying into scene 2 and tightened the ending.",
  "proposed_change": {
    "change_type": "edit_artifact",
    "json_patch": [{ "op": "replace", "path": "/scenes/1/description", "value": "The keeper finds his late wife's log and decides to stay." }]
  }
}

proposed_change는 null이거나, json_patch가 있는 edit_artifact이거나, from_stage와 reason이 있는 suggest_branch입니다.

단계감독이 제안할 수 있는 것턴
script계획의 수정(제목, 장면, 출연진, 장소 또는 소품에 대한 JSON Patch), 또는 패치하기에는 변경이 너무 구조적일 때의 브랜치입니다.파이프라인당 20회
post_merge최종 영화의 진단과 이전 단계에서의 브랜치입니다. 영화 자체는 패치할 수 없습니다.파이프라인당 8회

제안을 수락하려면 POST /v1/pipelines/:id/stages/:stage/chat/turns/:turnId/apply를 호출하세요. 이 라우트는 { applied: true, attemptId, newOutput }을 반환하고 단계를 승인합니다. 변경이 계획을 깨뜨리면(예를 들어 장면에서 아직 쓰는 캐릭터를 제거하면) { applied: false, error }를 반환하고, 감독이 무엇을 고쳐야 하는지 설명하는 턴을 추가합니다. 유효하지 않은 제안이거나 단계가 더 이상 기다리지 않으면 409로 응답합니다. GET /v1/pipelines/:id/stages/:stage/chat은 전체 대화인 { turns }를 반환합니다.

가이드 파이프라인은 시작할 때 채팅용 크레딧을 추가로 예약합니다. 사용하지 않은 크레딧은 환불됩니다.

curl -X POST https://app.nodaro.ai/v1/pipelines/c2f8a4e6-1b9d-4f3a-8c7e-6d2b9f1a5e3c/stages/script/chat \
  -H "Authorization: Bearer $NODARO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "message": "Make the keeper'\''s motivation clearer in scene 2." }'
const reply = await client.pipelines.chatStage(id, 'script', "Make the keeper's motivation clearer in scene 2.")
if (reply.proposed_change) {
  const result = await client.pipelines.applyChatProposal(id, 'script', reply.turnId)
  if (!result.applied) console.log(result.error.code)
}

완료된 파이프라인 브랜치

POST /v1/pipelines/:id/branch는 completed 파이프라인을 한 단계부터 새 파이프라인으로 다시 실행합니다. fromStage 앞의 단계는 승인된 상태로 복사되고, fromStage가 실행을 시작하며, 그 뒤의 단계는 새로 만들어집니다. 원본 파이프라인은 completed 상태로 남습니다.

브랜치는 캐릭터, 오브젝트, 장소를 새 파이프라인으로 복사하지만 이미지 파일은 재사용하므로, 파일이 중복되지 않습니다. 채팅은 비어 있는 상태로 시작합니다.

curl -X POST https://app.nodaro.ai/v1/pipelines/c2f8a4e6-1b9d-4f3a-8c7e-6d2b9f1a5e3c/branch \
  -H "Authorization: Bearer $NODARO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "fromStage": "scene_images" }'
const branch = await client.pipelines.branch(id, { fromStage: 'scene_images' })
console.log(branch.pipelineId, branch.clonedStages)

이 라우트는 { pipelineId, clonedStages, clonedEntities }와 함께 201로 응답합니다. 새 파이프라인의 ID, 승인된 상태로 복사된 단계, 복사된 캐릭터, 오브젝트, 장소의 수입니다. fromStage에는 위 표의 어떤 단계 이름이든 쓸 수 있습니다.

파이프라인 취소 또는 분기

  • 취소. POST /v1/pipelines/:id/cancel은 실행 중인 파이프라인을 중지하고, 아직 실행되지 않은 작업에 예약된 크레딧을 환불하며, { ok: true }를 반환합니다. 이미 완료, 실패 또는 취소된 파이프라인은 409 already_terminal로 응답하며, 아무것도 바뀌지 않습니다.
  • 분기. POST /v1/pipelines/:id/fork는 파이프라인에서 캔버스를 떼어 냅니다. 파이프라인이 만든 모든 노드가 편집할 수 있는 일반 노드가 되고, 사용하지 않은 크레딧이 환불되며, 상태가 forked가 됩니다. 분기는 되돌릴 수 없습니다. 엔진으로 계속하려면 새 파이프라인을 시작하세요.

크레딧

파이프라인은 시작할 때 예상 비용을 예약하며, upfront_credit_estimate에 그 값이 나옵니다. spent_credits와 reserved_credits는 실행이 어디까지 왔는지 보여 줍니다. 취소되거나 실패한 파이프라인은 쓰지 않은 크레딧을 환불하며, max_cost_credits로 총액의 상한을 정합니다. 크레딧을 참조하세요.

MCP와 SDK에서 사용

SDK는 모든 라우트를 client.pipelines.*로 감쌉니다. CLI에는 파이프라인 명령이 없습니다. AI 어시스턴트는 다음 MCP 도구를 사용합니다.

도구스코프하는 일
start_pipelinepipelines:execute파이프라인을 시작합니다. 기본 모드는 auto입니다.
get_pipeline_statuspipelines:read상태, 단계, 크레딧을 읽습니다.
pipeline_pending_approvalspipelines:read승인을 기다리는 단계 목록을 가져옵니다.
chat_pipeline_stage, apply_chat_proposalpipelines:approve감독과 채팅하고 제안을 적용합니다.
get_pipeline_stage_chatpipelines:read단계의 채팅을 읽습니다.
branch_pipelinepipelines:execute완료된 파이프라인을 브랜치합니다.

어시스턴트에서 가이드 방식으로 영화를 연출하는 방법은 Film Director를 참조하세요.

오류

상태코드의미
400validation_error본문이 잘못되었습니다. 예를 들어 길이가 5초 미만이거나 3,600초를 넘거나, 브랜치의 fromStage가 단계 이름이 아닌 경우입니다.
400duration_out_of_bounds길이가 형식의 범위를 벗어나거나 600초를 넘습니다.
400pipeline_not_completedcompleted가 아닌 파이프라인에서 브랜치를 요청했습니다.
400invalid_stage채팅을 보내거나 읽을 때 script, shot_list, post_merge가 아닌 단계를 지정했습니다.
400invalid_stage_name승인에서 8개 단계에 속하지 않는 단계를 지정했습니다. 그런 단계를 읽으면 이 코드와 함께 404로 응답합니다.
400stage_not_implemented거부 호출에서 script가 아닌 단계를 지정했습니다.
400invalid_change_type_for_stage브랜치만 받는 post_merge 단계에 패치가 제안되었습니다.
400invalid_sub_gate하위 게이트 라우트가 처리하는 게이트가 아닙니다. match_cut_break_pending의 경우 메시지에 각 불일치를 수락하는 라우트가 나옵니다.
400shot_not_found수락할 샷이 해당 장면에 없습니다.
400not_a_match_cut수락할 샷에 계획된 매치 컷이 없습니다.
400invalid_entity_type엔티티 목록을 character, object, location, scene이 아닌 type으로 요청했습니다.
401unauthorized토큰이 없거나, 잘못되었거나, 폐기되었습니다.
402insufficient_credits계정의 크레딧이 예약에 부족합니다.
403edition_required인스턴스가 Nodaro Cloud가 아닙니다.
403insufficient_scopeOAuth 앱 토큰에 라우트의 스코프가 없습니다.
404not_found해당 ID를 가진 내 파이프라인이 없습니다. 하위 게이트 호출에서는 단계가 그 게이트에서 기다리고 있지 않다는 뜻이기도 합니다.
404pipeline_not_found브랜치 호출에서 존재하지 않거나 내 것이 아닌 파이프라인을 지정했습니다.
404stage_not_started읽으려는 단계가 아직 시작되지 않았습니다.
404stage_not_found하위 게이트 호출이 애니메이션 단계가 시작되지 않은 파이프라인에 도달했습니다. 단계 승인이나 거부는 이 코드와 함께 409로 응답합니다.
404scene_not_found파이프라인에 해당 ID의 장면이 없습니다.
409patch_invalid채팅 제안이 유효한 변경이 아니어서 적용할 수 없었습니다.
409stage_not_awaiting채팅 제안을 적용하거나 수정과 함께 승인할 때, 단계가 더 이상 승인을 기다리고 있지 않습니다.
409stage_already_advanced수정 없이 승인하거나 거부할 때, 단계가 더 이상 승인을 기다리고 있지 않습니다.
409stage_not_awaiting_approval하위 게이트 호출이 승인을 기다리지 않는 애니메이션 단계에 도달했습니다.
409already_terminal취소 호출이 이미 완료, 실패 또는 취소된 파이프라인에 도달했습니다.
409critic_retry_cap_reached나 또는 자동 스크립트 평가 AI가 스크립트를 이미 두 번 수정했습니다.
409scene_not_planned장면에 아직 샷 계획이 없어 불일치를 수락할 수 없습니다.
501chat_not_wired_for_stage단계에 작동하는 채팅이 없습니다. 현재는 shot_list만 해당합니다.

자주 묻는 질문

스토리 → 동영상 파이프라인은 무엇을 만드나요?

완성된 영화와 그 바탕이 되는 워크플로입니다. 파이프라인은 스크립트를 쓰고, 캐릭터, 오브젝트, 장소를 만들고, 샷을 계획하고, 키프레임을 렌더링하고, 사운드와 함께 애니메이션을 만들고, 결과를 합칩니다. GET /v1/pipelines/:id/timeline은 조립된 장면을 반환합니다.

아무도 승인하지 않아도 파이프라인을 실행할 수 있나요?

네. mode를 auto로 설정해 만들면 엔진이 모든 단계를 스스로 실행하고, 자동 평가 AI가 출력을 검사합니다. 상태가 completed 또는 failed가 될 때까지 GET /v1/pipelines/:id를 폴링하세요. 실행은 두 샷 사이에 계획한 매치 컷이 맞지 않을 때만 멈춥니다. 그러면 상태는 running으로 유지되고, 모든 불일치가 수락될 때까지 GET /v1/pipelines/:id/pending-approvals에 scene_images 단계가 나타납니다.

완성된 영화를 한 단계부터 다시 실행하려면 어떻게 하나요?

다시 실행할 단계를 지정해 POST /v1/pipelines/:id/branch를 호출하세요. Nodaro가 그 앞 단계는 유지하고 해당 단계와 이후 단계를 다시 실행하는 새 파이프라인을 만듭니다. 원본은 바뀌지 않습니다.

파이프라인을 취소하면 크레딧은 어떻게 되나요?

아직 실행되지 않은 작업에 예약된 크레딧은 환불됩니다. 이미 끝난 작업에 사용된 크레딧은 환불되지 않습니다. 이미 완료, 실패 또는 취소된 파이프라인은 취소할 수 없습니다. 이 호출은 409 already_terminal로 응답하며 아무것도 바꾸지 않습니다.

셀프 호스팅 설치에서 파이프라인을 실행할 수 있나요?

아니요. 파이프라인은 Nodaro Cloud에서만 실행되며, 셀프 호스팅 에디션은 403 edition_required로 응답합니다. 셀프 호스팅 설치에서는 같은 단계를 캔버스의 워크플로로 구성하세요.

최종 업데이트

목차