Skip to main content
POST
/
videos
Create video
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: JSON.stringify({
    model: '<string>',
    prompt: '<string>',
    seconds: 123,
    size: '<string>',
    quality: '<string>',
    input_reference: '<string>',
    input_reference_mime_type: '<string>',
    input: {
      image: '<string>',
      video: '<string>',
      last_frame: '<string>',
      reference_images: [
        {
          reference_type: '<string>',
          image: '<string>',
          uri: '<string>',
          url: '<string>'
        }
      ]
    },
    input_image: '<string>',
    input_video: '<string>',
    last_frame: '<string>',
    input_last_frame: '<string>',
    reference_images: [{}],
    duration: 60,
    duration_seconds: 123,
    ratio: '<string>',
    aspect_ratio: '<string>',
    resolution: '<string>',
    negative_prompt: '<string>',
    sample_count: 123,
    number_of_videos: 123,
    seed: 123,
    person_generation: '<string>',
    generate_audio: true,
    enhance_prompt: true,
    output_storage_uri: '<string>',
    provider: {
      order: ['<string>'],
      only: ['<string>'],
      ignore: ['<string>'],
      include_alpha: true
    }
  })
};

fetch('https://api.phaseo.app/v1/videos', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
{
  "id": "<string>",
  "model": "<string>",
  "status": "<string>",
  "created": 123,
  "object": "<string>",
  "output": [
    {
      "id": "<string>",
      "type": "<string>",
      "url": "<string>"
    }
  ]
}
Creates an asynchronous video generation job. After creating a job, poll:
  • GET /v1/videos/{video_id} for status updates.
  • GET /v1/videos/{video_id}/content when the job is complete.

Authorizations

Authorization
string
header
required

Bearer token authentication

Body

application/json
model
string
required
prompt
string
required
seconds
size
string
quality
string
input_reference
string
input_reference_mime_type
string
input
object
input_image
input_video
last_frame
input_last_frame
reference_images
object[]
duration
integer
Required range: 1 <= x <= 120
duration_seconds
integer
ratio
string
aspect_ratio
string
resolution
string
negative_prompt
string
sample_count
integer
number_of_videos
integer
seed
integer
person_generation
string
generate_audio
boolean
enhance_prompt
boolean
output_storage_uri
string
provider
object

Provider routing preferences for gateway selection.

Response

200 - application/json

Video response

id
string
model
string
status
string
created
integer
object
string
output
object[]
Last modified on February 17, 2026