AI 도우미 사용 가이드

규칙을 먼저 찾고, 남은 곡만 AI로 분류하세요.

01
규칙 추천라이브러리 일부를 분석해 반복 정리 규칙을 찾습니다.
02
곡 분류규칙으로 해결되지 않는 곡만 개별 속성으로 분류합니다.

빠른 시작

앱에서 요청 파일을 만든 뒤 외부 AI에 파일과 이 가이드 링크를 전달하고, 결과 파일을 다시 가져오면 됩니다.

YouTube Music 동기화실제 재생목록과 곡을 앱에 가져옵니다.
규칙 추천 파일 만들기일부 재생목록이나 미처리 곡만 분석 대상으로 고릅니다.
AI에 파일과 가이드 링크 전달규칙 후보 결과 파일을 받습니다.
추천 규칙 가져오기앱이 전체 보관함에서 매칭과 충돌을 다시 테스트합니다.
남은 곡만 AI 분류규칙으로 해결되지 않은 예외만 따로 선택합니다.

2,000곡 전체를 한 번에 AI에 보낼 필요가 없습니다. 먼저 적은 표본으로 반복 규칙을 찾고, 앱이 전체 보관함에서 안전하게 검증한 뒤 남은 예외만 분류합니다.

파일 빠른 구분

기능앱이 만드는 요청 파일AI가 만드는 결과 파일실제 format
규칙 추천rule-analysis-request.jsonrule-analysis-result.jsonyoutube-music-organizer-rule-analysis-request / youtube-music-organizer-rule-analysis-result
곡 분류track-classification-request.jsontrack-classification-result.jsonyoutube-music-organizer-classification-request / youtube-music-organizer-classification-pack

YouTube는 이 단계에서 변경되지 않습니다. AI 분류는 내부 속성 후보를 저장할 뿐입니다. 실제 재생목록 변경은 규칙 계산, 미리보기, 사용자 승인, 적용 단계를 거칩니다.

AI 규칙 추천

곡별 정답을 받는 기능이 아닙니다. 재생목록 소속, 제목, 아티스트·채널, 길이, 기존 규칙과 사용자 기준에서 반복되는 패턴을 찾아 Rule 후보를 받습니다.

분석 범위 선택특정 재생목록, 규칙 미적용 곡, 검토 필요 곡 또는 직접 선택한 곡을 고릅니다.
요청 파일 만들기앱 기본 크기로 자동 분할됩니다. 필요하면 고급 설정에서 100·150·200곡으로 바꿀 수 있습니다.
외부 AI에 전달rule-analysis-request.json과 이 문서 링크를 전달합니다.
결과 가져오기rule-analysis-result.json의 지원 필드·연산자·실행을 검증합니다.
로컬 테스트AI의 예상 수는 신뢰하지 않고 앱이 전체 보관함에서 매칭, 추가, 제거 제안, 충돌을 다시 계산합니다.
선택한 규칙 저장가져온 후보는 자동 활성화되지 않습니다. 사용자가 고른 후보만 실제 규칙으로 저장합니다.

AI에 전달할 것

rule-analysis-request.json 파일과 이 가이드 링크를 함께 전달하세요.

자동 제거 금지 규칙 후보가 제거를 제안할 수는 있지만 실제 재생목록 제거는 사용자 확인이 필요합니다.

규칙 분석 요청 JSON

rule-analysis-request.json
{
  "format": "youtube-music-organizer-rule-analysis-request",
  "schemaVersion": 1,
  "requestId": "0ce11bb2-1bdb-43b5-a01d-a96316e385d1",
  "createdAtMillis": 1799708400000,
  "batch": {
    "index": 1,
    "count": 1,
    "targetTrackCount": 1,
    "comparisonTrackCount": 0
  },
  "analysisScope": {
    "kind": "SELECTED_TRACKS",
    "label": "직접 선택한 곡",
    "selectedPlaylistIds": [],
    "totalSelectedTracks": 1
  },
  "userClassificationCriteria": "동인 음악은 확인 가능한 근거가 있을 때만 분류",
  "playlists": [
    { "youtubeId": "fake-uni", "title": "UNI", "itemCount": 40 },
    { "youtubeId": "fake-vc", "title": "VC", "itemCount": 120 }
  ],
  "tracks": [
    {
      "youtubeId": "fake-uni-song",
      "title": "Into the UNIverse",
      "artistChannel": "Sample Producer",
      "album": null,
      "durationSeconds": 226,
      "currentPlaylists": ["UNI"],
      "sampleRole": "TARGET"
    }
  ],
  "existingRules": [],
  "instructions": {
    "task": "Find reusable library patterns and propose rules, not per-track classifications.",
    "conditionModes": ["ALL", "ANY"],
    "fields": ["YOUTUBE_ID", "TITLE", "ARTIST", "CHANNEL", "ALBUM", "DURATION", "CURRENT_PLAYLIST", "ATTRIBUTE"],
    "operators": ["EQUALS", "CONTAINS", "STARTS_WITH", "REGEX", "GREATER_OR_EQUAL", "LESS_OR_EQUAL", "IN_PLAYLIST"],
    "actions": ["ADD_PLAYLIST", "BLOCK_PLAYLIST", "SUGGEST_REMOVE", "EXCLUDE", "LONG_FORM", "SET_ATTRIBUTE"],
    "autoRemoveAllowed": false,
    "requiredOutputFormat": "youtube-music-organizer-rule-analysis-result",
    "requiredSchemaVersion": 1
  }
}
KeyTypeRequiredAllowed valuesDescriptionExample
formatstring필수고정값규칙 요청 식별자youtube-music-organizer-rule-analysis-request
schemaVersioninteger필수1스키마 버전1
requestIdstring필수앱 생성 UUID결과에 그대로 복사. 변경 금지0ce11...
batchobject필수앱 생성 값배치 번호·개수·표본 수{"index":1,...}
analysisScopeobject필수PLAYLISTS, UNMATCHED, REVIEW_REQUIRED, SELECTED_TRACKS사용자가 선택한 분석 범위{"kind":"PLAYLISTS",...}
userClassificationCriteriastring필수빈 문자열 가능사용자 기준. 일반 추론보다 우선동인 음악은...
playlistsobject[]필수앱의 실제 PlaylistID, 이름, 곡 수[{...}]
tracksobject[]필수TARGET/COMPARISON 표본선택 곡과 비교 곡. ID 변경 금지[{...}]
existingRulesobject[]필수현재 Rule 모델중복·충돌 제안을 피하기 위한 기존 규칙[]
instructionsobject필수파일에 포함된 enum만허용 mode/field/operator/action과 출력 형식{...}

규칙 요청 하위 구조

PathTypeRequiredAllowed valuesDescriptionExample
batch.index / countinteger필수1 이상현재 배치 번호와 전체 배치 수1 / 3
batch.targetTrackCountinteger필수0 이상이 파일에서 규칙을 찾을 대상 곡 수100
batch.comparisonTrackCountinteger필수0 이상Playlist 특징 비교용 표본 수20
analysisScope.kindstring필수PLAYLISTS, UNMATCHED, REVIEW_REQUIRED, SELECTED_TRACKS분석 범위 종류PLAYLISTS
analysisScope.labelstring필수앱 생성 값사람이 읽는 범위 설명선택한 재생목록
analysisScope.selectedPlaylistIdsstring[]필수실제 Playlist ID선택된 Playlist 식별자["fake-uni"]
tracks[].youtubeIdstring필수원본 ID변경 금지fake-uni-song
tracks[].title, artistChannelstring필수원본 메타데이터제목과 아티스트·채널Into the UNIverse
tracks[].albumstring/null필수원본 값앨범 정보null
tracks[].durationSecondsinteger필수0 이상초 단위 길이226
tracks[].currentPlaylistsstring[]필수현재 Playlist명중요한 힌트지만 절대 정답은 아님["UNI"]
tracks[].sampleRolestring필수TARGET/COMPARISON분석 대상 또는 비교 표본TARGET
tracks[].classificationAttributesobject선택검증된 기존 속성confidence 0.90 이상인 기존 분류만 포함될 수 있음{"scene":"doujin"}
existingRules[]object배열 항목마다 필수ruleId, name, enabled, priority, conditionMode, conditions, actions앱이 현재 표현하는 Rule 전체 구조{"ruleId":"...",...}
instructions.conditionModesstring[]필수파일 값만허용되는 조건 결합 방식["ALL","ANY"]
instructions.fieldsstring[]필수파일 값만허용 condition field["TITLE",...]
instructions.operatorsstring[]필수파일 값만허용 condition operator["EQUALS",...]
instructions.actionsstring[]필수파일 값만허용 action type["ADD_PLAYLIST",...]
instructions.autoRemoveAllowedboolean필수false자동 제거가 허용되지 않음을 표시false

규칙 분석 결과 JSON

AI는 요청의 instructions에 포함된 값만 사용해야 합니다. Playlist 대상은 요청의 playlists[].title 중 하나여야 합니다.

rule-analysis-result.json
{
  "format": "youtube-music-organizer-rule-analysis-result",
  "schemaVersion": 1,
  "requestId": "0ce11bb2-1bdb-43b5-a01d-a96316e385d1",
  "resultVersion": "rules-2026-09-14-1",
  "candidates": [
    {
      "candidateId": "uni-to-vc",
      "conditionMode": "ALL",
      "conditions": [
        { "field": "CURRENT_PLAYLIST", "operator": "EQUALS", "value": "UNI" }
      ],
      "actions": [
        { "type": "ADD_PLAYLIST", "target": "VC" }
      ],
      "reason": "UNI 재생목록의 곡이 VC에도 반복적으로 포함되는 패턴",
      "recommendationScore": 0.96
    }
  ]
}
KeyTypeRequiredAllowed valuesDescriptionExample
formatstring필수고정값규칙 결과 식별자youtube-music-organizer-rule-analysis-result
schemaVersioninteger필수1스키마 버전1
requestIdstring필수요청 값과 동일앱이 만든 요청을 찾는 ID0ce11...
resultVersionstring필수1~100자AI가 이 결과 묶음을 구분하도록 생성rules-2026-09-14-1
candidatesobject[]필수1~100개규칙 후보 목록[{...}]
candidateIdstring필수결과 내 고유, 최대 128자후보 식별자uni-to-vc
conditionModestring필수ALL/ANY조건 결합 방식ALL
conditionsobject[]필수1~10개실제 Rule 조건. field/operator/value 필수[{...}]
actionsobject[]필수1~10개실제 Rule 실행. type/target 사용[{...}]
reasonstring필수1~1000자사용자에게 보여줄 근거반복 패턴...
recommendationScorenumber필수0.0~1.0추천 강도. 실제 매칭 수는 앱이 다시 계산0.96

AI 곡 분류

곡 분류는 기본 처리 방식이 아니라 규칙으로 판정하기 어려운 예외 곡을 위한 보조 단계입니다. 요청 파일에는 사용자가 선택한 곡만 포함됩니다.

곡 선택규칙 미적용, 검토 필요, 속성 없음, 특정 재생목록 또는 직접 선택으로 대상을 고릅니다.
요청 파일 만들기대상이 많으면 앱 기본 크기로 여러 요청 파일로 나눕니다.
외부 AI에 전달track-classification-request.json과 이 문서 링크를 함께 전달합니다.
결과 JSON 받기요청에 포함된 곡만 담긴 JSON 객체를 받습니다.
결과 가져오기앱이 ID, 속성, confidence를 검증합니다.
자동 사용 또는 검토confidence 0.90 이상은 RuleEngine에 사용하고, 그 미만은 검토 대상으로 남깁니다.

AI에 전달할 것

track-classification-request.json 파일과 이 가이드 링크를 함께 전달하세요.

파일명과 format은 다릅니다. 권장 파일명은 track-classification-result.json이지만, 결과 JSON의 실제 format 값은 youtube-music-organizer-classification-pack이어야 합니다.

곡 분류 요청 JSON

앱의 exporter가 생성하는 형식입니다. 사용자는 이 구조를 직접 편집할 필요가 없습니다.

값을 결정하는 기준instructions.allowedAttributes는 AI가 사용할 수 있는 속성 키를 제한하고, instructions.userClassificationCriteria는 문자열 속성에 어떤 값을 사용할지 정하는 사용자 기준입니다. AI는 두 값을 가장 먼저 확인하고 사용자 기준을 최우선으로 적용해야 합니다.

track-classification-request.json
{
  "format": "youtube-music-organizer-classification-request",
  "schemaVersion": 1,
  "createdAtMillis": 1799708400000,
  "instructions": {
    "task": "Classify each track only when evidence is sufficient. Use UNKNOWN by omitting uncertain attributes.",
    "allowedAttributes": [
      "contentType",
      "longForm",
      "mood",
      "scene",
      "source",
      "style",
      "vcScope",
      "voice",
      "voicebank"
    ],
    "requiredOutputFormat": "youtube-music-organizer-classification-pack",
    "requiredSchemaVersion": 1,
    "confidenceRange": "0.0..1.0",
    "minimumAcceptedConfidence": 0.9,
    "doNotInventYoutubeIds": true,
    "userClassificationCriteria": "동인 음악은 확인 가능한 서클·앨범·원작 근거가 있을 때만 scene=doujin으로 분류",
    "outputExample": {
      "format": "youtube-music-organizer-classification-pack",
      "schemaVersion": 1,
      "packVersion": "user-1",
      "classifications": [
        {
          "youtubeId": "copy from tracks",
          "attributes": {
            "scene": "doujin",
            "source": "touhou"
          },
          "confidence": 0.95,
          "evidence": [
            "short evidence"
          ]
        }
      ]
    }
  },
  "tracks": [
    {
      "youtubeId": "fake-uni-song",
      "title": "Into the UNIverse",
      "artistChannel": "Sample Producer",
      "durationSeconds": 226,
      "currentPlaylists": [
        "UNI"
      ],
      "note": "동인음악인지 확인"
    }
  ]
}

요청 최상위 키

KeyTypeRequiredAllowed valuesDescriptionExample
formatstring필수고정 문자열요청 파일 식별자youtube-music-organizer-classification-request
schemaVersioninteger필수1요청 스키마 버전1
createdAtMillisinteger필수Unix epoch milliseconds앱이 기록한 요청 생성 시각1799708400000
instructionsobject필수아래 명세의 객체AI가 지켜야 할 출력 규칙과 사용자 설정{...}
tracksobject[]필수1개 이상분류 요청 곡 목록[{...}]

instructions 하위 키

KeyTypeRequiredAllowed valuesDescriptionExample
taskstring필수exporter가 생성한 문자열근거가 충분한 속성만 분류하라는 기본 지침Classify each track...
allowedAttributesstring[]필수현재 9개 속성 키결과 attributes에 쓸 수 있는 키의 전체 목록["scene","style",...]
requiredOutputFormatstring필수고정 문자열결과 파일의 필수 formatyoutube-music-organizer-classification-pack
requiredSchemaVersioninteger필수1결과 파일의 필수 스키마 버전1
confidenceRangestring필수0.0..1.0confidence 허용 범위를 전달하는 지침0.0..1.0
minimumAcceptedConfidencenumber필수0.9RuleEngine이 자동 사용할 최소 confidence0.9
doNotInventYoutubeIdsboolean필수true요청에 없는 ID 생성 금지true
userClassificationCriteriastring필수빈 문자열 또는 사용자 입력다른 일반 예시보다 우선하는 사용자 분류 기준scene=doujin은 근거가 있을 때만...
outputExampleobject필수schema v1 결과 예시현재 앱이 요구하는 결과 객체 모양{"format":..., ...}

tracks[]

KeyTypeRequiredAllowed valuesDescriptionExample
youtubeIdstring필수앱에서 동기화된 원본 ID결과에 변경 없이 복사할 YouTube 식별자fake-uni-song
titlestring필수원본 메타데이터곡 또는 영상 제목Into the UNIverse
artistChannelstring필수원본 메타데이터아티스트 또는 채널Sample Producer
durationSecondsinteger필수0 이상의 초 단위 값콘텐츠 길이226
currentPlaylistsstring[]필수0개 이상의 재생목록명현재 포함된 실제 YouTube 재생목록["UNI"]
notestring필수빈 문자열 또는 사용자 메모곡별 사용자 지침동인음악인지 확인

곡 분류 결과 JSON

앱의 importer가 읽는 전체 형식입니다. 실제 파일에는 JSON 앞뒤의 설명이나 Markdown 코드 펜스를 넣지 마세요.

track-classification-result.json
{
  "format": "youtube-music-organizer-classification-pack",
  "schemaVersion": 1,
  "packVersion": "docs-example-1",
  "classifications": [
    {
      "youtubeId": "fake-uni-song",
      "attributes": {
        "voice": "vocal_synth",
        "voicebank": "UNI",
        "scene": "doujin",
        "style": "electronic",
        "source": "original",
        "mood": "bright",
        "contentType": "song",
        "vcScope": true,
        "longForm": false
      },
      "confidence": 0.95,
      "evidence": [
        "사용자 메모와 곡 메타데이터를 함께 확인"
      ]
    }
  ]
}

결과 최상위 키

KeyTypeRequiredAllowed valuesDescriptionExample
formatstring필수고정 문자열분류 결과 파일 식별자youtube-music-organizer-classification-pack
schemaVersioninteger필수1현재 importer가 지원하는 버전1
packVersionstring필수공백이 아닌 1~100자외부 AI가 결과 묶음을 구분하기 위해 만드는 식별용 버전. 앱은 값을 기록하지만 자동 생성하지 않음personal-2026-09-14-1
classificationsobject[]필수1~20,000개곡별 분류 결과 배열[{...}]

classifications[]

KeyTypeRequiredAllowed valuesDescriptionExample
youtubeIdstring필수앱에 동기화된 1~128자 ID원본 요청에서 변경 없이 복사한 식별자. 중복 금지. AI는 요청에 없는 ID를 결과에 넣지 않아야 함fake-uni-song
attributesobject필수allowedAttributes의 키만 사용, 비어 있지 않음근거가 있는 다중 속성{"scene":"doujin"}
confidencenumber필수유한한 0.0~1.0schema v1에서 이 곡의 전체 attributes 객체에 적용되는 확신도0.95
evidencestring[]선택최대 20개, 각 500자 이하생략하면 빈 배열로 저장되는 짧은 근거["사용자 메모와 메타데이터가 일치"]

packVersion은 결과 작성자가 만듭니다. 같은 결과 묶음에는 하나의 안정적인 값을 사용하세요. 날짜와 순번을 조합한 personal-2026-09-14-1 같은 값이 권장됩니다. 현재 schema v1에서는 필수이며 앱이 대신 채우지 않습니다.

속성/허용 값

현재 validator는 아래 9개 키만 허용합니다. 문자열 속성은 고정 enum이 아니며 사용자의 분류 기준을 따르는 200자 이하 값입니다. 근거가 부족하면 UNKNOWN을 쓰지 말고 해당 키를 생략하세요.

타입의미예시 값
voicestring보컬 유형vocal_synth, human, instrumental
voicebankstring보이스뱅크 또는 음성 캐릭터Hatsune Miku, UNI
scenestring제작·유통 장면doujin, commercial, indie
stylestring음악 스타일electronic, rock, denpa
sourcestring원작·프랜차이즈 또는 출처touhou, original
moodstring분위기bright, dark
contentTypestring콘텐츠 형태song, mix, album, ost, clip
vcScopebooleanVC 관리 범위 포함 여부true
longFormboolean긴 형식 콘텐츠 여부false

예시 값은 고정 enum이 아닙니다. 문자열 값은 요청 파일의 userClassificationCriteria를 우선해 정하고, 비어 있지 않은 경우에만 저장합니다. 공식 결과 파일에서 vcScopelongForm은 따옴표 없는 JSON boolean만 사용합니다.

검증 규칙

  • 결과 파일은 JSON 객체 하나여야 합니다. 설명문과 ```json 코드 펜스를 포함하지 않습니다.
  • format, schemaVersion, packVersion, classifications 이름을 바꾸거나 삭제하지 않습니다.
  • 원본 youtubeId를 그대로 사용하고, 요청에 없는 곡을 임의로 추가하지 않습니다.
  • confidence는 문자열이 아니라 0.0~1.0 숫자로 작성합니다.
  • 허용되지 않은 속성 키를 만들지 않습니다. 문자열 속성은 200자 이하, boolean 속성은 true/false만 사용합니다.
  • 확실하지 않은 속성은 생략합니다. 한 결과의 attributes가 완전히 비어 있으면 그 곡 결과 자체를 제외합니다.
  • 결과 파일은 10MB 이하, 분류 결과는 최대 20,000곡, 근거는 곡당 최대 20개입니다.

자동 사용 기준: confidence ≥ 0.90. 0.90 미만 결과도 가져오지만 RuleEngine에는 즉시 사용하지 않고 사용자 검토 대상으로 남깁니다. 사용자가 승인하면 신뢰도 1.0으로 저장됩니다.

confidence 모델

현재 schema v1은 곡 단위 confidence 하나를 사용합니다. 이 값은 해당 곡의 attributes 객체 전체에 적용됩니다. voice=0.99, style=0.65처럼 속성별 값을 보내면 v1 importer가 읽을 수 없습니다.

향후 schema v2 후보로 속성별 confidence를 검토합니다. 이번 변경에서는 v1 파일 형식과 importer 호환성을 유지하며 새 필드를 추가하지 않습니다.

AI 분류 지침

  • 곡 하나에 여러 속성이 동시에 존재할 수 있습니다. 속성 하나만 고르는 단일 분류 문제가 아닙니다.
  • 태그/내부 속성과 실제 YouTube 재생목록은 다른 개념입니다. 분류 결과 JSON에는 재생목록 변경을 넣지 않습니다.
  • currentPlaylists는 중요한 힌트지만 절대적인 정답은 아닙니다.
  • 사용자 메모와 userClassificationCriteria, 사용자가 직접 만든 규칙을 자동 추론보다 우선합니다.
  • 확실하지 않으면 억지로 추측하지 않고 해당 속성을 생략하며 confidence를 과장하지 않습니다.
  • longForm이나 Minor III 같은 관리 개념을 일반 음악 장르와 혼동하지 않습니다. Minor III는 속성이 아니라 사용자 재생목록 이름일 수 있습니다.
  • 한 곡은 여러 재생목록에 중복 배치될 수 있습니다.
  • AI가 기존 YouTube 재생목록에서 곡을 자동 제거한다고 가정하지 않습니다. 자동 제거는 이 앱의 기본 동작이 아닙니다.

규칙 제작 지침

앱은 AI 도우미가 만든 rule-analysis-result만 검증해 후보로 가져옵니다. 임의의 일반 Rule JSON import는 지원하지 않습니다. 아래 실제 Rule Builder 항목만 사용해야 합니다.

조건 모델

구분실제 지원 값설명
조건 결합ALL, ANY모든 조건 만족 / 하나라도 만족
fieldYOUTUBE_ID, TITLE, ARTIST, CHANNEL, ALBUM, DURATION, CURRENT_PLAYLIST, ATTRIBUTE제목, 아티스트/채널, 앨범, 초 단위 길이, 현재 재생목록, 내부 속성
operatorEQUALS, CONTAINS, STARTS_WITH, REGEX, GREATER_OR_EQUAL, LESS_OR_EQUAL, IN_PLAYLIST같음, 포함, 시작함, 정규식, 이상, 이하, 재생목록에 있음
속성 조건 값ATTRIBUTE_KEY=value예: SCENE=doujin. 키는 위 9개 AttributeKey의 대문자 이름 사용

실행 모델

action대상동작
ADD_PLAYLIST실제 재생목록 이름재생목록 추가 추천
BLOCK_PLAYLIST실제 재생목록 이름해당 재생목록 추가 차단
SUGGEST_REMOVE실제 재생목록 이름제거를 추천하며 자동 제거하지 않음
EXCLUDE제외 사유Organizer 정리 대상에서 제외
LONG_FORM없음LONG_FORM=true 속성 설정
SET_ATTRIBUTEAttributeKey + 값내부 속성 설정

지원되는 규칙 예시

UNI 기반 정리
조건 방식: ALL

조건
CURRENT_PLAYLIST / EQUALS / UNI

실행
ADD_PLAYLIST / VC
ADD_PLAYLIST / vocal synth

이유
# UNI 곡을 관련 Playlist에 함께 정리
장문 콘텐츠
조건 방식: ANY

조건
DURATION / GREATER_OR_EQUAL / 1800
TITLE / CONTAINS / Mix

실행
LONG_FORM
ADD_PLAYLIST / Minor III

이유
# 긴 Mix 또는 장문 콘텐츠를 관리 Playlist에 정리

사용자 직접 규칙은 자동 분류 추론보다 우선합니다. 같은 우선순위에서는 차단 결과가 추가 결과보다 우선합니다.

AI에게 전달할 지침

규칙 추천용

곡 분류용

오류 해결

규칙 추천 오류

문제원인해결법
잘못된 파일 종류곡 분류 결과나 규칙 요청 파일을 규칙 추천 결과 가져오기에 선택함youtube-music-organizer-rule-analysis-result 형식의 결과 파일을 선택합니다.
분석 요청을 찾을 수 없음다른 기기에서 만든 requestId이거나 요청 기록이 없음현재 앱에서 규칙 분석 요청을 다시 만들고 해당 requestId를 결과에 복사합니다.
지원하지 않는 규칙 필드/값요청 instructions에 없는 field, operator 또는 action을 생성함요청 파일에 포함된 enum 값만 사용합니다.
존재하지 않는 재생목록action target이 요청 playlists에 없는 이름임playlists[].title을 정확히 복사합니다.
중복 candidateId두 규칙 후보가 같은 ID를 사용함결과 파일 안에서 각 후보에 고유한 128자 이하 ID를 사용합니다.

곡 분류 오류

문제원인해결법
JSON 형식 오류설명문, Markdown 코드 펜스 또는 쉼표 오류가 있음{부터 }까지 유효한 JSON 객체 하나만 저장합니다.
필수 키 누락format, schemaVersion, packVersion 또는 classifications가 없음결과 전체 예시와 키 이름·대소문자를 동일하게 맞춥니다.
잘못된 schema versionschemaVersion이 숫자 1이 아님현재는 schema v1만 지원하므로 숫자 1을 사용합니다.
잘못된 packVersion누락, 빈 문자열 또는 100자 초과날짜와 순번 등을 사용해 비어 있지 않은 100자 이하 문자열을 만듭니다.
동기화되지 않은 youtubeId요청 ID를 바꿨거나 앱에 없는 ID를 추가함요청의 tracks[].youtubeId를 한 글자도 바꾸지 않고 복사합니다. 앱은 동기화된 ID만 검증할 수 있으므로, 요청에 없는 ID를 넣지 않는 것은 AI의 필수 규칙입니다.
duplicate youtubeId같은 곡 결과가 classifications에 두 번 이상 있음곡마다 결과 객체를 하나만 남깁니다.
boolean을 문자열로 반환"true" 또는 "false"처럼 따옴표를 사용함공식 결과는 JSON boolean true/false를 사용합니다. importer의 문자열 허용은 이전 파일 호환용입니다.
invalid confidence문자열, NaN 또는 0.0~1.0 범위 밖 값따옴표 없는 유한한 JSON number를 사용합니다.
unknown attributeallowedAttributes에 없는 키를 생성함현재 요청의 허용 키만 사용하고 불확실한 속성은 생략합니다.
사용할 속성이 없음attributes가 비어 있거나 빈 문자열만 포함근거 있는 속성을 하나 이상 넣거나 해당 곡 결과를 배열에서 제거합니다.
파일이 너무 큼결과 JSON이 10MB를 초과함요청과 결과를 여러 파일로 나눕니다.
잘못된 파일 종류규칙 추천 결과를 곡 분류 결과 가져오기에 선택함youtube-music-organizer-classification-pack 형식의 결과 파일을 선택합니다.