312 lines
9.1 KiB
YAML
312 lines
9.1 KiB
YAML
# Video Generation Endpoints
|
|
|
|
video-generation:
|
|
post:
|
|
operationId: videoGeneration
|
|
summary: Generate a video
|
|
description: |
|
|
Creates a video generation job from a text prompt. This is an asynchronous operation
|
|
that returns immediately with a job ID. Use the retrieve endpoint to check the status
|
|
and get the video URL when generation is complete.
|
|
tags:
|
|
- Videos
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '../../schemas/inference/videos.yaml#/VideoGenerationRequest'
|
|
responses:
|
|
'200':
|
|
description: |
|
|
Successful response. Returns a video generation job object with status information.
|
|
Poll the retrieve endpoint to check completion status.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '../../schemas/inference/videos.yaml#/VideoGenerationResponse'
|
|
'400':
|
|
$ref: '../../openapi.yaml#/components/responses/BadRequest'
|
|
'500':
|
|
$ref: '../../openapi.yaml#/components/responses/InternalError'
|
|
security:
|
|
- BearerAuth: []
|
|
- BasicAuth: []
|
|
- VirtualKeyAuth: []
|
|
- ApiKeyAuth: []
|
|
get:
|
|
operationId: videoList
|
|
summary: List video generation jobs
|
|
description: |
|
|
Lists video generation jobs for a specific provider. Results are paginated
|
|
and can be filtered using query parameters.
|
|
tags:
|
|
- Videos
|
|
parameters:
|
|
- name: provider
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
description: Provider name (e.g., "openai", "gemini")
|
|
- name: after
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
description: Cursor for pagination - ID of the last item from the previous page
|
|
- name: limit
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
minimum: 1
|
|
maximum: 100
|
|
default: 20
|
|
description: Maximum number of results to return
|
|
- name: order
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
enum:
|
|
- "asc"
|
|
- "desc"
|
|
default: "desc"
|
|
description: Sort order by creation time
|
|
responses:
|
|
'200':
|
|
description: Successful response. Returns a paginated list of video generation jobs.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '../../schemas/inference/videos.yaml#/VideoListResponse'
|
|
'400':
|
|
$ref: '../../openapi.yaml#/components/responses/BadRequest'
|
|
'500':
|
|
$ref: '../../openapi.yaml#/components/responses/InternalError'
|
|
|
|
security:
|
|
- BearerAuth: []
|
|
- BasicAuth: []
|
|
- VirtualKeyAuth: []
|
|
- ApiKeyAuth: []
|
|
video-by-id:
|
|
get:
|
|
operationId: videoRetrieve
|
|
summary: Retrieve a video generation job
|
|
description: |
|
|
Retrieves the status and metadata for a video generation job.
|
|
Use this endpoint to poll for completion status after creating a video generation job.
|
|
When the status is "completed", the response will include a URL to download the video.
|
|
tags:
|
|
- Videos
|
|
parameters:
|
|
- name: video_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
description: Video ID in format `id:provider` (e.g., `video_abc123:openai`)
|
|
responses:
|
|
'200':
|
|
description: Successful response. Returns the video generation job details.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '../../schemas/inference/videos.yaml#/VideoGenerationResponse'
|
|
'400':
|
|
$ref: '../../openapi.yaml#/components/responses/BadRequest'
|
|
'404':
|
|
description: Video not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '../../schemas/inference/common.yaml#/BifrostError'
|
|
'500':
|
|
$ref: '../../openapi.yaml#/components/responses/InternalError'
|
|
security:
|
|
- BearerAuth: []
|
|
- BasicAuth: []
|
|
- VirtualKeyAuth: []
|
|
- ApiKeyAuth: []
|
|
delete:
|
|
operationId: videoDelete
|
|
summary: Delete a video generation job
|
|
description: |
|
|
Deletes a video generation job and its associated assets.
|
|
This operation cannot be undone.
|
|
tags:
|
|
- Videos
|
|
parameters:
|
|
- name: video_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
description: Video ID in format `id:provider` (e.g., `video_abc123:openai`)
|
|
responses:
|
|
'200':
|
|
description: Successful response. Returns deletion confirmation.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '../../schemas/inference/videos.yaml#/VideoDeleteResponse'
|
|
'400':
|
|
$ref: '../../openapi.yaml#/components/responses/BadRequest'
|
|
'404':
|
|
description: Video not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '../../schemas/inference/common.yaml#/BifrostError'
|
|
'500':
|
|
$ref: '../../openapi.yaml#/components/responses/InternalError'
|
|
|
|
security:
|
|
- BearerAuth: []
|
|
- BasicAuth: []
|
|
- VirtualKeyAuth: []
|
|
- ApiKeyAuth: []
|
|
video-download:
|
|
get:
|
|
operationId: videoDownload
|
|
summary: Download video content
|
|
description: |
|
|
Downloads the binary content of a generated video.
|
|
The video must have a status of "completed" to be downloadable.
|
|
Returns the raw video file (typically MP4 format).
|
|
tags:
|
|
- Videos
|
|
parameters:
|
|
- name: video_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
description: Video ID in format `id:provider` (e.g., `video_abc123:openai`)
|
|
- name: variant
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
enum:
|
|
- "video"
|
|
- "thumbnail"
|
|
- "spritesheet"
|
|
description: Variant of the video content to download (provider-specific)
|
|
responses:
|
|
'200':
|
|
description: Successful response. Returns the video file as binary content.
|
|
content:
|
|
video/mp4:
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
application/octet-stream:
|
|
schema:
|
|
type: string
|
|
format: binary
|
|
'400':
|
|
$ref: '../../openapi.yaml#/components/responses/BadRequest'
|
|
'404':
|
|
description: Video not found or not yet available
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '../../schemas/inference/common.yaml#/BifrostError'
|
|
'500':
|
|
$ref: '../../openapi.yaml#/components/responses/InternalError'
|
|
|
|
security:
|
|
- BearerAuth: []
|
|
- BasicAuth: []
|
|
- VirtualKeyAuth: []
|
|
- ApiKeyAuth: []
|
|
video-delete:
|
|
delete:
|
|
operationId: videoDelete
|
|
summary: Delete a video generation job
|
|
description: |
|
|
Deletes a video generation job and its associated assets.
|
|
This operation cannot be undone.
|
|
tags:
|
|
- Videos
|
|
parameters:
|
|
- name: video_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
description: Video ID in format `id:provider` (e.g., `video_abc123:openai`)
|
|
responses:
|
|
'200':
|
|
description: Successful response. Returns deletion confirmation.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '../../schemas/inference/videos.yaml#/VideoDeleteResponse'
|
|
'400':
|
|
$ref: '../../openapi.yaml#/components/responses/BadRequest'
|
|
'404':
|
|
description: Video not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '../../schemas/inference/common.yaml#/BifrostError'
|
|
'500':
|
|
$ref: '../../openapi.yaml#/components/responses/InternalError'
|
|
|
|
security:
|
|
- BearerAuth: []
|
|
- BasicAuth: []
|
|
- VirtualKeyAuth: []
|
|
- ApiKeyAuth: []
|
|
video-remix:
|
|
post:
|
|
operationId: videoRemix
|
|
summary: Remix a video
|
|
description: |
|
|
Creates a new video generation job by remixing an existing video with a new prompt.
|
|
The source video must have a status of "completed" to be remixed.
|
|
Returns a new video generation job that can be polled for completion.
|
|
tags:
|
|
- Videos
|
|
parameters:
|
|
- name: video_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
description: Video ID in format `id:provider` (e.g., `video_abc123:openai`)
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '../../schemas/inference/videos.yaml#/VideoRemixRequest'
|
|
responses:
|
|
'200':
|
|
description: |
|
|
Successful response. Returns a new video generation job object.
|
|
Poll the retrieve endpoint to check completion status.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '../../schemas/inference/videos.yaml#/VideoGenerationResponse'
|
|
'400':
|
|
$ref: '../../openapi.yaml#/components/responses/BadRequest'
|
|
'404':
|
|
description: Source video not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '../../schemas/inference/common.yaml#/BifrostError'
|
|
'500':
|
|
$ref: '../../openapi.yaml#/components/responses/InternalError'
|
|
security:
|
|
- BearerAuth: []
|
|
- BasicAuth: []
|
|
- VirtualKeyAuth: []
|
|
- ApiKeyAuth: []
|