API Sora 2

Costruisci sopra l'API Sora 2

Fornisci esperienze testo-in-video supportate da OpenAI Sora 2 e Sora Pro. Autenticati con chiavi API, controlla lo stato dei compiti e consegna video finali in pochi minuti.

Perché i team si affidano all'API Sora 2

Fornisci flussi di lavoro di generazione video resilienti con polling prevedibile, 20 richieste simultanee e caricamenti automatici su storage.

Sora 2 + Sora Pro

Scegli la stringa del modello che corrisponde alle tue esigenze di qualità e costo: sora-2 o sora-2-pro.

Polling prevedibile

Crea un compito, quindi controlla l'endpoint di controllo risultato per mantenere stato e progresso sincronizzati senza SSE.

20 richieste simultanee

Elabora fino a 20 compiti di generazione video contemporaneamente. Contattaci per limiti più elevati.

Autenticazione & URL di Base

Tutti gli endpoint vivono sotto https://freesoragenerator.com/api. Fornisci la chiave API creata nella console tramite l'intestazione Authorization.

  • Invia l'intestazione Authorization: Bearer YOUR_API_KEY con ogni richiesta.
  • Usa Content-Type: application/json quando pubblichi payload.
  • Ogni richiesta di generazione detrae 20 crediti (sora-2) o 30 crediti (sora-2-pro); i lavori falliti vengono rimborsati automaticamente.

Endpoint principali

Inizia creando un compito di generazione, quindi controlla o ascolta il risultato.

Crea video Sora 2

Avvia un lavoro di generazione Sora 2 o Sora Pro con prompt testo-in-video o opzionali immagine-in-video.

Metodo: POSTPercorso: /api/v1/video/sora-video

Parametri payload

  • Obbligatorio. Usa "sora-2" o "sora-2-pro" per mirare alla variante del modello di cui hai bisogno.
  • Obbligatorio. Descrizione in linguaggio naturale della scena che desideri che Sora crei.
  • Opzionale (consigliato). URL dei dati Base64 con prefisso "data:image/*;base64," per la modalità immagine-in-video.
  • Opzionale. URL immagine di riferimento legacy; ancora supportato ma con priorità inferiore rispetto a imageData.
  • Opzionale. Valori supportati: "9:16" (predefinito) o "16:9".
  • Opzionale. Se visualizzare il video pubblicamente; il valore predefinito è true.
  • Opzionale (solo VIP). Pid del video di destinazione per funzionalità di continuazione/remix.
  • Opzionale (solo VIP). Array di controllo dei personaggi; ogni elemento include url e timestamp.
  • Opzionale. Endpoint HTTPS che riceve il payload finale quando il compito ha successo.

Note

  • Le risposte tornano immediatamente con un taskId; controlla il risultato fino a quando lo stato non è riuscito o fallito.
  • Fornisci webHook per ricevere il payload finale in modo asincrono senza eseguire un ciclo di polling.

Richiesta di esempio

curl -X POST https://freesoragenerator.com/api/v1/video/sora-video \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sora-2-pro",
    "prompt": "A cinematic shot of a futuristic city at sunset, captured in 4K.",
    "imageData": "data:image/png;base64,iVBORw0KGgoAAA...",
    "aspectRatio": "9:16",
    "isPublic": true
  }'

Risposta di esempio

{
  "code": 0,
  "message": "ok",
  "data": {
    "id": "task_1234567890"
  }
}

Controlla risultato generazione

Controlla l'ultimo stato per un compito di generazione per monitorare il progresso e recuperare i risultati.

Metodo: POSTPercorso: /api/video-generations/check-result

Parametri payload

  • Obbligatorio. L'identificatore restituito quando hai creato il compito di generazione.

Note

  • L'endpoint verifica che il compito appartenga al tuo account prima di restituire i dati.
  • I lavori falliti restituiscono crediti automaticamente ed espongono i metadati di rimborso nella risposta.

Richiesta di esempio

curl -X POST https://freesoragenerator.com/api/video-generations/check-result \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "taskId": "task_1234567890"
  }'

Risposta di esempio

{
  "code": 0,
  "message": "Success",
  "data": {
    "status": "running",
    "progress": 35,
    "result_url": "https://your-domain.com/storage/videos/xxx.mp4",
    "result_urls": [
      "https://your-domain.com/storage/videos/xxx.mp4"
    ],
    "failure_reason": "",
    "error_message": null,
    "credits_refunded": false,
    "refund_trans_no": null,
    "result_pid": "s_xxx",
    "result_pids": [
      "s_xxx"
    ],
    "metadata": {
      "remixTargetId": "s_prev",
      "characters": [
        {
          "url": "https://.../hero.mp4",
          "timestamps": "0,3"
        }
      ]
    }
  }
}

Ottieni crediti utente e stato VIP

Interroga i crediti disponibili dell'utente corrente e lo stato di appartenenza VIP.

Metodo: POSTPercorso: /api/get-user-credits

Note

  • Richiede una sessione di accesso valida o un token API per accedere alle informazioni dell'utente.
  • Restituisce i campi left_credits, is_recharged, is_pro e is_vip dello stato.

Richiesta di esempio

curl -X POST https://freesoragenerator.com/api/get-user-credits \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

Risposta di esempio

{
  "code": 0,
  "message": "ok",
  "data": {
    "left_credits": 120,
    "is_recharged": true,
    "is_pro": true,
    "is_vip": false
  }
}

1. Crea il compito

Invia la richiesta API Sora2 con il tuo prompt e l'URL webhook opzionale, quindi memorizza il taskId restituito.

2. Monitora il progresso

Iscriviti agli eventi di streaming o chiama l'endpoint di controllo risultato fino a quando lo stato non diventa riuscito o fallito.

3. Consegna il video

Usa gli URL supportati da storage in result_url/result_urls per servire o scaricare il video generato.

Domande frequenti

Come posso autenticare le mie richieste?

Crea una chiave API nella console, quindi includila come Authorization: Bearer YOUR_API_KEY. Le chiavi possono essere ruotate in qualsiasi momento.

Come dovrei controllare i risultati?

Dopo aver chiamato create, memorizza il taskId. Chiama /api/video-generations/check-result ogni 3-5 secondi fino a quando lo stato non è riuscito o fallito, quindi usa result_url/result_urls.

Come vengono gestiti i crediti per i fallimenti?

Rimborsiamo automaticamente i crediti quando un compito fallisce e restituiamo refund_trans_no più credits_refunded=true nel payload di controllo risultato per le tracce di audit.

Risorse utili

Lancia oggi con l'API Sora2

Crea la tua chiave API e inizia a generare video AI cinematografici in pochi minuti.