Skip to main content
POST
/
videos
/
{video_id}
/
download_url
Create a signed video download URL
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: JSON.stringify({index: 1, ttl_seconds: 2, disposition: 'attachment'})
};

fetch('https://api.phaseo.app/v1/videos/{video_id}/download_url', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
{
  "download_url": "<string>",
  "expires_at": 123
}

Documentation Index

Fetch the complete documentation index at: https://docs.ai-stats.phaseo.app/llms.txt

Use this file to discover all available pages before exploring further.

Returns a short-lived signed URL for downloading rendered video content without streaming the binary through the API response body. Use this when you need a temporary direct download link for a completed video job. Optional request fields let you choose:
  • ttl_seconds for link lifetime
  • disposition as attachment or inline
  • index when a generation has multiple outputs
The response returns:
  • download_url
  • expires_at
This is the preferred path for handing completed video output to browsers or external download clients.

Authorizations

Authorization
string
header
required

Bearer token authentication

Path Parameters

video_id
string
required

The ID of the video generation request.

Body

application/json
index
integer
Required range: x >= 0
ttl_seconds
integer
Required range: x >= 1
disposition
enum<string>
Available options:
attachment,
inline

Response

200 - application/json

Signed download URL

download_url
string
expires_at
integer
Last modified on May 6, 2026