Communitygithub.com

Zoromi AI 에이전트 스킬

Zoromi(zoromi.studio)의 숏 비디오, 세로형 숏 드라마, 일러스트북 가격 및 요금제를 실시간으로 조회하고, 사용자 자신의 ZOROMI_API_KEY로 젬스 잔액, 일일 한도, 도서, 비디오 프로젝트, 작업 상태, 최근 청구 내역 및 비디오 클립 견적을 확인합니다. 또한 지출이 허용된 키를 사용하여 사용자가 견적 가격에 동의한 후에 한 장의 사진이나 하나의 비디오 클립을 제작하거나, 스크립트를 기반으로 숏 드라마를 시작하여 사용자가 웹사이트에서 완성하도록 할 수 있습니다. 사용자가 Zoromi 또는 zoromi.studio를 언급하거나, 숏 드라마, 비디오 클립 또는 일러스트북의 비용을 묻거나, 자신의 Zoromi 계정, 도서, 프로젝트, 작업 또는 젬스에 대해 질문하거나, 사진, 비디오 클립 또는 숏 드라마 제작을 요청할 때 사용합니다. 가격, 요금제 및 Zoromi의 기능 설명에는 키가 필요 없으며, 어떤 다른 도구가 열려 있는지는 서버의 tools/list가 알려주므로, 먼저 호출하고 키가 필요한 도구가 나열될 때만 키를 요청하세요. 사용자가 정확한 가격을 승인하기 전까지는 어떤 요금도 청구되지 않습니다.

Zoromi AI 에이전트 스킬란 무엇인가요?

이 스킬은 AI 에이전트(Claude Code, Cursor 등)가 Zoromi 스튜디오 플랫폼과 통합하여 사용자에게 다양한 기능을 제공할 수 있도록 합니다. 주요 기능으로는 비디오 및 일러스트북 가격과 요금제 조회, 사용자 계정 정보 확인(젬스 잔액, 일일 한도, 프로젝트, 작업 상태, 청구 내역), 그리고 사용자 승인 후 유료로 이미지나 비디오 클립을 제작하는 것이 포함됩니다. 이 스킬은 MCP 서버 또는 curl을 통해 호출되며, API 키는 환경 변수로 안전하게 관리해야 합니다. 핵심 규칙은 가격을 메모리에 저장하지 않고 매번 실시간으로 조회하며, 사용자가 정확한 가격에 명시적으로 동의한 경우에만 비용이 발생하는 작업을 수행하는 것입니다. 스킬은 사용자에게 젬스(웹사이트 크레딧)와 API 잔액(달러)의 차이를 이해하기 쉬운 언어로 설명하고, 제공된 링크를 통해서만 웹사이트로 안내해야 합니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/zoromi-studio/skills/tree/HEAD/skills/zoromi

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

AI 에이전트용 Zoromi

Zoromi (https://zoromi.studio)는 이야기나 아이디어를 일러스트북 또는 짧은 동영상(대본, 장면, 음성, 음악 및 클립)으로 바꾸고, 짧은 드라마 극장을 운영합니다. 이 스킬을 사용하면 Zoromi API를 호출하여 가격, 요금제 및 사용자 계정에 대한 질문에 답변하고, 사용자를 위해 사진 한 장 또는 비디오 클립 하나를 제작할 수 있습니다.

각 도구에 대한 필드별 답변: references/tools.md.

열려 있는 것

서버는 도구를 단계적으로 엽니다. 어떤 것을 제공하기 전에 tools/list를 호출하고 나열된 도구만 사용하세요.

  • 키 없이 항상 열려 있음: get_zoromi_overview, get_video_prices, get_plans_and_pricing
  • tools/list에 표시될 때: 계정을 읽는 도구(잔액, 도서, 프로젝트, 작업, 청구 내역)와 무언가를 만드는 도구입니다. 아직 열리지 않은 도구는 "이 도구는 아직 열리지 않았습니다"라고 응답합니다.

tools/list에 세 개의 열린 도구만 표시되는 동안:

  • 사용자에게 API 키를 요청하거나 키를 만들도록 안내하지 마세요. 회원은 아직 키를 만들 수 없습니다.
  • 사용자가 자신의 계정에 대해 묻거나 여기서 사진, 비디오 또는 드라마를 만들고 싶어하면, 어시스턴트를 통해 아직 열리지 않았다고 분명히 말하고, get_zoromi_overview의 웹사이트 링크를 주세요: 오늘날에는 그곳에서 할 수 있습니다.
  • 가격 및 요금제 질문에는 평소처럼 답변하세요.

키, 계정 도구 및 사진이나 클립 제작에 대한 아래 섹션은 tools/list에 해당 도구가 표시되면 적용됩니다.

규칙

  1. 절대 기억에서 가격을 인용하지 마세요. 가격은 변합니다. 매번 estimate_website_clips_cost(키 필요), get_video_prices 또는 get_plans_and_pricing을 호출하고 반환된 내용과 함께 반환된 가격 페이지 링크를 인용하세요.
  2. 사용자가 정확한 가격에 동의한 후에만 지출하세요. create_image, create_video_clip 및 edit_image만 지출하며, 계정의 API 잔액(젬스와 별개)에서 미국 달러로 지불됩니다. estimate_image_cost, estimate_video_clip_cost 또는 estimate_image_edit_cost로 견적을 받고, 무엇을 만들고 비용(price)이 얼마인지 사용자에게 알린 후 명확한 동의를 기다리세요. 그때만 confirmed_by_user를 true로 설정하고, 절대 스스로 설정하지 마세요. 정확히 견적된 인수를 보내세요. 가격이 변경되었거나 견적이 만료된 경우, 다시 견적하고 다시 물어보세요. 동일한 작업을 두 번 시작하지 마세요: start_unknown 후에 먼저 list_my_gems_charges와 list_my_video_projects를 확인하세요. 클립은 Zoromi에 있는 사용자 자신의 사진 중 하나(first_frame, 해당 ID 또는 Zoromi 주소)로 시작할 수 있으며, 사용자가 "이 사진에 나온 모든 사람이 사용에 동의했습니다"(people_consent)와 "이 사진을 사용할 권리가 있습니다"(rights_confirmed)에 동의한 후에만 가능합니다: 사용자에게 물어보고, 절대 가정하지 마세요. 도서, 사용자 사진으로 만든 사진 및 전체 드라마는 현재 웹사이트에서 제작됩니다: get_zoromi_overview의 링크를 사용자에게 주세요. 도구가 content_not_allowed로 응답하면 콘텐츠 정책이 요청을 허용하지 않는 것입니다: 사용자에게 그 사실을 알리고, 정책을 우회하기 위해 내용을 바꾸지 마세요.
  3. API 키를 비밀로 유지하세요. ZOROMI_API_KEY 환경 변수에서 읽으세요. 절대 출력하거나, 에코하거나, 프로젝트 파일에 쓰거나, 커밋에 넣거나, 채팅에 붙여넣지 마세요. 오직 zoromi.studio로만 보내세요.
  4. HTTP 상태가 아닌 응답을 확인하세요. 도구가 HTTP 200으로 응답해도 문제를 보고할 수 있습니다: result.structuredContent 전에 result.isError를 읽으세요. 오류를 참조하세요.
  5. 도구가 반환한 링크를 사용하세요 (가격 페이지, 계정 페이지, 도서의 open_url) URL을 직접 만들지 마세요.
  6. 사용자에게 평이한 말로 작성하세요. 젬스는 웹사이트의 Zoromi 크레딧입니다. API 잔액은 미국 달러입니다. "10개 중 3개 세그먼트가 촬영되었습니다"와 같은 답변이 원시 필드 이름보다 낫습니다.

설정

API 키

계정 도구가 열리지 않은 경우 이 섹션을 건너뛰십시오 (열려 있는 것 참조).

가격, 요금제 및 get_zoromi_overview는 키가 필요 없습니다. 계정에 관한 모든 것은 해당 계정 소유자의 키가 필요하며, zk_live_로 시작합니다. 소유자는 Zoromi 계정 페이지(get_zoromi_overview가 링크를 반환함)에서 키를 만듭니다. 사용자에게 아직 키가 없으면, 키 없이 할 수 있는 것에 답변하고 키를 만들 수 있는 위치를 알려주세요.

사용자는 프로젝트 외부에서 한 번 설정합니다:

# macOS / Linux: ~/.zshrc 또는 ~/.bashrc에 추가
export ZOROMI_API_KEY='zk_live_...'
# Windows PowerShell (현재 사용자, 유지됨)
[Environment]::SetEnvironmentVariable('ZOROMI_API_KEY', 'zk_live_...', 'User')

명령어가 ZOROMI_API_KEY가 비어 있다고 표시하면 사용자에게 설정하도록 요청하세요. 키를 채팅에 붙여넣도록 요청하지 마세요.

옵션 A: MCP 서버로 연결 (Claude Code 및 기타 MCP 클라이언트)

API는 https://zoromi.studio/api/v1/mcp/skill에서 Streamable HTTP를 통한 MCP 서버입니다. Claude Code에서 프로젝트의 .mcp.json에 다음을 넣으세요. 키는 환경에 남아 있습니다: Claude Code가 연결할 때 ${ZOROMI_API_KEY}를 채우므로 파일에 비밀이 저장되지 않습니다.

{
  "mcpServers": {
    "zoromi": {
      "type": "http",
      "url": "https://zoromi.studio/api/v1/mcp/skill",
      "headers": { "Authorization": "Bearer ${ZOROMI_API_KEY}" }
    }
  }
}

그러면 도구가 이름으로 나타나고(get_video_prices 등) 직접 호출할 수 있습니다.

옵션 B: curl로 호출 (모든 에이전트)

모든 호출은 JSON-RPC tools/call 메시지의 HTTP POST 한 번입니다. 세션이나 먼저 수행해야 할 핸드셰이크가 없습니다. 이 셸 함수는 각 호출을 한 줄로 만듭니다. 표준 입력(-H @-)을 통해 키를 보내므로 키가 명령줄이나 프로세스 목록에 나타나지 않습니다.

# 사용법: zoromi <도구_이름> ['<json 인수>']
zoromi() {
  tool=${1:?usage: zoromi <도구_이름> [json-arguments]}
  args=${2:-}; [ -n "$args" ] || args='{}'
  body=$(printf '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"%s","arguments":%s}}' "$tool" "$args")
  url=${ZOROMI_API_URL:-https://zoromi.studio/api/v1/mcp/skill}
  if [ -n "${ZOROMI_API_KEY:-}" ]; then
    printf 'Authorization: Bearer %s\n' "$ZOROMI_API_KEY" |
      curl -sS -X POST "$url" -H 'Content-Type: application/json' \
        -H 'Accept: application/json, text/event-stream' -H @- --data-binary "$body"
  else
    curl -sS -X POST "$url" -H 'Content-Type: application/json' \
      -H 'Accept: application/json, text/event-stream' --data-binary "$body"
  fi
  echo
}

zoromi get_video_prices
zoromi list_my_books '{"limit": 5}'
  • curl만 있으면 됩니다. jq는 응답을 읽는 데 편리하지만(... | jq .result.structuredContent) 필수는 아닙니다.
  • Windows: Git Bash 또는 WSL에서 실행하세요. PowerShell에서 curl은 다른 명령어입니다. curl.exe를 사용하고 본문을 파일에 쓰거나(--data-binary "@body.json") 인용 문제를 피하세요.
  • 모든 도구와 해당 인수 스키마를 나열하려면: 동일한 방식으로 {"jsonrpc":"2.0","id":1,"method":"tools/list"}를 보내세요.

도구 목록

도구키인수응답 내용
get_zoromi_overview아니오없음Zoromi가 만드는 것, 시작 방법, 링크 (웹사이트, 가입, 가격, 계정)
get_video_prices아니오없음사운드가 있는 5초 클립당 모델 및 해상도별 라이브 젬스 및 현재 할인
get_plans_and_pricing아니오없음라이브 요금제 (월간/연간 가격, 부여된 젬스), 종량제, 젬스 팩
get_my_account예없음요금제, 젬스 잔액, 오늘의 일일 한도, 오늘 사용 및 남은 양
list_my_books예limit 1-100, offset, query사용자의 일러스트북, 최신순
get_book예book_id하나의 도서: 상태 및 각 페이지의 상태, 이미지 및 시작 텍스트
list_my_video_projects예limit 1-100, offset사용자의 비디오 프로젝트, 최신순, 상태별로 집계된 세그먼트 포함
get_video_project예project_id하나의 비디오 프로젝트 및 상태별로 집계된 세그먼트
get_generation_status예task_id하나의 생성 작업: 대기 중, 실행 중, 완료 또는 실패; 완료 시 view_url (사용자가 보고 다운로드할 수 있는 자신의 페이지) 및 여기서 만들어진 사진에 대해 청구된 내용
list_my_gems_charges예limit 1-200최근 젬스 청구 및 환불, 최신순
estimate_website_clips_cost예model, resolution, seconds_per_clip, clips, aspect_ratio, with_sound이 계정 가격으로 해당 클립 촬영에 필요한 젬스 및 잔액이 충당되는지 여부. 지출하지 않음
estimate_image_cost지출 키prompt, 및 선택적 model, aspect_ratio, quality정확히 이 사진 한 장의 가격 및 quote_id (수명이 짧고 한 번 사용됨). 지출하지 않음
create_image지출 키동일, quote_id 및 confirmed_by_user 추가견적된 사진을 만들고 API 잔액에서 해당 가격을 청구합니다. task_id를 응답합니다.
estimate_image_edit_cost지출 키pictures (Zoromi에 있는 사용자 자신의 사진 1-4장), prompt, people_consent, rights_confirmed, 및 선택적 model, aspect_ratio, quality정확히 이 편집의 가격 및 quote_id (수명이 짧고 한 번 사용됨). 지출하지 않음
edit_image지출 키동일, quote_id 및 confirmed_by_user 추가견적된 편집을 만들고 API 잔액에서 해당 가격을 청구합니다. task_id를 응답합니다.
estimate_video_clip_cost지출 키model, resolution, seconds, prompt, aspect_ratio, with_sound, 및 시작할 사진이 있는 경우 first_frame, people_consent, rights_confirmed정확히 이 클립 하나의 가격 및 quote_id (수명이 짧고 한 번 사용됨). 지출하지 않음
create_video_clip지출 키동일, quote_id 및 confirmed_by_user 추가견적된 클립을 만들고 API 잔액에서 해당 가격을 청구합니다. task_id를 응답합니다.
estimate_website_story_video_cost예model, resolution, clips, seconds_per_clip, cards, aspect_ratio한 에피소드에 대한 견적: 촬영 및 사진. 지출하지 않음
start_website_story_video지출 키script, 및 선택적 title, model, resolution, aspect_ratio, seconds_per_clip, target_minutes, keep_my_writing, dialogue_language스크립트로 웹사이트에 프로젝트를 만들고 open_url 및 사용자가 그곳에서 누를 버튼을 응답합니다. 지출하지 않음
get_website_story_video_status예project_id드라마가 어느 단계에 있는지, 촬영된 클립, 준비되었을 때 영화 링크, 다음에 누를 것

"지출 키"는 계정 소유자가 계정 페이지에서 사진과 클립을 만들 수 있도록 허용하고, 자신이 선택한 일일 달러 한도가 있는 키입니다. 이것이 만드는 것은 계정의 API 잔액에서 지불되며, 소유자는 계정 페이지에서 충전합니다. 젬스와는 별개이며 서로 지불하지 않습니다. estimate_image_cost, create_image, estimate_image_edit_cost, edit_image, estimate_video_clip_cost 및 create_video_clip은 다른 키에 대해 나열되지 않습니다.

키가 있으면 get_video_prices는 요금제에 따라 변경될 수 있는 해당 계정의 자체 가격으로 응답합니다. 키가 없으면 공개 가격으로 응답합니다.

일반적인 요청

"N개 클립의 숏 드라마 비용은 얼마인가요?" 키가 있으면 estimate_website_clips_cost를 모델 및 해상도(get_video_prices에 나열된 이름과 정확히 동일), 클립당 초, 클립 수와 함께 호출하세요. 세로 드라마는 aspect_ratio 9:16이 기본값입니다. gems_total, gems_per_clip 및 enough_gems를 보고하고, covers가 무엇을 말하는지 언급하세요: 클립 촬영이 주요 비용이지만, 캐릭터 사진, 기획, 음성 및 음악도 청구되며, 웹사이트는 지출되기 전에 정확한 총액을 보여줍니다. 모델이 길이를 반올림하면 응답에 seconds_note가 있습니다. 전달하세요. 키가 없으면 get_video_prices를 호출하고 해당 모델 및 해상도에 대한 총 초 수에 gems_per_second를 곱하여 촬영 비용을 추정하고, 계산 과정을 보여주세요.

"어떤 요금제를 선택해야 하나요?" get_plans_and_pricing을 호출하고, 각 요금제가 부여하는 젬스와 위의 추정치를 비교하고, 반환된 가격 페이지에 링크하세요.

"제 젬스는 얼마인가요?" get_my_account. 계정에 일일 한도가 있는 경우 해당 한도와 오늘 남은 양도 언급하세요.

"제 비디오가 완료되었나요?" list_my_video_projects, 그런 다음 프로젝트의 id로 get_video_project. 상태별로 집계된 세그먼트를 보고하세요. 사용자가 이미 가지고 있는 단일 작업 ID의 경우 get_generation_status를 사용하세요.

"제 책은 어디에 있나요?" list_my_books (query를 사용하여 제목으로 검색), 그런 다음 get_book. 책의 open_url을 제공하세요.

"얼마를 썼나요?" list_my_gems_charges. 청구 및 환불은 젬스로 표시됩니다. 사용자가 묻는 기간 동안 합산하고 반환된 사용량 페이지에 링크하세요.

"...의 사진을 만들어 주세요." 지출 키 사용:

  1. estimate_image_cost를 프롬프트(누구 또는 무엇, 어디서, 조명, 스타일)와 함께 호출하고 사용자가 요청한 경우 프레임 모양을 aspect_ratio로 지정하세요. 사용자가 요청하지 않는 한 model과 quality는 생략하세요.
  2. 사용자에게 무엇이 만들어질지와 그 price를 알리고 물어보세요. enough_balance가 false이면 API 잔액이 충분하지 않다고 말하고 충전할 수 있는 account_page를 제공하세요.
  3. 명확한 동의 후에 동일한 인수, quote_id 및 confirmed_by_user: true와 함께 create_image를 호출하세요.
  4. task_id로 get_generation_status를 5초 이상 간격으로 SUCCESS 또는 FAILURE가 될 때까지 확인한 다음, 사용자에게 view_url (Zoromi에서 보고 다운로드할 수 있는 자신의 페이지, result_url이 있는 경우 사진의 결과 URL도 함께) 및 charge가 청구되었다고 말하는 내용을 제공하세요. 사진이 결국 실패하면 청구되었던 금액이 API 잔액으로 돌아갑니다.

"이 사진을 변경하세요..." 지출 키 사용:

  1. 사진은 Zoromi에 있는 사용자 자신의 사진이어야 합니다: 해당 ID 또는 Zoromi가 제공한 주소. create_image로 만든 사진이 작동합니다: 완료되었을 때 get_generation_status가 응답한 주소를 전달하세요. 다른 웹 주소는 허용되지 않습니다. 직접 업로드하거나 가져오지 마세요.
  2. 사용자에게 두 문장을 모두 묻고 각각에 대해 명확한 동의 후에만 true를 보내세요: "이 사진에 나온 모든 사람이 사용에 동의했습니다"와 "이 사진을 사용할 권리가 있습니다". 결코 가정하지 마세요.
  3. estimate_image_edit_cost로 견적을 받고(변경하려는 사진의 ID/주소를 pictures에 포함), 가격을 알리고 기다리세요.
  4. 동의 후에 edit_image를 호출하고, get_generation_status로 작업을 추적하세요.

"비디오 클립을 만들어 주세요." 지출 키 사용: 이미지와 동일한 패턴이지만 estimate_video_clip_cost와 create_video_clip을 사용합니다.

오류

모든 도구 응답은 이 구조를 따릅니다:

{
  "result": {
    "isError": false,
    "structuredContent": { ... }
  }
}

실패할 때 http_status는 여전히 200이지만 isError는 true입니다. structuredContent는 오류 유형과 메시지를 포함합니다.

일반적인 오류 유형:

  • not_found: 존재하지 않는 ID
  • authentication: 잘못된 키 또는 누락된 키
  • authorization: 지출 키에 대한 권한 부족
  • rate_limited: 너무 많은 요청
  • content_not_allowed: 요청이 콘텐츠 정책을 위반함
  • validation: 인수 오류
  • server_error: Zoromi 측의 일시적인 문제

content_not_allowed의 경우 사용자에게 콘텐츠가 허용되지 않는다고 말하고, 정책을 우회하려고 시도하지 마세요.

중요 참고 사항

  • API 잔액은 미국 달러로 표시되며, 웹사이트의 젬스와 별개입니다. 둘 중 하나는 다른 하나를 지불하는 데 사용할 수 없습니다.
  • 모든 가격과 견적은 실시간이며 변경될 수 있습니다. 결코 캐시하지 마세요.
  • 사진 및 비디오 생성은 실패할 수 있습니다. 실패 시 청구 금액은 자동으로 환불됩니다.
  • 지출 키는 계정 소유자가 계정 페이지에서 구성한 일일 한도가 있습니다.
  • 사용자가 요청하지 않는 한 model, resolution 또는 기타 선택적 매개변수를 임의로 선택하지 마세요.

관련 스킬