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

# Cosa succede ai file di input e agli URL di output durante la migrazione di un'app Sora?

> I riferimenti ai file e i link video del provider non sono asset portabili. Conserva i byte originali sotto ID propri, ricaricali nel formato di destinazione, mappa separatamente i due job e copia ogni video completato prima della scadenza delle risorse.

Durante una migrazione Sora, i riferimenti di input devono in genere essere ricaricati o riformattati per il target, mentre gli URL video vanno trattati come posizioni temporanee. Metti entrambi dietro un livello di asset che controlla file durevoli, checksum, accesso e mappature.

Una forma di richiesta compatibile non rende portabili ID file e link. Queste risorse appartengono al provider che le ha emesse.

## Separa gli asset dai riferimenti del provider

Usa un ID asset applicativo come chiave stabile:

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

ID file di origine, ID job video e URL firmato sono attributi del record, non identificatori permanenti del prodotto.

## Ricrea i riferimenti di input

L'endpoint video OpenAI accetta un prompt e un'immagine `input_reference` opzionale. Il target può richiedere upload multipart, ID precaricato, URL pubblico o dati base64.

Leggi ogni originale dal tuo storage, valida tipo e dimensioni e crea il riferimento target. Non presumere che un identificatore OpenAI funzioni presso un altro provider.

Se hai salvato solo un riferimento esterno, verifica che sia ancora scaricabile. Se è scaduto o eliminato, servirà un nuovo caricamento; convertire l'ID non recupera i byte.

## Mappa esplicitamente gli oggetti job

La generazione Sora è asincrona. Il job contiene ID, stato, avanzamento, modello, durata, dimensione, date ed eventuale scadenza. Conserva il job target accanto a quello source:

| Campo applicativo | Mappatura origine | Mappatura destinazione |
|---|---|---|
| ID job interno | Database proprio | Stesso valore |
| ID job provider | ID video OpenAI | ID job target |
| Stato | Stato di origine | Stato target normalizzato |
| Asset di input | Riferimento origine | Nuovo riferimento target |
| Asset di output | Byte scaricati | Byte scaricati dal target |

Non sovrascrivere la mappatura di origine durante una migrazione graduale. Mantenerle entrambe consente rollback e supporto.

## Scarica il contenuto, non solo l'URL

L'API OpenAI espone un endpoint di contenuto per i video completati e segnala `expires_at` quando gli asset scadono. Un URL copiato può smettere di funzionare, richiedere autenticazione o essere inadatto ai client.

Al completamento il worker deve:

1. recuperare il contenuto dall'endpoint autenticato;
2. trasmetterlo allo storage di oggetti proprio;
3. verificare tipo, dimensione e checksum;
4. registrare provenienza, modello, politica prompt e parametri;
5. servirlo con un URL applicativo autorizzato.

Applica lo stesso processo a miniature, anteprime e varianti necessarie.

## Pianifica conservazione e privacy

Copiare file cambia il perimetro di governance. Definisci tempi distinti per upload, intermedi, video finali, miniature e fallimenti. Cifra gli asset, limita i ruoli e non registrare URL firmati o prompt grezzi.

In caso di eliminazione, rimuovi la copia dell'app e chiama il provider se esiste un endpoint. Conserva un marcatore non sensibile per tentativi idempotenti.

## Testa il comportamento dei media

Crea casi per formato, orientamento, risoluzione, durata e dimensione massima. Controlla alfa e profili colore se servono. Testa link scaduti, download parziali, tipo errato, richieste range, annullamento e recupero dopo un guasto del worker.

Confronta anche regole di contenuto e moderazione. Accettare la stessa forma non garantisce lo stesso risultato.

## In sintesi

I riferimenti Sora e gli URL di output sono risorse del provider, non asset portabili. Conserva gli originali, crea nuovi riferimenti, scarica subito i video e mostra ID asset propri, così un link scaduto non causa perdita di dati.

## FAQ

### Un input_reference OpenAI può essere inviato a un altro provider video?

In genere no. Leggi l'originale dal tuo storage e crea l'upload multipart, l'ID file, l'URL o il riferimento base64 richiesto dalla destinazione.

### Gli URL di output Sora sono permanenti?

Trattali come punti di consegna temporanei o autenticati. Il job può indicare una scadenza, quindi scarica subito il contenuto nel tuo storage.

### Cosa fare se è stato salvato solo un ID file del provider?

Prova a recuperare i byte finché la risorsa è disponibile. Se è scaduta o eliminata, l'utente potrebbe dover ricaricare l'originale.

### Quale ID deve esporre l'applicazione?

Esponi i tuoi ID stabili di asset e job. Conserva gli ID di origine e destinazione come mappature per recupero, supporto e rollback.

### La mappatura di origine va sovrascritta dopo il passaggio?

No. Mantieni entrambe le mappature durante la migrazione graduale per confrontare il comportamento e fare rollback.

### Cosa bisogna testare per gli asset video?

Testa formati, dimensioni, durate, orientamenti e varianti supportati, oltre a scadenza, download parziali, annullamento e tentativi di storage.
