first commit

This commit is contained in:
Beyhan Oğur
2026-04-26 21:52:23 +03:00
commit 880f412e2c
2662 changed files with 866266 additions and 0 deletions

View File

@@ -0,0 +1,664 @@
# Async Inference Endpoints
# --- Submission endpoints ---
async-chat-completions:
post:
operationId: createAsyncChatCompletion
summary: Create async chat completion
description: |
Submits a chat completion request for asynchronous execution. Returns a job ID immediately
with HTTP 202. Poll the corresponding GET endpoint with the job ID to retrieve the result.
Streaming is not supported for async requests.
tags:
- Async Jobs
parameters:
- $ref: '#/components/parameters/AsyncResultTTL'
requestBody:
required: true
content:
application/json:
schema:
$ref: '../../schemas/inference/chat.yaml#/ChatCompletionRequest'
responses:
'202':
description: Job accepted for processing
content:
application/json:
schema:
$ref: '../../schemas/inference/async.yaml#/AsyncJobResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
async-text-completions:
post:
operationId: createAsyncTextCompletion
summary: Create async text completion
description: |
Submits a text completion request for asynchronous execution. Returns a job ID immediately
with HTTP 202. Poll the corresponding GET endpoint with the job ID to retrieve the result.
Streaming is not supported for async requests.
tags:
- Async Jobs
parameters:
- $ref: '#/components/parameters/AsyncResultTTL'
requestBody:
required: true
content:
application/json:
schema:
$ref: '../../schemas/inference/text.yaml#/TextCompletionRequest'
responses:
'202':
description: Job accepted for processing
content:
application/json:
schema:
$ref: '../../schemas/inference/async.yaml#/AsyncJobResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
async-responses:
post:
operationId: createAsyncResponse
summary: Create async response
description: |
Submits a response request for asynchronous execution. Returns a job ID immediately
with HTTP 202. Poll the corresponding GET endpoint with the job ID to retrieve the result.
Streaming is not supported for async requests.
tags:
- Async Jobs
parameters:
- $ref: '#/components/parameters/AsyncResultTTL'
requestBody:
required: true
content:
application/json:
schema:
$ref: '../../schemas/inference/responses.yaml#/ResponsesRequest'
responses:
'202':
description: Job accepted for processing
content:
application/json:
schema:
$ref: '../../schemas/inference/async.yaml#/AsyncJobResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
async-embeddings:
post:
operationId: createAsyncEmbedding
summary: Create async embedding
description: |
Submits an embedding request for asynchronous execution. Returns a job ID immediately
with HTTP 202. Poll the corresponding GET endpoint with the job ID to retrieve the result.
tags:
- Async Jobs
parameters:
- $ref: '#/components/parameters/AsyncResultTTL'
requestBody:
required: true
content:
application/json:
schema:
$ref: '../../schemas/inference/embeddings.yaml#/EmbeddingRequest'
responses:
'202':
description: Job accepted for processing
content:
application/json:
schema:
$ref: '../../schemas/inference/async.yaml#/AsyncJobResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
async-speech:
post:
operationId: createAsyncSpeech
summary: Create async speech
description: |
Submits a speech synthesis request for asynchronous execution. Returns a job ID immediately
with HTTP 202. Poll the corresponding GET endpoint with the job ID to retrieve the result.
SSE streaming is not supported for async requests.
tags:
- Async Jobs
parameters:
- $ref: '#/components/parameters/AsyncResultTTL'
requestBody:
required: true
content:
application/json:
schema:
$ref: '../../schemas/inference/speech.yaml#/SpeechRequest'
responses:
'202':
description: Job accepted for processing
content:
application/json:
schema:
$ref: '../../schemas/inference/async.yaml#/AsyncJobResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
async-transcriptions:
post:
operationId: createAsyncTranscription
summary: Create async transcription
description: |
Submits a transcription request for asynchronous execution. Returns a job ID immediately
with HTTP 202. Poll the corresponding GET endpoint with the job ID to retrieve the result.
Streaming is not supported for async requests.
tags:
- Async Jobs
parameters:
- $ref: '#/components/parameters/AsyncResultTTL'
requestBody:
required: true
content:
multipart/form-data:
schema:
$ref: '../../schemas/inference/transcription.yaml#/TranscriptionRequest'
responses:
'202':
description: Job accepted for processing
content:
application/json:
schema:
$ref: '../../schemas/inference/async.yaml#/AsyncJobResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
async-image-generation:
post:
operationId: createAsyncImageGeneration
summary: Create async image generation
description: |
Submits an image generation request for asynchronous execution. Returns a job ID immediately
with HTTP 202. Poll the corresponding GET endpoint with the job ID to retrieve the result.
Streaming is not supported for async requests.
tags:
- Async Jobs
parameters:
- $ref: '#/components/parameters/AsyncResultTTL'
requestBody:
required: true
content:
application/json:
schema:
$ref: '../../schemas/inference/images.yaml#/ImageGenerationRequest'
responses:
'202':
description: Job accepted for processing
content:
application/json:
schema:
$ref: '../../schemas/inference/async.yaml#/AsyncJobResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
async-image-edit:
post:
operationId: createAsyncImageEdit
summary: Create async image edit
description: |
Submits an image edit request for asynchronous execution. Returns a job ID immediately
with HTTP 202. Poll the corresponding GET endpoint with the job ID to retrieve the result.
Streaming is not supported for async requests.
tags:
- Async Jobs
parameters:
- $ref: '#/components/parameters/AsyncResultTTL'
requestBody:
required: true
content:
multipart/form-data:
schema:
$ref: '../../schemas/inference/images.yaml#/ImageEditRequest'
responses:
'202':
description: Job accepted for processing
content:
application/json:
schema:
$ref: '../../schemas/inference/async.yaml#/AsyncJobResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
async-image-variation:
post:
operationId: createAsyncImageVariation
summary: Create async image variation
description: |
Submits an image variation request for asynchronous execution. Returns a job ID immediately
with HTTP 202. Poll the corresponding GET endpoint with the job ID to retrieve the result.
tags:
- Async Jobs
parameters:
- $ref: '#/components/parameters/AsyncResultTTL'
requestBody:
required: true
content:
multipart/form-data:
schema:
$ref: '../../schemas/inference/images.yaml#/ImageVariationRequest'
responses:
'202':
description: Job accepted for processing
content:
application/json:
schema:
$ref: '../../schemas/inference/async.yaml#/AsyncJobResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
# --- Retrieval endpoints ---
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
async-chat-completions-job:
get:
operationId: getAsyncChatCompletionJob
summary: Get async chat completion job
description: |
Retrieves the status and result of an async chat completion job.
Returns HTTP 202 if the job is still pending or processing, HTTP 200 if completed or failed.
tags:
- Async Jobs
parameters:
- $ref: '#/components/parameters/AsyncJobId'
responses:
'200':
description: Job completed (successfully or with failure)
content:
application/json:
schema:
$ref: '../../schemas/inference/async.yaml#/AsyncJobResponse'
'202':
description: Job is still pending or processing
content:
application/json:
schema:
$ref: '../../schemas/inference/async.yaml#/AsyncJobResponse'
'404':
description: Job not found or expired
content:
application/json:
schema:
$ref: '../../schemas/inference/common.yaml#/BifrostError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
async-text-completions-job:
get:
operationId: getAsyncTextCompletionJob
summary: Get async text completion job
description: |
Retrieves the status and result of an async text completion job.
Returns HTTP 202 if the job is still pending or processing, HTTP 200 if completed or failed.
tags:
- Async Jobs
parameters:
- $ref: '#/components/parameters/AsyncJobId'
responses:
'200':
description: Job completed (successfully or with failure)
content:
application/json:
schema:
$ref: '../../schemas/inference/async.yaml#/AsyncJobResponse'
'202':
description: Job is still pending or processing
content:
application/json:
schema:
$ref: '../../schemas/inference/async.yaml#/AsyncJobResponse'
'404':
description: Job not found or expired
content:
application/json:
schema:
$ref: '../../schemas/inference/common.yaml#/BifrostError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
async-responses-job:
get:
operationId: getAsyncResponseJob
summary: Get async response job
description: |
Retrieves the status and result of an async response job.
Returns HTTP 202 if the job is still pending or processing, HTTP 200 if completed or failed.
tags:
- Async Jobs
parameters:
- $ref: '#/components/parameters/AsyncJobId'
responses:
'200':
description: Job completed (successfully or with failure)
content:
application/json:
schema:
$ref: '../../schemas/inference/async.yaml#/AsyncJobResponse'
'202':
description: Job is still pending or processing
content:
application/json:
schema:
$ref: '../../schemas/inference/async.yaml#/AsyncJobResponse'
'404':
description: Job not found or expired
content:
application/json:
schema:
$ref: '../../schemas/inference/common.yaml#/BifrostError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
async-embeddings-job:
get:
operationId: getAsyncEmbeddingJob
summary: Get async embedding job
description: |
Retrieves the status and result of an async embedding job.
Returns HTTP 202 if the job is still pending or processing, HTTP 200 if completed or failed.
tags:
- Async Jobs
parameters:
- $ref: '#/components/parameters/AsyncJobId'
responses:
'200':
description: Job completed (successfully or with failure)
content:
application/json:
schema:
$ref: '../../schemas/inference/async.yaml#/AsyncJobResponse'
'202':
description: Job is still pending or processing
content:
application/json:
schema:
$ref: '../../schemas/inference/async.yaml#/AsyncJobResponse'
'404':
description: Job not found or expired
content:
application/json:
schema:
$ref: '../../schemas/inference/common.yaml#/BifrostError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
async-speech-job:
get:
operationId: getAsyncSpeechJob
summary: Get async speech job
description: |
Retrieves the status and result of an async speech job.
Returns HTTP 202 if the job is still pending or processing, HTTP 200 if completed or failed.
tags:
- Async Jobs
parameters:
- $ref: '#/components/parameters/AsyncJobId'
responses:
'200':
description: Job completed (successfully or with failure)
content:
application/json:
schema:
$ref: '../../schemas/inference/async.yaml#/AsyncJobResponse'
'202':
description: Job is still pending or processing
content:
application/json:
schema:
$ref: '../../schemas/inference/async.yaml#/AsyncJobResponse'
'404':
description: Job not found or expired
content:
application/json:
schema:
$ref: '../../schemas/inference/common.yaml#/BifrostError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
async-transcriptions-job:
get:
operationId: getAsyncTranscriptionJob
summary: Get async transcription job
description: |
Retrieves the status and result of an async transcription job.
Returns HTTP 202 if the job is still pending or processing, HTTP 200 if completed or failed.
tags:
- Async Jobs
parameters:
- $ref: '#/components/parameters/AsyncJobId'
responses:
'200':
description: Job completed (successfully or with failure)
content:
application/json:
schema:
$ref: '../../schemas/inference/async.yaml#/AsyncJobResponse'
'202':
description: Job is still pending or processing
content:
application/json:
schema:
$ref: '../../schemas/inference/async.yaml#/AsyncJobResponse'
'404':
description: Job not found or expired
content:
application/json:
schema:
$ref: '../../schemas/inference/common.yaml#/BifrostError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
async-image-generation-job:
get:
operationId: getAsyncImageGenerationJob
summary: Get async image generation job
description: |
Retrieves the status and result of an async image generation job.
Returns HTTP 202 if the job is still pending or processing, HTTP 200 if completed or failed.
tags:
- Async Jobs
parameters:
- $ref: '#/components/parameters/AsyncJobId'
responses:
'200':
description: Job completed (successfully or with failure)
content:
application/json:
schema:
$ref: '../../schemas/inference/async.yaml#/AsyncJobResponse'
'202':
description: Job is still pending or processing
content:
application/json:
schema:
$ref: '../../schemas/inference/async.yaml#/AsyncJobResponse'
'404':
description: Job not found or expired
content:
application/json:
schema:
$ref: '../../schemas/inference/common.yaml#/BifrostError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
async-image-edit-job:
get:
operationId: getAsyncImageEditJob
summary: Get async image edit job
description: |
Retrieves the status and result of an async image edit job.
Returns HTTP 202 if the job is still pending or processing, HTTP 200 if completed or failed.
tags:
- Async Jobs
parameters:
- $ref: '#/components/parameters/AsyncJobId'
responses:
'200':
description: Job completed (successfully or with failure)
content:
application/json:
schema:
$ref: '../../schemas/inference/async.yaml#/AsyncJobResponse'
'202':
description: Job is still pending or processing
content:
application/json:
schema:
$ref: '../../schemas/inference/async.yaml#/AsyncJobResponse'
'404':
description: Job not found or expired
content:
application/json:
schema:
$ref: '../../schemas/inference/common.yaml#/BifrostError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
async-image-variation-job:
get:
operationId: getAsyncImageVariationJob
summary: Get async image variation job
description: |
Retrieves the status and result of an async image variation job.
Returns HTTP 202 if the job is still pending or processing, HTTP 200 if completed or failed.
tags:
- Async Jobs
parameters:
- $ref: '#/components/parameters/AsyncJobId'
responses:
'200':
description: Job completed (successfully or with failure)
content:
application/json:
schema:
$ref: '../../schemas/inference/async.yaml#/AsyncJobResponse'
'202':
description: Job is still pending or processing
content:
application/json:
schema:
$ref: '../../schemas/inference/async.yaml#/AsyncJobResponse'
'404':
description: Job not found or expired
content:
application/json:
schema:
$ref: '../../schemas/inference/common.yaml#/BifrostError'
# --- Shared parameters ---
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
components:
parameters:
AsyncJobId:
name: job_id
in: path
required: true
description: The unique identifier of the async job
schema:
type: string
AsyncResultTTL:
name: x-bf-async-job-result-ttl
in: header
required: false
description: |
Time-to-live in seconds for the job result after completion. Defaults to 3600 (1 hour).
After expiry, the job result is automatically cleaned up.
schema:
type: integer
default: 3600

View File

@@ -0,0 +1,71 @@
speech:
post:
operationId: createSpeech
summary: Create speech
description: |
Generates audio from the input text. Returns audio data or streams via SSE.
tags:
- Audio
requestBody:
required: true
content:
application/json:
schema:
$ref: '../../schemas/inference/speech.yaml#/SpeechRequest'
responses:
'200':
description: Successful response
content:
audio/mpeg:
schema:
type: string
format: binary
application/json:
schema:
$ref: '../../schemas/inference/speech.yaml#/SpeechResponse'
text/event-stream:
schema:
$ref: '../../schemas/inference/speech.yaml#/SpeechStreamResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
transcriptions:
post:
operationId: createTranscription
summary: Create transcription
description: |
Transcribes audio into text in the input language.
tags:
- Audio
requestBody:
required: true
content:
multipart/form-data:
schema:
$ref: '../../schemas/inference/transcription.yaml#/TranscriptionRequest'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../schemas/inference/transcription.yaml#/TranscriptionResponse'
text/event-stream:
schema:
$ref: '../../schemas/inference/transcription.yaml#/TranscriptionStreamResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []

View File

@@ -0,0 +1,190 @@
batches:
post:
operationId: createBatch
summary: Create a batch job
description: |
Creates a batch job for asynchronous processing.
tags:
- Batch
requestBody:
required: true
content:
application/json:
schema:
$ref: '../../schemas/inference/batch.yaml#/BatchCreateRequest'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../schemas/inference/batch.yaml#/BatchCreateResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
get:
operationId: listBatches
summary: List batch jobs
description: |
Lists batch jobs for a provider.
tags:
- Batch
parameters:
- name: provider
in: query
required: true
description: Provider to list batches for
schema:
$ref: '../../schemas/inference/common.yaml#/ModelProvider'
- name: limit
in: query
description: Maximum number of batches to return
schema:
type: integer
minimum: 1
- name: after
in: query
description: Cursor for pagination
schema:
type: string
- name: before
in: query
description: Cursor for pagination
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../schemas/inference/batch.yaml#/BatchListResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
batches-by-id:
get:
operationId: retrieveBatch
summary: Retrieve a batch job
description: |
Retrieves a specific batch job by ID.
tags:
- Batch
parameters:
- name: batch_id
in: path
required: true
description: The ID of the batch to retrieve
schema:
type: string
- name: provider
in: query
required: true
description: The provider of the batch
schema:
$ref: '../../schemas/inference/common.yaml#/ModelProvider'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../schemas/inference/batch.yaml#/BatchRetrieveResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
batches-cancel:
post:
operationId: cancelBatch
summary: Cancel a batch job
description: |
Cancels a batch job.
tags:
- Batch
parameters:
- name: batch_id
in: path
required: true
description: The ID of the batch to cancel
schema:
type: string
- name: provider
in: query
required: true
description: The provider of the batch
schema:
$ref: '../../schemas/inference/common.yaml#/ModelProvider'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../schemas/inference/batch.yaml#/BatchCancelResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
batches-results:
get:
operationId: getBatchResults
summary: Get batch results
description: |
Retrieves results from a completed batch job.
tags:
- Batch
parameters:
- name: batch_id
in: path
required: true
description: The ID of the batch
schema:
type: string
- name: provider
in: query
required: true
description: The provider of the batch
schema:
$ref: '../../schemas/inference/common.yaml#/ModelProvider'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../schemas/inference/batch.yaml#/BatchResultsResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []

View File

@@ -0,0 +1,33 @@
chat-completions:
post:
operationId: createChatCompletion
summary: Create a chat completion
description: |
Creates a completion for the provided messages. Supports streaming via SSE.
tags:
- Chat Completions
requestBody:
required: true
content:
application/json:
schema:
$ref: '../../schemas/inference/chat.yaml#/ChatCompletionRequest'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../schemas/inference/chat.yaml#/ChatCompletionResponse'
text/event-stream:
schema:
$ref: '../../schemas/inference/chat.yaml#/ChatCompletionStreamResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []

View File

@@ -0,0 +1,390 @@
containers:
post:
operationId: createContainer
summary: Create a container
description: |
Creates a new container for storing files and data.
tags:
- Containers
requestBody:
required: true
content:
application/json:
schema:
$ref: '../../schemas/inference/containers.yaml#/ContainerCreateRequest'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../schemas/inference/containers.yaml#/ContainerCreateResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
get:
operationId: listContainers
summary: List containers
description: |
Lists containers for a provider.
tags:
- Containers
parameters:
- name: provider
in: query
required: true
description: Provider to list containers for
schema:
$ref: '../../schemas/inference/common.yaml#/ModelProvider'
- name: limit
in: query
description: Maximum number of containers to return (1-100, default 20)
schema:
type: integer
minimum: 1
limit: 200
maximum: 100
- name: after
in: query
description: Cursor for pagination
schema:
type: string
- name: order
in: query
description: Sort order (asc/desc)
schema:
type: string
enum: [asc, desc]
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../schemas/inference/containers.yaml#/ContainerListResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
containers-by-id:
get:
operationId: retrieveContainer
summary: Retrieve a container
description: |
Retrieves a specific container by ID.
tags:
- Containers
parameters:
- name: container_id
in: path
required: true
description: The ID of the container to retrieve
schema:
type: string
- name: provider
in: query
required: true
description: The provider of the container
schema:
$ref: '../../schemas/inference/common.yaml#/ModelProvider'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../schemas/inference/containers.yaml#/ContainerRetrieveResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
delete:
operationId: deleteContainer
summary: Delete a container
description: |
Deletes a container.
tags:
- Containers
parameters:
- name: container_id
in: path
required: true
description: The ID of the container to delete
schema:
type: string
- name: provider
in: query
required: true
description: The provider of the container
schema:
$ref: '../../schemas/inference/common.yaml#/ModelProvider'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../schemas/inference/containers.yaml#/ContainerDeleteResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
# =============================================================================
# CONTAINER FILES ENDPOINTS
# =============================================================================
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
container-files:
post:
operationId: createContainerFile
summary: Create a file in a container
description: |
Creates a new file in a container. You can either upload file content directly
via multipart/form-data or reference an existing file by its ID.
tags:
- Containers
parameters:
- name: container_id
in: path
required: true
description: The ID of the container
schema:
type: string
- name: provider
in: query
required: true
description: The provider of the container
schema:
$ref: '../../schemas/inference/common.yaml#/ModelProvider'
requestBody:
required: true
content:
multipart/form-data:
schema:
$ref: '../../schemas/inference/containers.yaml#/ContainerFileCreateMultipartRequest'
application/json:
schema:
$ref: '../../schemas/inference/containers.yaml#/ContainerFileCreateJsonRequest'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../schemas/inference/containers.yaml#/ContainerFileCreateResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
get:
operationId: listContainerFiles
summary: List files in a container
description: |
Lists all files in a container.
tags:
- Containers
parameters:
- name: container_id
in: path
required: true
description: The ID of the container
schema:
type: string
- name: provider
in: query
required: true
description: The provider of the container
schema:
$ref: '../../schemas/inference/common.yaml#/ModelProvider'
- name: limit
in: query
description: Maximum number of files to return
schema:
type: integer
minimum: 1
maximum: 100
- name: after
in: query
description: Cursor for pagination
schema:
type: string
- name: order
in: query
description: Sort order (asc/desc)
schema:
type: string
enum: [asc, desc]
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../schemas/inference/containers.yaml#/ContainerFileListResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
container-files-by-id:
get:
operationId: retrieveContainerFile
summary: Retrieve a file from a container
description: |
Retrieves metadata for a specific file in a container.
tags:
- Containers
parameters:
- name: container_id
in: path
required: true
description: The ID of the container
schema:
type: string
- name: file_id
in: path
required: true
description: The ID of the file
schema:
type: string
- name: provider
in: query
required: true
description: The provider of the container
schema:
$ref: '../../schemas/inference/common.yaml#/ModelProvider'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../schemas/inference/containers.yaml#/ContainerFileRetrieveResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
delete:
operationId: deleteContainerFile
summary: Delete a file from a container
description: |
Deletes a file from a container.
tags:
- Containers
parameters:
- name: container_id
in: path
required: true
description: The ID of the container
schema:
type: string
- name: file_id
in: path
required: true
description: The ID of the file to delete
schema:
type: string
- name: provider
in: query
required: true
description: The provider of the container
schema:
$ref: '../../schemas/inference/common.yaml#/ModelProvider'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../schemas/inference/containers.yaml#/ContainerFileDeleteResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
container-files-content:
get:
operationId: getContainerFileContent
summary: Download file content from a container
description: |
Downloads the content of a file from a container.
tags:
- Containers
parameters:
- name: container_id
in: path
required: true
description: The ID of the container
schema:
type: string
- name: file_id
in: path
required: true
description: The ID of the file
schema:
type: string
- name: provider
in: query
required: true
description: The provider of the container
schema:
$ref: '../../schemas/inference/common.yaml#/ModelProvider'
responses:
'200':
description: Successful response
content:
application/octet-stream:
schema:
type: string
format: binary
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []

View File

@@ -0,0 +1,30 @@
count-tokens:
post:
operationId: countTokens
summary: Count tokens
description: |
Counts the number of tokens in the provided messages.
tags:
- Count Tokens
requestBody:
required: true
content:
application/json:
schema:
$ref: '../../schemas/inference/count-tokens.yaml#/CountTokensRequest'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../schemas/inference/count-tokens.yaml#/CountTokensResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []

View File

@@ -0,0 +1,30 @@
embeddings:
post:
operationId: createEmbedding
summary: Create embeddings
description: |
Creates an embedding vector representing the input text.
tags:
- Embeddings
requestBody:
required: true
content:
application/json:
schema:
$ref: '../../schemas/inference/embeddings.yaml#/EmbeddingRequest'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../schemas/inference/embeddings.yaml#/EmbeddingResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []

View File

@@ -0,0 +1,201 @@
files:
post:
operationId: uploadFile
summary: Upload a file
description: |
Uploads a file to be used with batch operations or other features.
tags:
- Files
parameters:
- name: provider
in: query
description: Provider to upload file to (can also use x-model-provider header)
schema:
$ref: '../../schemas/inference/common.yaml#/ModelProvider'
requestBody:
required: true
content:
multipart/form-data:
schema:
$ref: '../../schemas/inference/files.yaml#/FileUploadRequest'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../schemas/inference/files.yaml#/FileUploadResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
get:
operationId: listFiles
summary: List files
description: |
Lists files for a provider.
tags:
- Files
parameters:
- name: x-model-provider
in: query
required: true
description: Provider to list files for
schema:
$ref: '../../schemas/inference/common.yaml#/ModelProvider'
- name: purpose
in: query
description: Filter by purpose
schema:
$ref: '../../schemas/inference/files.yaml#/FilePurpose'
- name: limit
in: query
description: Maximum number of files to return
schema:
type: integer
minimum: 1
- name: after
in: query
description: Cursor for pagination
schema:
type: string
- name: order
in: query
description: Sort order (asc/desc)
schema:
type: string
enum: [asc, desc]
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../schemas/inference/files.yaml#/FileListResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
files-by-id:
get:
operationId: retrieveFile
summary: Retrieve file metadata
description: |
Retrieves metadata for a specific file.
tags:
- Files
parameters:
- name: file_id
in: path
required: true
description: The ID of the file
schema:
type: string
- name: provider
in: query
required: true
description: The provider of the file
schema:
$ref: '../../schemas/inference/common.yaml#/ModelProvider'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../schemas/inference/files.yaml#/FileRetrieveResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
delete:
operationId: deleteFile
summary: Delete a file
description: |
Deletes a file.
tags:
- Files
parameters:
- name: file_id
in: path
required: true
description: The ID of the file to delete
schema:
type: string
- name: provider
in: query
required: true
description: The provider of the file
schema:
$ref: '../../schemas/inference/common.yaml#/ModelProvider'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../schemas/inference/files.yaml#/FileDeleteResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
files-content:
get:
operationId: getFileContent
summary: Download file content
description: |
Downloads the content of a file.
tags:
- Files
parameters:
- name: file_id
in: path
required: true
description: The ID of the file
schema:
type: string
- name: provider
in: query
required: true
description: The provider of the file
schema:
$ref: '../../schemas/inference/common.yaml#/ModelProvider'
responses:
'200':
description: Successful response
content:
application/octet-stream:
schema:
type: string
format: binary
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []

View File

@@ -0,0 +1,112 @@
# Image Generation Endpoints
image-generation:
post:
operationId: imageGeneration
summary: Generate an image
description: |
Generates images from text prompts using the specified model.
tags:
- Images
requestBody:
required: true
content:
application/json:
schema:
$ref: '../../schemas/inference/images.yaml#/ImageGenerationRequest'
responses:
'200':
description: |
Successful response. Returns JSON for non-streaming requests, or Server-Sent Events (SSE) stream when `stream=true`.
When streaming, events are sent with the following event types:
- `image_generation.partial_image`: Intermediate image chunks with base64-encoded image data
- `image_generation.completed`: Final event for each image with usage information
- `error`: Error events with error details
content:
application/json:
schema:
$ref: '../../schemas/inference/images.yaml#/ImageGenerationResponse'
text/event-stream:
schema:
$ref: '../../schemas/inference/images.yaml#/ImageGenerationStreamResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
image-edit:
post:
operationId: imageEdit
summary: Edit an image
description: |
Edits an image using a text prompt and optional mask. Request must be sent as multipart/form-data
with at least `model`, `prompt` (unless `type` is `background_removal`), and `image` (or `image[]`).
tags:
- Images
requestBody:
required: true
content:
multipart/form-data:
schema:
$ref: '../../schemas/inference/images.yaml#/ImageEditRequest'
responses:
'200':
description: |
Successful response. Returns JSON for non-streaming requests, or Server-Sent Events (SSE) stream when `stream=true`.
When streaming, events are sent with the following event types:
- `image_edit.partial_image`: Intermediate image chunks with base64-encoded image data
- `image_edit.completed`: Final event for each image with usage information
- `error`: Error events with error details
content:
application/json:
schema:
$ref: '../../schemas/inference/images.yaml#/ImageGenerationResponse'
text/event-stream:
schema:
$ref: '../../schemas/inference/images.yaml#/ImageEditStreamResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
image-variation:
post:
operationId: imageVariation
summary: Create Variation
description: |
Creates variations of an image. Request must be sent as multipart/form-data with `model` and `image` (or `image[]`).
Does not support streaming.
tags:
- Images
requestBody:
required: true
content:
multipart/form-data:
schema:
$ref: '../../schemas/inference/images.yaml#/ImageVariationRequest'
responses:
'200':
description: Successful response. Returns JSON with generated image variation(s).
content:
application/json:
schema:
$ref: '../../schemas/inference/images.yaml#/ImageGenerationResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []

View File

@@ -0,0 +1,41 @@
models:
get:
operationId: listModels
summary: List available models
description: |
Lists available models. If provider is not specified, lists all models from all configured providers.
tags:
- Models
parameters:
- name: provider
in: query
description: Filter by provider (e.g., openai, anthropic, bedrock)
schema:
$ref: '../../schemas/inference/common.yaml#/ModelProvider'
- name: page_size
in: query
description: Maximum number of models to return
schema:
type: integer
minimum: 0
- name: page_token
in: query
description: Token for pagination
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../schemas/inference/models.yaml#/ListModelsResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []

View File

@@ -0,0 +1,30 @@
rerank:
post:
operationId: rerankDocuments
summary: Rerank documents
description: |
Reorders input documents by relevance to a query.
tags:
- Rerank
requestBody:
required: true
content:
application/json:
schema:
$ref: '../../schemas/inference/rerank.yaml#/RerankRequest'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../schemas/inference/rerank.yaml#/RerankResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []

View File

@@ -0,0 +1,33 @@
responses:
post:
operationId: createResponse
summary: Create a response
description: |
Creates a response using the OpenAI Responses API format. Supports streaming via SSE.
tags:
- Responses
requestBody:
required: true
content:
application/json:
schema:
$ref: '../../schemas/inference/responses.yaml#/ResponsesRequest'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../schemas/inference/responses.yaml#/ResponsesResponse'
text/event-stream:
schema:
$ref: '../../schemas/inference/responses.yaml#/ResponsesStreamResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []

View File

@@ -0,0 +1,33 @@
text-completions:
post:
operationId: createTextCompletion
summary: Create a text completion
description: |
Creates a completion for the provided prompt. Supports streaming via SSE.
tags:
- Text Completions
requestBody:
required: true
content:
application/json:
schema:
$ref: '../../schemas/inference/text.yaml#/TextCompletionRequest'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../schemas/inference/text.yaml#/TextCompletionResponse'
text/event-stream:
schema:
$ref: '../../schemas/inference/text.yaml#/TextCompletionStreamResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []

View File

@@ -0,0 +1,311 @@
# 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: []