<!-- Canonical URL: https://ask.atlascloud.ai/ko/migrate-sora-app-input-files-output-urls -->

# Sora 앱을 마이그레이션할 때 입력 파일과 출력 URL은 어떻게 되나요?

> 공급자 파일 참조와 생성 영상 링크는 이동 가능한 자산이 아닙니다. 원본 입력 바이트를 자체 자산 ID 아래 보관하고 대상 형식으로 다시 업로드하며 원본과 대상 작업을 각각 매핑하고 리소스가 만료되기 전에 완성 영상을 영구 저장소로 복사합니다.

Sora 앱을 이전할 때 입력 참조는 일반적으로 대상 공급자에 맞게 다시 업로드하거나 형식을 바꿔야 하며 생성 영상 URL은 임시 다운로드 위치로 취급해야 합니다. 영구 파일, 체크섬, 접근 정책, 공급자 매핑을 관리하는 자산 계층 뒤에 양쪽을 둡니다.

요청 형식이 호환된다고 해서 파일 ID나 출력 링크가 이동 가능한 것은 아닙니다. 이런 리소스는 발급한 공급자에게 속합니다.

## 자산과 공급자 참조를 분리합니다

애플리케이션 자산 ID를 안정적인 키로 사용합니다.

```json
{
  "asset_id": "asset_01J...",
  "kind": "input_image",
  "sha256": "...",
  "storage_key": "inputs/asset_01J...png",
  "provider_refs": {
    "openai": "provider-specific-reference"
  }
}
```

원본 파일 ID, 영상 작업 ID, 서명된 출력 URL은 이 레코드의 속성이지 제품이 영구적으로 공개할 식별자가 아닙니다.

## 입력 참조를 다시 만듭니다

OpenAI 영상 엔드포인트는 프롬프트와 선택적 `input_reference` 이미지를 받습니다. 대상 서비스는 multipart 업로드, 미리 업로드한 파일 ID, 공개 URL 또는 base64 데이터를 요구할 수 있습니다.

각 원본을 자체 저장소에서 읽고 미디어 유형과 크기를 검증한 뒤 대상 전용 참조를 만듭니다. OpenAI 파일 또는 미디어 식별자를 다른 공급자에게 보낼 수 있다고 가정하지 않습니다.

애플리케이션에 공급자 참조만 있고 원본이 없다면 이전 전에 아직 다운로드 가능한지 확인합니다. 만료되거나 삭제된 입력은 사용자가 다시 업로드해야 하며 식별자 변환으로 사라진 바이트를 복구할 수 없습니다.

## 작업 객체를 명시적으로 매핑합니다

Sora 영상 생성은 비동기 작업입니다. 작업에는 ID, 상태, 진행률, 모델, 길이, 크기, 타임스탬프, 자산 만료 시간이 포함될 수 있습니다. 대상 작업을 원본 작업 옆에 저장합니다.

| 애플리케이션 필드 | 원본 매핑 | 대상 매핑 |
|---|---|---|
| 내부 작업 ID | 자체 데이터베이스 | 동일한 값 |
| 공급자 작업 ID | OpenAI 영상 ID | 대상 작업 ID |
| 상태 | 원본 상태 | 정규화된 대상 상태 |
| 입력 자산 | 원본 참조 | 다시 업로드한 대상 참조 |
| 출력 자산 | 다운로드한 바이트 | 대상에서 다운로드한 바이트 |

단계적 이전 중 원본 매핑을 덮어쓰지 않습니다. 두 매핑을 유지하면 롤백과 지원 조사가 가능합니다.

## URL만 저장하지 말고 콘텐츠를 내려받습니다

OpenAI API는 완료된 영상의 콘텐츠 엔드포인트를 제공하고 자산에 만료가 있으면 `expires_at`을 보고합니다. 응답 URL은 만료되거나 인증이 필요하거나 클라이언트에 직접 공개하기 부적합할 수 있습니다.

완료 시 워커는 다음을 수행합니다.

1. 인증된 엔드포인트에서 영상 콘텐츠를 가져옵니다.
2. 자체 객체 저장소로 스트리밍합니다.
3. 유형, 크기, 체크섬을 검증합니다.
4. 출처, 모델, 프롬프트 정책, 생성 매개변수를 기록합니다.
5. 자체 인증 URL로 제공합니다.

제품이 사용하는 썸네일, 미리보기, 다른 다운로드 변형에도 같은 절차를 적용합니다.

## 보존 및 개인정보 정책을 계획합니다

파일 복사는 데이터 거버넌스 범위를 바꿉니다. 사용자 업로드, 중간 산출물, 최종 영상, 썸네일, 실패 작업의 보존 기간을 따로 정의합니다. 자산을 암호화하고 서비스 역할을 제한하며 서명 URL이나 원시 프롬프트를 기록하지 않습니다.

삭제 요청을 받으면 애플리케이션 사본을 제거하고 가능한 경우 공급자 삭제 엔드포인트도 호출합니다. 재시도를 멱등으로 유지하기 위해 민감하지 않은 삭제 기록을 보관합니다.

## 전환 전에 미디어 동작을 테스트합니다

지원 입력 형식, 방향, 해상도, 길이, 최대 크기별 사례를 만듭니다. 필요하면 알파 채널과 색상 프로파일도 확인합니다. 출력에서는 만료 링크, 부분 다운로드, 콘텐츠 유형 불일치, 범위 요청, 취소, 워커 장애 후 재시도를 테스트합니다.

API 형식뿐 아니라 콘텐츠 정책과 검수 결과도 비교합니다. 두 공급자가 모두 요청을 수락해도 결과가 같다는 뜻은 아닙니다.

## 핵심 정리

Sora 파일 참조와 출력 URL은 공급자 리소스이며 이동 가능한 자산이 아닙니다. 원본 입력을 자체 저장소에 보관하고 새 참조를 만들며 완료 영상을 신속히 내려받고 안정적인 자체 자산 ID를 공개합니다. 이렇게 해야 만료 링크가 데이터 손실이 되지 않습니다.

## FAQ

### OpenAI input_reference를 다른 영상 공급자에게 보낼 수 있나요?

대부분 불가능합니다. 자체 저장소에서 원본을 읽고 대상이 요구하는 multipart 업로드, 파일 ID, URL 또는 base64 참조를 만듭니다.

### Sora 출력 URL은 영구적인가요?

임시 또는 인증된 전달 위치로 취급합니다. 작업에 만료 시간이 포함될 수 있으므로 콘텐츠를 자체 저장소로 신속히 내려받습니다.

### 공급자 파일 ID만 저장했다면 어떻게 하나요?

리소스를 사용할 수 있을 때 원본 바이트를 가져옵니다. 이미 만료되거나 삭제됐다면 사용자가 원본을 다시 업로드해야 할 수 있습니다.

### 애플리케이션은 어떤 ID를 공개해야 하나요?

자체의 안정적인 자산 및 작업 ID를 공개합니다. 원본과 대상 공급자 ID는 검색, 지원, 롤백용 매핑으로 유지합니다.

### 전환 후 원본 매핑을 덮어써야 하나요?

아닙니다. 단계적 마이그레이션 동안 두 매핑을 보관해 동작을 비교하고 안전하게 롤백할 수 있어야 합니다.

### 영상 자산에서는 무엇을 테스트해야 하나요?

지원 형식, 크기, 길이, 방향, 변형뿐 아니라 만료, 부분 다운로드, 취소, 저장소 재시도를 테스트합니다.
