미디어 집합 연산 사용량과 한도
미디어 변환은 파이프라인뿐 아니라 플랫폼에서 항목을 미리 보는 동작으로도 실행됩니다. 파일 전체 다운로드와 스트리밍에도 연산 비용이 있습니다. 아래 단위는 처리한 GB당 Foundry compute-seconds입니다. 기업 계약이 있으면 계산 전에 Palantir 담당자에게 조건을 확인합니다.
다운로드와 이미지
모든 형식의 전체 내용 다운로드 또는 스트리밍 요율은 2 compute-seconds/GB입니다.
| 이미지 변환 | 요율 |
|---|---|
| PDF 생성 | 40 |
| 크기 변경 | 40 |
| 경계 상자 안에 맞춘 크기 변경 | 40 |
| 회전 | 40 |
| 대비 조정 | 75 |
| 주석 | 75 |
| 자르기 및 chip | 75 |
| 암호화 또는 복호화 | 75 |
| 공간 타일 생성 | 75 |
| 회색조 | 75 |
| DICOM 이미지 레이어 렌더링 | 75 |
| 텍스트 추출(OCR) | 275 |
| 임베딩 생성 | 275 |
| 텍스트 추출 v2(OCR) | 275 |
| 레이아웃 인식 추출 v2 | 275 |
오디오와 비디오
| 오디오 변환 | 요율 |
|---|---|
| 청크 분할 | 75 |
| 채널 선택 | 75 |
| HLS 스트리밍 | 75 |
| 트랜스코딩 | 75 |
| 파형 생성 | 75 |
| 전사 | 275 |
| 비디오 변환 | 요율 |
|---|---|
| 장면 프레임 타임스탬프 조회 | 40 |
| 오디오 추출 | 75 |
| 지정 시각 프레임 추출 | 75 |
| 청크 분할 | 275 |
| 모든 장면 프레임 추출 | 275 |
| HLS 스트리밍 | 275 |
| 트랜스코딩 | 275 |
문서와 스프레드시트
| 문서 변환 | 요율 |
|---|---|
| PDF 페이지 수 조회 | 40 |
| PDF 페이지 크기 조회 | 40 |
| 페이지 이미지 렌더링 | 40 |
| 경계 상자에 맞춘 페이지 이미지 렌더링 | 40 |
| 전체 원시 텍스트 추출 | 75 |
| 폼 필드 추출 | 75 |
| 목차 추출 | 75 |
| 여러 페이지 원시 텍스트를 배열로 추출 | 75 |
| 한 페이지 원시 텍스트 추출 | 75 |
| PDF 범위 잘라내기 | 75 |
| OCR 텍스트 추출 | 275 |
| 여러 페이지 OCR 텍스트를 배열로 추출 | 275 |
| 레이아웃 인식 텍스트 추출(raw/OCR) | 275 |
| VLM 텍스트 추출 | 275 |
VLM 추출은 이 미디어 사용량에 더해 모델 사용량이 자동으로 별도 계산됩니다.
텍스트 추출의 형식 및 모드별 요율은 다음과 같습니다. Auto는 페이지마다 직접 텍스트를 읽을 수 있는지 OCR이 필요한지 판단합니다.
| 출력 | Raw text | OCR | Auto |
|---|---|---|---|
| Text | 75 | 275 | 275 |
| Markdown 또는 HTML | 275 | 275 | 275 |
스프레드시트 시트를 JSON으로 변환하는 요율은 275 compute-seconds/GB입니다.
크기와 항목 수
집합 전체에 업로드할 수 있는 항목 수 제한은 없습니다. 다만 transactional 집합은 트랜잭션당 10,000항목이며 transactionless에는 트랜잭션별 제한이 없습니다.
항목 경로는 256자를 넘을 수 없습니다. 초과하면 MediaSet:MediaItemPathInvalid 오류가 발생합니다. 파일 하나의 최대 크기는 50GB입니다. 증분 변환은 미디어 입력의 배치 크기를 제한하여 처리할 수 있습니다.
대규모 처리와 QoS
수백만 항목을 업로드하거나 변환하면 저장 및 연산 부하에 따라 429 또는 503 Quality of Service(QoS) 응답을 받을 수 있습니다. 클라이언트는 이러한 일시적 제한에 적절한 재시도를 구현해야 합니다. 항목 PUT 업로드에서도 QoS가 발생한 요청을 다시 시도하는 방식이 해당합니다.
Python transforms-media의 메서드에는 일반적으로 이런 재시도가 포함됩니다. 다음 예시는 파일 데이터셋을 미디어 집합에 업로드하고 업로드 기록을 데이터셋으로 저장합니다. 스키마 불일치나 변환 실패를 조용히 건너뛰지 않도록 두 ignore 옵션을 false로 지정합니다.
from transforms.api import transform, Input, Output
from transforms.mediasets import MediaSetOutput
@transform(
input_files=Input('/examples/image_files'),
output_media_set=MediaSetOutput('/examples/image_media_set'),
uploaded_media_record=Output('/examples/uploaded_media_record'),
)
def compute(input_files, output_media_set, uploaded_media_record):
uploaded_media_items = output_media_set.put_dataset_files_and_get_dataframe_of_uploads(
input_files,
ignore_items_not_matching_schema=False,
ignore_items_failing_to_convert=False,
)
uploaded_media_record.write_dataframe(uploaded_media_items)
입출력 경로는 실제 리소스로 바꾸며 이 예제의 오류 대응을 임의의 모든 실패에 대한 무조건 재시도로 확대하지 않습니다.