openapi: 3.2.0 info: title: Octen Ai Videos API version: 1.0.0 description: 'Operations tagged Videos across 2 of this provider''s published API definitions: octen-ai-openapi.json, octen-ai-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: https://api.octen.ai security: - bearerAuth: [] - apiKeyAuth: [] tags: - name: Videos paths: /v1/videos: post: summary: Generate a video description: Generates a video from a text prompt, optionally guided by reference images. operationId: post-video x-mint: href: /api-reference/post-video metadata: title: Video Generation sidebarTitle: Video Generation requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/VideoGenerationRequest' responses: '200': description: Successful video generation response. The task starts in `queued`. content: application/json: schema: $ref: '#/components/schemas/VideoGenerationResponse' '400': description: Missing or invalid parameter content: application/json: schema: $ref: '#/components/schemas/OpenAIErrorResponse' '401': description: Invalid API Key content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Insufficient balance in account content: application/json: schema: $ref: '#/components/schemas/OpenAIErrorResponse' '404': description: Model or resource not found content: application/json: schema: $ref: '#/components/schemas/OpenAIErrorResponse' '429': description: Exceeding the rate limit content: application/json: schema: $ref: '#/components/schemas/OpenAIErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/OpenAIErrorResponse' tags: - Videos servers: - url: https://api.octen.ai /v1/videos/{id}: get: summary: Download a video description: Returns a video generation task by id. operationId: get-video x-mint: href: /api-reference/get-video metadata: title: Video Download sidebarTitle: Video Download parameters: - name: id in: path required: true schema: type: string example: video-1756789012-abc123 description: The task id returned by the Video Generation API. responses: '200': description: Successful video task response content: application/json: schema: $ref: '#/components/schemas/VideoTask' '401': description: Invalid API Key content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Video task not found content: application/json: schema: $ref: '#/components/schemas/OpenAIErrorResponse' '429': description: Exceeding the rate limit content: application/json: schema: $ref: '#/components/schemas/OpenAIErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/OpenAIErrorResponse' tags: - Videos servers: - url: https://api.octen.ai components: schemas: VideoGenerationRequest: type: object required: - model - prompt description: JSON request body for the Video Generation API. properties: model: type: string enum: - minimax/minimax-h3 - bytedance/seedance-2.5 - google/veo-3.1 - google/veo-3.1-fast - google/veo-3.1-lite description: The model to use. prompt: type: string description: The text description of the video. duration: type: integer description: Video length in seconds. When omitted, the model default applies. resolution: type: string enum: - 480p - 720p - 768p - 1080p - 2K description: Output resolution. When omitted, the model default applies. aspect_ratio: type: string enum: - '16:9' - '4:3' - '1:1' - '3:4' - '9:16' - '21:9' - adaptive description: Aspect ratio. `adaptive` lets the model follow the input. When omitted, the model default applies. frame_images: type: array items: $ref: '#/components/schemas/VideoFrameImage' description: Images to use as the first and last frames of the video. input_references: type: array items: $ref: '#/components/schemas/VideoInputReference' description: Reference images that guide generation without locking specific frames. generate_audio: type: boolean default: true description: Whether to generate audio along with the video. seed: type: integer description: Random seed, for more reproducible results. extra_params: type: object additionalProperties: true description: Vendor-specific parameters, passed through to the upstream model without validation. Keys that duplicate a unified parameter, or that control upstream storage, notification, sample count, or platform behavior, are rejected. OpenAIErrorResponse: type: object description: Error body in the OpenAI protocol format. required: - error properties: error: type: object properties: message: type: string description: A human-readable description of the error. type: type: string description: The error category, e.g. `invalid_request_error`. param: type: string nullable: true description: The parameter related to the error, if any. code: type: string nullable: true description: A machine-readable error code, if any. required: - message - type VideoTask: type: object required: - id - model - status - created properties: id: type: string description: Unique task id, used to download the video. model: type: string description: The model used for this task. status: type: string enum: - queued - in_progress - completed - failed description: Task state. created: type: integer description: Unix timestamp in seconds when the task was created. video_url: type: string description: Signed download URL for the video file, present when `status` is `completed`. Valid for 7 days after generation. expires_at: type: integer description: Unix timestamp in seconds when `video_url` expires. Present when `status` is `completed`. duration: type: integer description: Length of the generated video in seconds. Present when `status` is `completed`. resolution: type: string description: Resolution of the generated video. Present when `status` is `completed`. usage: $ref: '#/components/schemas/VideoUsage' error: type: string description: Failure reason, present when `status` is `failed`. code: type: string description: Machine-readable failure code, present when `status` is `failed`. VideoFrameImage: type: object required: - image - frame_type properties: image: type: string description: Image URL or base64 data. frame_type: type: string enum: - first_frame - last_frame description: Whether the image is the first or the last frame. VideoUsage: type: object description: Metering for the task. Present only when `status` is `completed`. properties: video_seconds: type: integer description: Video length in seconds. video_tokens: type: integer description: Billed token count. input_image_count: type: integer description: Number of input images, returned when images were supplied. VideoGenerationResponse: type: object required: - id - model - status - created properties: id: type: string description: Unique task id, used to download the video. model: type: string description: The model used for this task. status: type: string enum: - queued description: Task state. created: type: integer description: Unix timestamp in seconds when the task was created. ErrorResponse: type: object properties: code: type: integer description: Business status code. Non-zero values indicate an error. msg: type: string description: A message describing the error. request_id: type: string description: Unique identifier for the request. required: - code - msg - request_id VideoInputReference: type: object required: - image properties: image: type: string description: Image URL or base64 data. securitySchemes: bearerAuth: type: http scheme: bearer description: 'Bearer token used for request authentication. Alternatively, you can send the API key in the `x-api-key` header. Note: A payment method is required to use the API.' apiKeyAuth: type: apiKey in: header name: x-api-key description: 'API key used for request authentication. Alternatively, you can send the key as a Bearer token in the `Authorization` header. Note: A payment method is required to use the API.' bearerAuthNoPayment: type: http scheme: bearer description: Bearer token used for request authentication. Alternatively, you can send the API key in the `x-api-key` header. apiKeyAuthNoPayment: type: apiKey in: header name: x-api-key description: API key used for request authentication. Alternatively, you can send the key as a Bearer token in the `Authorization` header. x-refined-from: - octen-ai-openapi.json - octen-ai-openapi.yml