Share via

Azure OpenAI Video API rejects all sora-2 deployments — gateway validates for deprecated sora model name, creating a catch-22

Gianpaolo Valero 0 Reputation points Microsoft Employee
2026-04-15T18:29:54.39+00:00

Environment:

  • AppID: Application ID removed for privacy
    • Subscription:Subscription ID removed for privacy
    • Resource: Resource name removed for privacy
    • Model: sora-2, v2025-10-06, GlobalStandard SKU
    • API version: preview
    The problem: The /openai/v1/video/generations/jobs endpoint returns HTTP 400: "Invalid model deployment. The deployed model must be 'sora'." — but sora (v2025-05-02) was deprecated Feb 28, 2026 and cannot be deployed. The replacement sora-2 deploys successfully (provisioningState: Succeeded) but is rejected at runtime. Tested today (Apr 15, 2026) — 9 variations, all fail:
  1. Deploy sora-2, name "sora", body model:"sora" → 400
    1. Body model:"sora-2" → 404 DeploymentNotFound
    2. No model field → 404
    3. Deployment-based URL → 404
    4. 30s propagation wait + retry → 400
    5. Entra ID auth (cognitiveservices scope) → 400
    6. Entra ID auth (ai.azure.com scope per MS Learn docs) → 400
    7. Force deploy deprecated sora v2025-05-02 → ServiceModelDeprecated
    8. API versions: preview, 2025-03-01, 2025-02-01, 2024-12-01, 2024-10-01 → only preview routes correctly, still 400

Root cause: API gateway checks model.name in deployment metadata and requires "sora", but only "sora-2" is deployable. MS Learn docs (updated to

reference Sora 2 capabilities) say to "deploy a sora (Sora 2) model" — but the model catalog does not support this.

Prior escalation: [Contact email removed for privacy] confirmed this is outside gating scope (email thread, AppID 3519559).

Request: Update gateway validation to accept sora-2 model name, or re-alias sora-2 as sora in the model catalog.

Azure OpenAI Service
Azure OpenAI Service

An Azure service that provides access to OpenAI’s GPT-3 models with enterprise capabilities.


2 answers

Sort by: Most helpful
  1. Gianpaolo Valero 0 Reputation points Microsoft Employee
    2026-04-15T20:43:55.2166667+00:00

    Solved — the video generation API has been migrated to a new endpoint.

    The old endpoint POST /openai/v1/video/generations/jobs is deprecated and has the model.name == "sora" validation bug described above. The new endpoint is:

    
    POST {endpoint}/openai/v1/videos?api-version=preview
    
    

    Key differences from the old API:

    | Parameter | Old API | New API |

    |-----------|---------|---------|

    | Endpoint | /openai/v1/video/generations/jobs | /openai/v1/videos |

    | seconds | integer (5) | string ("4", "8", or "12") |

    | size | width/height integers | string ("720x1280", "1280x720", "1024x1792", "1792x1024") |

    | Poll status | GET .../video/generations/jobs/{id} | GET .../videos/{id} |

    | Download | GET .../video/generations/{gen_id}/content/video | GET .../videos/{id}/content |

    | Status values | succeeded / failed | completed / failed |

    Working example:

    
    POST {endpoint}/openai/v1/videos?api-version=preview
    
    {
    
      "prompt": "A golden retriever running on a beach at sunset",
    
      "model": "<your-deployment-name>",
    
      "size": "720x1280",
    
      "seconds": "4"
    
    }
    
    

    This works with a sora-2 model deployed under any deployment name. The new endpoint is documented in the v1 API reference (search for VideoResource), though the quickstart docs have not been updated yet.

    Hope this saves others the debugging time!

    0 comments No comments

  2. Amira Bedhiafi 41,291 Reputation points Volunteer Moderator
    2026-04-15T18:54:04.9533333+00:00

    Hello Gianpaolo !

    Thank you for posting on MS Learn Q&A.

    I think your issue is a product side issue rather than a request format one because when I check the Sora 2 preview documentation it shows model="sora-2" in examples but the same doc also says to deploy a sora (Sora 2) model so there is already an official naming inconsistency.

    For the pricing and quota pages also I can see Sora and Sora 2 separately which supports my conclusion that the runtime should recognize sora-2 directly.

    Since sora is deprecated and no longer deployable, a runtime requirement that the deployed model name be sora creates a dead end. I think this looks like a backend validation bug or incomplete rollout in the video gateway for Azure OpenAI v1 video jobs.

    I recommend you to open a support ticket, Azure team will assist you better !


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.