PDF, 이미지, 오디오 녹음, Office 문서, 스프레드시트, 슬라이드, 텍스트 파일을 모든 강화, 스키마 생성, 샘플 생성, AI 스키마 편집 또는 플레이그라운드 요청에 첨부하세요. 파일은 네이티브 바이트(PDF, 비전, 오디오 지원 모델의 경우)로 전달되거나 서버에서 추출된 텍스트로 프롬프트에 인라인 삽입되어 모델에 전달됩니다 — 수동 OCR, 전사, 변환 또는 청킹이 필요하지 않습니다.
지원되는 각 MIME 유형에는 관리자가 구성한 전달 모드가 있습니다. 이 모드는 파일이 모델에 도달하는 방식을 결정합니다.
원본 바이트는 BinaryContent로 모델에 전달됩니다. 모델이 파일을 직접 읽습니다 — 서버 측 전처리가 없습니다.
일치하는 기능 플래그를 가진 모델이 필요합니다 (PDF의 경우 supports_pdf_input, 이미지의 경우 supports_vision, 오디오의 경우 supports_audio_input). 모델 선택기는 호환되는 모델만 표시하도록 자동으로 필터링됩니다.
서버 측 추출기는 업로드 시점에 한 번 실행되어 결과 텍스트를 캐시합니다. 이후 모든 LLM 호출에서 캐시된 텍스트가 사용자 프롬프트에 인라인으로 삽입됩니다.
모델 기능이 필요하지 않습니다 — 모든 모델과 작동합니다. 일반 텍스트와 Markdown은 추출기를 건너뛰고 원시 바이트를 직접 디코딩합니다.
19가지 형식이 기본적으로 활성화되어 제공됩니다. 시스템 관리자는 모델 관리 → 문서 정책에서 형식을 binary와 inline_text 모드 간에 전환하거나, 라벨을 변경하거나, 완전히 비활성화할 수 있습니다.
| 형식 | 확장 기능 | 기본 모드 | 기능 / 추출기 |
|---|---|---|---|
| PDF 문서 | binary | supports_pdf_input | |
| PNG 이미지 | .png | binary | supports_vision |
| JPEG 이미지 | .jpg, .jpeg | binary | supports_vision |
| MP3 오디오 | .mp3 | binary | supports_audio_input |
| WAV 오디오 | .wav | binary | supports_audio_input |
| M4A 오디오 | .m4a | binary | supports_audio_input |
| OGG 오디오 | .ogg, .oga | binary | supports_audio_input |
| FLAC 오디오 | .flac | binary | supports_audio_input |
| 일반 텍스트 | .txt | inline_text | 원시 디코드 |
| Markdown | .md, .markdown | inline_text | 원시 디코드 |
| Word (레거시 .doc) | .doc | binary | docx2txt |
| Word (.docx) | .docx | binary | python-docx |
| OpenDocument 텍스트 | .odt | binary | odfpy |
| 서식 있는 텍스트 형식 | .rtf | binary | striprtf |
| EPUB 전자책 | .epub | binary | ebooklib |
| HTML | .html, .htm | binary | beautifulsoup |
| CSV | .csv | binary | csv (stdlib) |
| 스프레드시트 (.xlsx) | .xlsx | binary | openpyxl |
| 프레젠테이션 (.pptx) | .pptx | binary | python-pptx |
샘플 생성에 파일을 두 개 이상 첨부하면 가장 먼저 정해야 할 것은 파일들이 서로 어떤 관계인지입니다. 이를 잘못 판단하면 의미 없는 샘플이 조용히 만들어집니다. 그래서 무엇이든 생성하기 전에 이 점을 명시적으로 묻습니다.
계약서와 그 변경 계약, 사양서와 그 데이터시트처럼 여러 파일을 하나의 엔터티로 함께 읽습니다.
인보이스 10건, 이력서 10건을 생각해 보세요. 이들 모두를 포괄하는 가장 좁은 타입이 도출되고, 샘플 값은 10건 전체를 뒤섞은 것이 아니라 선택된 하나의 문서에서 가져옵니다. 10개 출처를 이어 붙인 샘플은 실제로 존재하는 어떤 것도 설명하지 못하기 때문입니다.
인보이스 아홉 장과 휴가 사진 한 장이 섞인 경우, 작업은 추측하는 대신 일시 중지하고 이질적인 파일을 제외할지 묻습니다. 공통점이 전혀 없는 파일들은 그 사유와 함께 작업을 즉시 실패 처리합니다.
동일한 일시 중지 후 질문 방식은 플래너가 마주치는 다른 모호한 상황에도 그대로 적용됩니다. 작업이 멈추고 질문을 표시한 뒤, 사용자의 답변을 받아 다시 진행됩니다. 앱에서는 대화 상자로, API와 MCP에서는 명시적인 답변 단계로 제공됩니다. 잘못된 가정은 생성된 schema에서 뒤늦게 발견하는 것보다 미리 방지하는 편이 비용이 적습니다.
문서가 면제해 주지 않는 것이 하나 있습니다. 파일에서 생성한 스키마도 다른 스키마와 똑같이 모호성 검사가 켜진 상태로 시작합니다. 이 검사는 속성 이름이 두 가지 이상의 의미로 해석될 수 있는지를 묻습니다. 이는 스키마가 어떻게 표현되었는지에 관한 질문이지, 이번 실행의 값이 어디에서 왔는지에 관한 질문이 아닙니다. 문서는 값을 한 번 확정했을 뿐이며, 스키마는 그 문서가 다루지 않은 엔티티에도 계속 재사용됩니다.
(organization_id, sha256)입니다.inline_text 형식의 경우 추출기가 업로드 시점에 실행되며 결과 텍스트가 attachment 행에 캐시됩니다. 이후 LLM 호출은 캐시된 텍스트를 재사용하므로 재추출 비용이 없습니다. binary 형식은 이 단계를 건너뜁니다.DELETE /api/attachments/{id}로 삭제합니다 — 보강 후 정리 단계로 유용합니다. 삭제는 조직 범위로 이루어지며 { success, id, filename }을 반환합니다.첨부 파일은 웹 UI뿐만 아니라 프로그래밍 방식으로도 업로드하고 삭제할 수 있습니다. n8n 커넥터는 네이티브 multipart로 업로드하고, Make.com 및 MCP 커넥터는 base64 JSON 경로로 업로드하며, 모든 클라이언트는 REST API를 직접 사용할 수 있습니다(정리용 DELETE /api/attachments/{id}).
기능 요구 사항이 있는 바이너리 파일(PDF, 이미지 또는 오디오)을 첨부하면, model 선택기가 필터링되어 해당 기능을 선언한 model만 표시됩니다. 요구 사항이 다른 여러 파일을 첨부하면, 모든 요구 사항을 충족하는 model만 표시됩니다.
API도 동일한 규칙을 적용합니다. 호환되지 않는 모델을 바이너리 첨부파일과 함께 사용하면 400 model_lacks_attachment_capability를 반환하므로, UI를 우회하는 통합에서는 작업 도중 공급자 오류가 발생하는 대신 명확한 사전 점검 오류를 받게 됩니다. 인라인 텍스트 첨부파일은 이러한 요구 사항을 부과하지 않습니다.
| 첨부된 파일 | 사용 가능한 모델 |
|---|---|
| PDF 1개 | supports_pdf_input |
| PNG 1개 | supports_vision |
| MP3 1개 | supports_audio_input |
| PDF 1개 + PNG 1개 | supports_pdf_input 및 supports_vision |
| DOCX 1개(바이너리 모드, 기능 없음) | 모든 모델 — 기능 플래그가 설정되지 않은 경우 네이티브 바이트 지원으로 간주됩니다 |
| TXT 1개 또는 MD 1개(inline_text 모드) | 모든 모델 — 텍스트가 프롬프트에 인라인으로 삽입됩니다 |
첨부 파일은 모델 provider가 보고한 입력 토큰으로 청구됩니다 — Entity Enricher는 문서당 별도 요금을 부과하지 않습니다. 비용은 파일 유형과 선택한 model에 따라 달라집니다.
모델별 입력 토큰을 소비합니다. Anthropic은 PDF 페이지당 약 1700 토큰을 청구하고, OpenAI는 타일 수에 따라 비전 입력 가격을 책정하며, 오디오 지원 모델은 오디오 입력을 재생 시간에 비례하여 측정합니다. 모델 및 가격에서 모델의 가격 카드를 확인하세요.
추출된 텍스트는 표준 텍스트 요금으로 입력 토큰을 소비합니다. 대용량 문서는 추출 텍스트 500KB로 제한되며, 더 긴 콘텐츠는 잘립니다.