Sora

Sora API

Sora is OpenAI's text-to-video model. Generate video with synchronized audio through Puter.js — no API key, no waitlist, no OpenAI account.

// npm install @heyputer/puter.js
import { puter } from '@heyputer/puter.js';

puter.ai.txt2vid("A drone shot flying over a snowy mountain range at dawn", {
    model: "openai/sora-2"
}).then(video => {
    document.body.appendChild(video);
});
<html>
<body>
    <script src="https://js.puter.com/v2/"></script>
    <script>
        puter.ai.txt2vid("A drone shot flying over a snowy mountain range at dawn", {
            model: "openai/sora-2"
        }).then(video => {
            document.body.appendChild(video);
        });
    </script>
</body>
</html>

The Sora API for Text-to-Video with Audio

Text-to-Video

Generate video clips from a text prompt with OpenAI's Sora 2 and Sora 2 Pro models.

Synchronized Audio

Sora generates video with synced dialogue and sound effects in a single pass.

Sora 2 & Sora 2 Pro

Choose Sora 2 for fast iteration or Sora 2 Pro for higher-fidelity production video.

Image-to-Video

Animate a still image or extend clips, in addition to generating from text prompts.

No Waitlist, No Account

Skip the paid tiers, eligibility approval, and OpenAI account the official Sora API requires.

No Keys, User-Pays

No API key or per-second billing — your users cover their own usage, free for you to ship.

Sora Models Compared

Every Sora model available through Puter.js, with clip length and supported aspect ratios. Click a model for full specs and examples.

ModelClip LengthAspect RatiosReleased
Sora 2 openai/sora-2 Mar 2025
Sora 2 Pro openai/sora-2-pro Mar 2025

Use Sora in Seconds

Add Sora to your app with just a few lines of code.
No API keys, no backend, no configuration required.

// npm install @heyputer/puter.js
import { puter } from '@heyputer/puter.js';

puter.ai.txt2vid("A drone shot flying over a snowy mountain range at dawn", {
    model: "openai/sora-2"
}).then(video => {
    document.body.appendChild(video);
});
<html>
<body>
    <script src="https://js.puter.com/v2/"></script>
    <script>
        puter.ai.txt2vid("A drone shot flying over a snowy mountain range at dawn", {
            model: "openai/sora-2"
        }).then(video => {
            document.body.appendChild(video);
        });
    </script>
</body>
</html>

View full documentation →

Frequently Asked Questions

What is the Sora API?

The Sora API lets you generate video from text prompts using OpenAI's Sora 2 text-to-video models with synchronized dialogue and sound effects — including Sora 2 — through Puter.js, with no API keys and no backend.

Is the Sora API free?

Yes, it is free for you as the developer when you use it through Puter.js. With the User-Pays model, each of your users covers their own usage through their Puter account, so you can ship Sora-powered apps at no cost to you.

Which Sora model should I use?

Start with Sora 2. Faster or lighter variants trade some quality for speed and cost — compare clip length and aspect ratios in the table above.

How long are the videos, and is there audio?

Clip length varies by model, and several Sora models generate synchronized audio. Check each model's page for its exact capabilities.

How much does Sora cost?

Through Puter.js, Sora is free for you as the developer — your users cover their own usage under the User-Pays model, so there are no per-second video fees or API keys to manage.

Do I need an API key or a waitlist invite?

No. Puter.js needs no API key, no OpenAI account, and no waitlist — include the library and start generating video right away.

Does it work with React / Vue / Vanilla JS / Node / etc.?

Yes — the Sora API through Puter.js works with any JavaScript framework, Node.js, or plain HTML. Just include the library and start building.