AI 초보자 QnA
질문
OpenAI API에 올릴 파일의 자동 삭제 시간을 정할 수 있나요?
답변
네. Files API로 파일을 올릴 때 expires_after로 만료 기간을 지정하면 자동 삭제를 설정할 수 있습니다. 파일을 만든 시각부터 얼마나 보관할지 초 단위로 정하는 방식입니다.
설정을 생략하면 모든 파일이 같은 기간 뒤 사라지는 것은 아닙니다. 공식 문서상 purpose가 batch인 파일은 기본 30일 뒤 만료되고, 나머지는 직접 삭제할 때까지 보관됩니다. 이 글은 새 API 업로드의 만료 설정을 다룹니다.
짧게 답하면
보관할 기간 정하기 → 업로드에 만료 설정 넣기 → 파일 ID와 expires_at 확인 → 작업 종료 전에 기한 점검 순서로 진행하세요. ChatGPT 앱의 첨부 파일이나 기존 파일의 수동 삭제와는 다른 절차입니다.
expires_after
업로드할 때 보내는 만료 정책입니다. 기준 시각과 그 뒤에 기다릴 초 수를 함께 지정합니다.
created_at
파일을 만든 시각입니다. 만료 기간을 계산하는 anchor로 현재 지원되는 값입니다.
expires_at
파일이 만료될 예정 시각입니다. 반환된 파일 정보에서 실제 적용 결과를 확인합니다.
처음 쓰는 사람 기준으로 설명하면
하루 동안만 분석할 시험 자료를 올린다고 가정해 보세요. 작업이 끝날 때 지우는 것을 잊기 쉽다면 업로드 요청에 기한을 넣어 둘 수 있습니다. 다만 분석과 재시도가 모두 끝날 시간을 확보하고, 필요한 원본은 승인된 저장소에 따로 보관하세요.
공식 Upload file 문서는 expires_after의 anchor를
created_at
으로, seconds를 3600부터 2592000 사이로 받습니다. 각각 1시간과 30일입니다. 마지막으로 파일을 읽은 시각이 기준이 아니므로 다시 사용했다고 만료 기한이 연장된다고 생각하면 안 됩니다.
하루 뒤 만료를 지정하는 설정 예시는
expires_after={"anchor":"created_at","seconds":86400}
입니다. Python SDK의 파일 업로드 요청에 넣는 값이며 실제 호출은 업로드할 파일과 용도인 purpose도 필요합니다. seconds에 날짜 문자열이나 밀리초를 넣지 마세요.
한 줄 정리: expires_after는 내가 요청하는 보관 기간이고, expires_at은 업로드 뒤 확인할 만료 예정 시각입니다.
바로 따라 해보기
1단계. 시험 파일과 보관 기간을 정합니다.
개인정보가 없는 작은 텍스트 파일을 준비하고 사용할 프로젝트를 확인하세요. 하루짜리 연습이라면 86400초를 선택하되 작업과 재시도에 필요한 시간을 먼저 계산합니다. API 키 원문은 코드나 메모에 넣지 않습니다.
2단계. 새 업로드에 만료 정책을 넣습니다.
공식
POST /v1/files
요청에 파일, 목적에 맞는 purpose, expires_after를 함께 보냅니다. Python에서는
client.files.create
의 인자로 지정합니다. 이미 올린 파일을 수정하는 요청이 아니라 새 파일을 만드는 작업이므로 같은 자료를 반복 업로드하지 마세요.
3단계. 반환된 기한을 다시 조회합니다.
업로드 결과의 id와 created_at, expires_at을 확인한 뒤
GET /v1/files/{file_id}
로 같은 파일 정보를 읽으세요. 초 단위 Unix 시각을 읽을 수 있는 날짜로 바꾸고 시간대를 표시합니다. 예정 기한과 실제 작업 종료 시각을 나란히 확인하세요.
주의할 점
만료 설정은 모든 사본과 로그를 한꺼번에 지우는 기능이 아닙니다. OpenAI는 기능에 필요한 저장 데이터와 악용 모니터링 로그를 구분합니다. 내 컴퓨터에 내려받은 파일이나 다른 서비스에 복사한 자료도 각 저장 위치에서 따로 관리하세요.
모든 API 파일이 기본 30일 뒤 지워진다고 생각합니다. purpose가 batch인지, 만료 정책을 직접 넣었는지와 반환된 기한을 확인하세요.
운영에서 계속 참조할 파일에 짧은 기한을 붙입니다. 파일이 필요한 작업과 재처리 기간을 먼저 확인하고, 만료에 대비한 자료 교체 절차를 정하세요.
파일 조회가 실패하면 바로 자동 삭제 성공으로 기록합니다. 인증·프로젝트 오류와 파일 만료를 구분하고, 오류 문구와 예정 기한을 함께 확인하세요.
웹사이트와 앱 중 무엇부터 쓰면 좋을까요?
설정 이해는 공식 웹 문서부터
Upload file에서 expires_after의 허용 범위를 읽고 Retrieve file에서 expires_at 항목을 확인하세요. 기한 설정과 파일 정보 조회를 구분한 뒤 시험 요청을 준비하면 실수를 줄일 수 있습니다.
실제 업로드는 API 개발 환경
키를 안전하게 불러오는 API 도구나 개발 환경에서 진행합니다. ChatGPT 모바일 앱에 자동 삭제를 부탁하는 것으로 대신하지 마세요. 서버에 파일을 전송하는 작업이므로 짧은 보관 기간을 정했어도 자료 제공 권한부터 확인합니다.
확인한 공식 자료
OpenAI API 공식 문서 — Upload file — expires_after의 기준·초 범위, batch와 다른 용도의 기본 만료 차이를 확인했습니다.
OpenAI API 공식 문서 — Retrieve file — 파일 ID로 정보를 조회하는 경로와 created_at·expires_at의 초 단위 Unix 시각을 확인했습니다.
OpenAI 공식 가이드 — Data controls — expires_after를 통한 파일 자동 삭제와 저장 데이터·악용 모니터링 로그의 구분을 확인했습니다.
