Skip to main content
Glama

lore_webtoon_scene

Turn one canon novel scene into a single webtoon panel image with dialogue in the work's original language, then validate, review, and resume the scene workflow.

Instructions

기본 웹툰 제작 경로. 소설 정본의 한 장면을 대사가 작품 언어 원문으로 들어간 이미지 한 장으로 만든다. 원작→영어 장면 연출→생성 전 검증→문자 포함 장면 이미지→실제 시각 검토 순서이며 컷 배치와 카메라는 이미지 모델에 맡긴다. 호출 전에 webtoon-discovery-interview로 원작 범위·화풍·참조·칸 수·이미지 모델을 사용자와 정한다. 서버는 이미지 API를 부르지 않는다: needs_scene_image일 때 jobs의 요청을 호스트가 OpenAI API(별도 과금)로 실행하고 결과 파일을 asset으로 넘긴다. 선택이 없는 작품은 start에서 needs_image_choice로 과금 선택을 사용자에게 확인하며, 승인된 선택은 재사용한다. 모델 단계(연출·검증·시각 검토)는 needs_model→lore_resume, 칸 수가 없으면 needs_interview. 상태는 .vibelore/webtoon/에 저장하고 소설 정본과 프로젝트 webtoon/ 폴더는 건드리지 않는다. 진행 중 워크플로가 있으면 start는 WEBTOON_WORKFLOW_ACTIVE로 거부되므로 revise나 retry로 끝낸다. 시각 검토를 통과하면 status=completed. 기존 컷별 workflow는 변경하지 않는다.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
assetNoneeds_scene_image 단계에서 호스트가 생성한 장면 이미지. path는 프로젝트 안의 PNG/JPEG, inputHash는 job의 inputHash, provenance는 {kind:"openai-api", requestedModel, selectionId}.
actionNostart=새 장면 워크플로 시작, revise=feedback으로 연출부터 다시(완료된 장면도 다시 연다), retry=scene_model_failed에서 실패 단계 재시도. 생략하면 현재 단계를 이어간다(대기 중 모델 요청 재전송, jobs 반환, asset 반입).
workIdYes작품 식별자 ([A-Za-z0-9_-]). 한 디렉터리에는 작품 하나만 둔다.
projectNo작품 디렉터리의 절대 경로. 생략하면 서버 실행 디렉터리.
feedbackNorevise에 필수인 수정 요청. confirmImageChoice와 함께 start할 때는 과금 선택에 대한 사용자 원답을 넣는다.
revisionNo낙관적 동시성 확인용 현재 revision. 저장된 값과 다르면 STALE_WEBTOON_REVISION으로 거부한다. 생략 가능.
directionNo사용자가 확정한 작화·문자·판면/배치 재량을 영어로 전달(대사는 작품 언어 원문 그대로 이미지에 들어간다).
imageModelNo확정된 API 선택이 없는 작품의 start에서 제안할 OpenAI API 모델. 기본 2.5 Sunburst.
panelCountNo사용자가 선택한 정확한 칸 수(1~12) 또는 "auto". auto는 각색할 때마다 AI가 3~12칸 중 적정 수를 다시 고른다. 3칸 미만은 연속성 경고가 warnings에 실린다. start에서 누락하면 needs_interview. 칸 크기와 배치는 AI가 선택.
referencesNostart 필수. 사용자가 지정한 인물·배경 참조 이미지 1개 이상(직전 장면 포함 최대 16개). description은 영어, id에 previous-scene은 쓸 수 없다.
workflowIdNo대상 장면 워크플로 id. 생략하면 현재 워크플로.
autoRevisionsNostart 전용. 생성 전 검증 또는 이미지 검토가 불합격이면 관측 결함을 feedback으로 자동 재설계하는 횟수(기본 2). 재설계마다 새 이미지 요청이 나가며 실패한 시도는 attempts에 남는다. 0이면 기존처럼 scene_needs_revision에서 멈춘다.
sourceUnitIdsNo고정된 원작 문단 ID. 생략 시 선택 회차 전체. 한 이미지에 담을 장면 범위로 지정한다.
sourceChaptersNostart 전용. 각색할 소설 화 번호(1~20개). 생략하면 첫 화만.
confirmImageChoiceNoneeds_image_choice로 받은 imageChoice.id. 사용자의 원답을 feedback에 넣어 같은 start를 다시 호출하면 이 작품의 API 선택으로 확정한다.
previousWorkflowIdNo이어지는 직전 장면 workflow. 실제 이미지·설계·검토 결과를 상속해 연속성을 검증하며 이전 검토 판정은 그대로 보존.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changedv0.4.4
    • addedInput schema / properties / action / description
      Added value: +"start=새 장면 워크플로 시작, revise=feedback으로 연출부터 다시(완료된 장면도 다시 연다), retry=scene_model_failed에서 실패 단계 재시도. 생략하면 현재 단계를 이어간다(대기 중 모델 요청 재전송, jobs 반환, asset 반입)."
    • addedInput schema / properties / asset / description
      Added value: +"needs_scene_image 단계에서 호스트가 생성한 장면 이미지. path는 프로젝트 안의 PNG/JPEG, inputHash는 job의 inputHash, provenance는 {kind:\"openai-api\", requestedModel, selectionId}."
    • addedInput schema / properties / feedback / description
      Added value: +"revise에 필수인 수정 요청. confirmImageChoice와 함께 start할 때는 과금 선택에 대한 사용자 원답을 넣는다."
    • addedInput schema / properties / revision / description
      Added value: +"낙관적 동시성 확인용 현재 revision. 저장된 값과 다르면 STALE_WEBTOON_REVISION으로 거부한다. 생략 가능."
    • addedInput schema / properties / sourceChapters / description
      Added value: +"start 전용. 각색할 소설 화 번호(1~20개). 생략하면 첫 화만."
    • changedInput schema / properties / workId / description
      Previous value: -"작품 식별자 ([A-Za-z0-9_-])."New value: +"작품 식별자 ([A-Za-z0-9_-]). 한 디렉터리에는 작품 하나만 둔다."
    • addedInput schema / properties / workflowId / description
      Added value: +"대상 장면 워크플로 id. 생략하면 현재 워크플로."
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare the mutation safety profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false). The description adds far more: the server never calls the image API, the host must execute the OpenAI request and return it as an asset, state lives in .vibelore/webtoon/ and novel canon plus the project webtoon/ folder are untouched, and existing per-cut workflows are preserved.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Long but densely packed and front-loaded with the core purpose before branching into checkpoints, state location, and error paths. For a 16-parameter workflow tool nearly every clause carries actionable information, though a few state/error details could be tightened.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and 16 parameters, the description carries the necessary burden: it describes the checkpoint protocol, the needs_* signals in both directions, error codes (WEBTOON_WORKFLOW_ACTIVE), the completion condition (status=completed), and side-effect boundaries. An agent has enough to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description still adds flow-level meaning that the schema does not: the confirmImageChoice/feedback round-trip for billing approval, the reuse of an approved choice, and the autoRevisions redesign loop that emits new image requests and records failures in attempts.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource (creates one image from a single novel scene, with dialogue in the work's original language) and lays out the full pipeline (원작→연출→검증→장면 이미지→시각 검토). It implicitly distinguishes itself from siblings lore_webtoon_plan and lore_webtoon_render by naming its exact scope and the discovery interview that must precede it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use and prerequisites: webtoon-discovery-interview must fix scope, style, references, panel count and image model first. It names alternative actions for a blocked state (revise/retry when start returns WEBTOON_WORKFLOW_ACTIVE) and routes model stages to lore_resume and missing panel count to needs_interview.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.