### Example Video Generation Request Body (YAML) Source: https://github.com/docs.argil.ai/llmstxt/blob/_llmstxt_/api-reference/endpoint/videos.create This snippet provides an example of the request body structure used to initiate a video generation task. It demonstrates how to specify video name, moments (with transcript, avatar, voice, etc.), subtitles, aspect ratio, auto b-rolls configuration, optional extras, and background music settings. ```YAML name: moments: - transcript: avatarId: voiceId: gestureSlug: audioUrl: zoom: level: 1 subtitles: enable: true aspectRatio: '16:9' enableAutoBrolls: true autoBrolls: enable: true source: GENERATION intensity: LOW extras: {} backgroundMusic: assetId: volume: 0.5 ``` -------------------------------- ### Example of More Dynamic Scripting with Zoom Source: https://github.com/docs.argil.ai/llmstxt/blob/_llmstxt_/resources/editingtips This snippet demonstrates breaking a sentence into two clips and adding a '[zoom in]' instruction, illustrating a more dynamic approach to editing that adds emphasis and visual interest. ```text And at the end of his conquest [zoom in] He was named king ``` -------------------------------- ### Example of Less Dynamic Scripting Source: https://github.com/docs.argil.ai/llmstxt/blob/_llmstxt_/resources/editingtips This snippet shows a single-clip sentence structure, which is presented as less dynamic for video editing compared to breaking it into shorter clips for emphasis or transitions. ```text And at the end of his conquest, he was named king ``` -------------------------------- ### OpenAPI Specification for GET /assets/{id} Source: https://github.com/docs.argil.ai/llmstxt/blob/_llmstxt_/api-reference/endpoint/assets.get Defines the OpenAPI path item object for the GET method on the /assets/{id} endpoint. It specifies the required path parameter 'id', the security scheme (ApiKeyAuth via x-api-key header), and the possible responses (200 for success with asset details, 404 for not found). ```yaml paths: path: /assets/{id} method: get servers: - url: https://api.argil.ai/v1 request: security: - title: ApiKeyAuth parameters: query: {} header: x-api-key: type: apiKey description: API key to be included in the x-api-key header cookie: {} parameters: path: id: schema: - type: string required: true description: The id of the Asset to retrieve query: {} header: {} cookie: {} body: {} response: '200': application/json: schemaArray: - type: object properties: id: allOf: - type: string format: uuid name: allOf: - type: string type: allOf: - type: string enum: - AUDIO fileUrl: allOf: - type: string description: URL to access the asset examples: example: value: id: 3c90c3cc-0d44-4b50-8888-8dd25736052a name: type: AUDIO fileUrl: description: Detailed information about the Asset '404': application/json: schemaArray: - type: object properties: code: allOf: - type: integer format: int32 message: allOf: - type: string examples: example: value: code: 123 message: description: Asset not found deprecated: false type: path components: schemas: {} ``` -------------------------------- ### Define GET /videos Endpoint - OpenAPI YAML Source: https://github.com/docs.argil.ai/llmstxt/blob/_llmstxt_/api-reference/endpoint/videos.list Defines the OpenAPI specification for the GET /videos endpoint. It includes details on the API key security, available query parameters for pagination and filtering (page, limit, nameSearchQuery, avatarId, voiceId, extrasFilter), and the schema for the successful 200 response (paginated list of videos) and the 400 error response. ```YAML paths: path: /videos method: get servers: - url: https://api.argil.ai/v1 request: security: - title: ApiKeyAuth parameters: query: {} header: x-api-key: type: apiKey description: API key to be included in the x-api-key header cookie: {} parameters: path: {} query: page: schema: - type: integer required: false description: Page number of the video list default: 1 limit: schema: - type: integer required: false description: Number of videos per page default: 10 nameSearchQuery: schema: - type: string required: false description: Filter videos by name, case-insensitive substring match. avatarId: schema: - type: string required: false description: Filter videos by avatar ID. voiceId: schema: - type: string required: false description: Filter videos by voice ID. extrasFilter: schema: - type: string required: false description: >- A JSON string representing filters to apply on the extras JSON field. Must be a valid JSON object as a string, specifying properties and values to match. example: '{"X_ID": "YOUR_CUSTOM_ID"}' header: {} cookie: {} body: {} response: '200': application/json: schemaArray: - type: object properties: totalItems: allOf: - type: integer description: Total number of videos available totalPages: allOf: - type: integer description: Total number of pages currentPage: allOf: - type: integer description: Current page number itemsPerPage: allOf: - type: integer description: Number of items per page videos: allOf: - type: array items: $ref: '#/components/schemas/Video' examples: example: value: totalItems: 123 totalPages: 123 currentPage: 123 itemsPerPage: 123 videos: - id: 3c90c3cc-0d44-4b50-8888-8dd25736052a name: createdAt: '2023-11-07T05:31:56Z' updatedAt: '2023-11-07T05:31:56Z' status: moments: - transcript: avatarId: voiceId: audioUrl: videoUrl: gestureSlug: videoUrl: videoUrlSubtitled: subtitles: enable: true extras: {} description: A paginated list of Videos '400': application/json: schemaArray: - type: object properties: code: allOf: - type: integer format: int32 message: allOf: - type: string examples: example: value: code: 123 message: description: Unexpected error deprecated: false type: path components: schemas: Video: type: object properties: id: type: string format: uuid name: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time status: type: string description: >- Can be either `IDLE`, `GENERATING_AUDIO`, `GENERATING_VIDEO`, `DONE` or `FAILED`. moments: type: array description: >- An array of Moment items, each representing a portion of the complete video. items: type: object properties: transcript: type: string description: >- A portion of the complete transcript. Current limit: 250 characters. avatarId: type: string description: The id of the avatar to be used for this moment. voiceId: type: string ``` -------------------------------- ### OpenAPI Definition for Get Voice by ID Source: https://github.com/docs.argil.ai/llmstxt/blob/_llmstxt_/api-reference/endpoint/voices.get This YAML snippet defines the structure and behavior of the GET /voices/{id} API endpoint. It specifies the path, HTTP method, server URL, required API key security in the header, the mandatory 'id' path parameter, and the expected response schemas for both success (200) and not found (404) cases. ```yaml paths: path: /voices/{id} method: get servers: - url: https://api.argil.ai/v1 request: security: - title: ApiKeyAuth parameters: query: {} header: x-api-key: type: apiKey description: API key to be included in the x-api-key header cookie: {} parameters: path: id: schema: - type: string required: true description: The id of the Voice to retrieve query: {} header: {} cookie: {} body: {} response: '200': application/json: schemaArray: - type: object properties: id: allOf: - type: string format: uuid name: allOf: - type: string createAt: allOf: - type: string format: date-time updatedAt: allOf: - type: string format: date-time status: allOf: - type: string sampleUrl: allOf: - type: string examples: example: value: id: 3c90c3cc-0d44-4b50-8888-8dd25736052a name: createAt: '2023-11-07T05:31:56Z' updatedAt: '2023-11-07T05:31:56Z' status: sampleUrl: description: Detailed information about the Voice '404': application/json: schemaArray: - type: object properties: code: allOf: - type: integer format: int32 message: allOf: - type: string examples: example: value: code: 123 message: description: Voice not found deprecated: false type: path components: schemas: {} ``` -------------------------------- ### OpenAPI Specification for GET /avatars Source: https://github.com/docs.argil.ai/llmstxt/blob/_llmstxt_/api-reference/endpoint/avatars.list This YAML snippet provides the OpenAPI definition for the GET /avatars endpoint. It specifies the path, method, security requirements (API key), response structures for success (200) and error (400), and defines the schemas for the Avatar and AvatarStatus objects returned in the response. ```YAML paths: path: /avatars method: get servers: - url: https://api.argil.ai/v1 request: security: - title: ApiKeyAuth parameters: query: {} header: x-api-key: type: apiKey description: API key to be included in the x-api-key header cookie: {} parameters: path: {} query: {} header: {} cookie: {} body: {} response: '200': application/json: schemaArray: - type: array items: allOf: - $ref: '#/components/schemas/Avatar' examples: example: value: - id: 3c90c3cc-0d44-4b50-8888-8dd25736052a name: createAt: '2023-11-07T05:31:56Z' updatedAt: '2023-11-07T05:31:56Z' gestures: - label: slug: startFrame: 123 status: NOT_TRAINED width: 123 height: 123 thumbnailUrl: coverImageUrl: extras: {} description: An array of avatars '400': application/json: schemaArray: - type: object properties: code: allOf: - type: integer format: int32 message: allOf: - type: string examples: example: value: code: 123 message: description: Unexpected error deprecated: false type: path components: schemas: AvatarStatus: type: string enum: - NOT_TRAINED - TRAINING - TRAINING_FAILED - IDLE - REFUSED description: | * NOT_TRAINED - Initial state after creation * TRAINING - Avatar is currently training * TRAINING_FAILED - Training process failed * IDLE - Avatar is ready to use * REFUSED - Avatar was refused by moderation Avatar: type: object properties: id: type: string format: uuid name: type: string createAt: type: string format: date-time updatedAt: type: string format: date-time gestures: type: array description: A list of labelized gestures available for your avatar. items: type: object properties: label: type: string description: A label for user readability. Can be setup from the app's UI. slug: type: string description: >- Allows identifying the gesture when using it for a specific moment. startFrame: type: number description: >- The startFrame of the source Avatar video to be used as start for the video template. status: $ref: '#/components/schemas/AvatarStatus' width: type: integer height: type: integer thumbnailUrl: type: string description: The url of the thumbnail of the avatar (low resolution). coverImageUrl: type: string description: The url of the cover image of the avatar (high resolution). extras: type: object description: >- A dictionary of custom key-value pairs to extend the Avatar metadata. Maximum of 5 key-value pairs of 256 characters allowed. additionalProperties: type: string maxProperties: 10 ``` -------------------------------- ### OpenAPI Specification for List Assets Endpoint Source: https://github.com/docs.argil.ai/llmstxt/blob/_llmstxt_/api-reference/endpoint/assets.list This YAML snippet defines the OpenAPI specification for the GET /assets endpoint. It details the path, method, server URL, security requirements (API key), request parameters (none required), and possible responses (200 OK with an array of Asset objects, and 400 for errors). It also includes the schema definition for the Asset object. ```yaml paths: path: /assets method: get servers: - url: https://api.argil.ai/v1 request: security: - title: ApiKeyAuth parameters: query: {} header: x-api-key: type: apiKey description: API key to be included in the x-api-key header cookie: {} parameters: path: {} query: {} header: {} cookie: {} body: {} response: '200': application/json: schemaArray: - type: array items: allOf: - $ref: '#/components/schemas/Asset' examples: example: value: - id: 3c90c3cc-0d44-4b50-8888-8dd25736052a name: type: AUDIO fileUrl: description: An array of audio assets '400': application/json: schemaArray: - type: object properties: code: allOf: - type: integer format: int32 message: allOf: - type: string examples: example: value: code: 123 message: description: Unexpected error deprecated: false type: path components: schemas: Asset: type: object properties: id: type: string format: uuid name: type: string type: type: string enum: - AUDIO fileUrl: type: string description: URL to access the asset ``` -------------------------------- ### OpenAPI Specification for Retrieving Webhooks Source: https://github.com/docs.argil.ai/llmstxt/blob/_llmstxt_/api-reference/endpoint/webhooks.list This YAML snippet defines the OpenAPI specification for the GET /webhooks endpoint. It includes details about the path, method, server URL, security scheme (API key in header), request parameters (none required), and possible responses (200 for success with an array of Webhook objects, 400 for errors). It also defines the Webhook and WebhookEventSchema components. ```yaml paths: path: /webhooks method: get servers: - url: https://api.argil.ai/v1 request: security: - title: ApiKeyAuth parameters: query: {} header: x-api-key: type: apiKey description: API key to be included in the x-api-key header cookie: {} parameters: path: {} query: {} header: {} cookie: {} body: {} response: '200': application/json: schemaArray: - type: array items: allOf: - $ref: '#/components/schemas/Webhook' examples: example: value: - id: 3c90c3cc-0d44-4b50-8888-8dd25736052a callbackUrl: events: - AVATAR_TRAINING_SUCCESS createAt: '2023-11-07T05:31:56Z' updatedAt: '2023-11-07T05:31:56Z' lastTriggeredAt: '2023-11-07T05:31:56Z' description: An array of webhooks '400': application/json: schemaArray: - type: object properties: code: allOf: - type: integer format: int32 message: allOf: - type: string examples: example: value: code: 123 message: description: Unexpected error deprecated: false type: path components: schemas: Webhook: type: object properties: id: type: string format: uuid callbackUrl: type: string events: $ref: '#/components/schemas/WebhookEventSchema' createAt: type: string format: date-time updatedAt: type: string format: date-time lastTriggeredAt: type: string format: date-time WebhookEventSchema: type: array description: List of events the webhook is subscribing to. items: type: string enum: - AVATAR_TRAINING_SUCCESS - AVATAR_TRAINING_FAILED - VIDEO_GENERATION_SUCCESS - VIDEO_GENERATION_FAILED minItems: 1 ``` -------------------------------- ### OpenAPI Specification for List Voices Endpoint Source: https://github.com/docs.argil.ai/llmstxt/blob/_llmstxt_/api-reference/endpoint/voices.list Defines the OpenAPI specification for the GET /voices endpoint. It details the path, method, security requirements (API key in header), parameters, and expected responses (200 with an array of Voice objects and 400 for errors), including schema definitions for the Voice object and error responses. ```yaml paths: path: /voices method: get servers: - url: https://api.argil.ai/v1 request: security: - title: ApiKeyAuth parameters: query: {} header: x-api-key: type: apiKey description: API key to be included in the x-api-key header cookie: {} parameters: path: {} query: {} header: {} cookie: {} body: {} response: '200': application/json: schemaArray: - type: array items: allOf: - $ref: '#/components/schemas/Voice' examples: example: value: - id: 3c90c3cc-0d44-4b50-8888-8dd25736052a name: createAt: '2023-11-07T05:31:56Z' updatedAt: '2023-11-07T05:31:56Z' status: sampleUrl: description: An array of voices '400': application/json: schemaArray: - type: object properties: code: allOf: - type: integer format: int32 message: allOf: - type: string examples: example: value: code: 123 message: description: Unexpected error deprecated: false type: path components: schemas: Voice: type: object properties: id: type: string format: uuid name: type: string createAt: type: string format: date-time updatedAt: type: string format: date-time status: type: string sampleUrl: type: string ``` -------------------------------- ### Get Avatar by ID - OpenAPI YAML Source: https://github.com/docs.argil.ai/llmstxt/blob/_llmstxt_/api-reference/endpoint/avatars.get This YAML snippet defines the OpenAPI specification for the GET /avatars/{id} endpoint. It details the path parameter 'id', security requirements using an API key, and the structure of the successful (200) and not found (404) responses, including the schema for the Avatar object and its properties like id, name, gestures, status, dimensions, URLs, and extras, as well as the definition for the AvatarStatus enum. ```yaml paths: path: /avatars/{id} method: get servers: - url: https://api.argil.ai/v1 request: security: - title: ApiKeyAuth parameters: query: {} header: x-api-key: type: apiKey description: API key to be included in the x-api-key header cookie: {} parameters: path: id: schema: - type: string required: true description: The id of the Avatar to retrieve query: {} header: {} cookie: {} body: {} response: '200': application/json: schemaArray: - type: object properties: id: allOf: - type: string format: uuid name: allOf: - type: string createAt: allOf: - type: string format: date-time updatedAt: allOf: - type: string format: date-time gestures: allOf: - type: array description: A list of labelized gestures available for your avatar. items: type: object properties: label: type: string description: >- A label for user readability. Can be setup from the app's UI. slug: type: string description: >- Allows identifying the gesture when using it for a specific moment. startFrame: type: number description: >- The startFrame of the source Avatar video to be used as start for the video template. status: allOf: - $ref: '#/components/schemas/AvatarStatus' width: allOf: - type: integer height: allOf: - type: integer thumbnailUrl: allOf: - type: string description: The url of the thumbnail of the avatar (low resolution). coverImageUrl: allOf: - type: string description: >- The url of the cover image of the avatar (high resolution). extras: allOf: - type: object description: >- A dictionary of custom key-value pairs to extend the Avatar metadata. Maximum of 5 key-value pairs of 256 characters allowed. additionalProperties: type: string maxProperties: 10 examples: example: value: id: 3c90c3cc-0d44-4b50-8888-8dd25736052a name: createAt: '2023-11-07T05:31:56Z' updatedAt: '2023-11-07T05:31:56Z' gestures: - label: slug: startFrame: 123 status: NOT_TRAINED width: 123 height: 123 thumbnailUrl: coverImageUrl: extras: {} description: Detailed information about the Avatar '404': application/json: schemaArray: - type: object properties: code: allOf: - type: integer format: int32 message: allOf: - type: string examples: example: value: code: 123 message: description: Avatar not found deprecated: false type: path components: schemas: AvatarStatus: type: string enum: - NOT_TRAINED - TRAINING - TRAINING_FAILED - IDLE - REFUSED description: |- * NOT_TRAINED - Initial state after creation * TRAINING - Avatar is currently training * TRAINING_FAILED - Training process failed * IDLE - Avatar is ready to use * REFUSED - Avatar was refused by moderation ``` -------------------------------- ### Retrieving Video Details via OpenAPI YAML Source: https://github.com/docs.argil.ai/llmstxt/blob/_llmstxt_/api-reference/endpoint/videos.get This YAML snippet defines the OpenAPI specification for the GET /videos/{id} endpoint. It details the path, HTTP method, server URL, API key security requirement, the required 'id' path parameter, and the structure of the successful 200 response, including properties like video status, moments, and URLs. ```yaml paths: path: /videos/{id} method: get servers: - url: https://api.argil.ai/v1 request: security: - title: ApiKeyAuth parameters: query: {} header: x-api-key: type: apiKey description: API key to be included in the x-api-key header cookie: {} parameters: path: id: schema: - type: string required: true description: The id of the Video to retrieve query: {} header: {} cookie: {} body: {} response: '200': application/json: schemaArray: - type: object properties: id: allOf: - type: string format: uuid name: allOf: - type: string createdAt: allOf: - type: string format: date-time updatedAt: allOf: - type: string format: date-time status: allOf: - type: string description: >- Can be either `IDLE`, `GENERATING_AUDIO`, `GENERATING_VIDEO`, `DONE` or `FAILED`. moments: allOf: - type: array description: >- An array of Moment items, each representing a portion of the complete video. items: type: object properties: transcript: type: string description: >- A portion of the complete transcript. Current limit: 250 characters. avatarId: type: string description: The id of the avatar to be used for this moment. voiceId: type: string description: The id of the voice to be used for this moment. audioUrl: type: string description: >- The audio that will be used for the video rendering. Automatically generated from the transcript when not provided. Current limit: 20 seconds. videoUrl: type: string description: >- The url of the avatar rendering video for this moment. gestureSlug: type: string description: >- The slug identifier of the gesture to be used for this moment. videoUrl: allOf: - type: string description: >- The url of the final avatar rendering video, containing all the moments merged. videoUrlSubtitled: allOf: - type: string description: >- The url of the final avatar rendering video with subtitles. Only available if subtitles are enabled. subtitles: allOf: - type: object properties: enable: type: boolean description: Subtitles settings for the video extras: allOf: - type: object description: >- A dictionary of custom key-value pairs to extend the video metadata. Maximum of 5 key-value pairs of 256 characters allowed. additionalProperties: type: string maxProperties: 10 examples: example: value: id: 3c90c3cc-0d44-4b50-8888-8dd25736052a name: createdAt: '2023-11-07T05:31:56Z' updatedAt: '2023-11-07T05:31:56Z' status: moments: - transcript: avatarId: voiceId: audioUrl: videoUrl: gestureSlug: videoUrl: videoUrlSubtitled: subtitles: enable: true extras: {} description: Detailed information about the Video ``` -------------------------------- ### OpenAPI Specification for Updating a Webhook Source: https://github.com/docs.argil.ai/llmstxt/blob/_llmstxt_/api-reference/endpoint/webhooks.update This YAML snippet defines the OpenAPI specification for the PUT /webhooks/{id} endpoint. It describes the request parameters (path ID, API key header), the request body schema (callbackUrl, events), and the possible responses (200 success, 400 validation error, 404 not found) including their schemas and examples. ```yaml paths: path: /webhooks/{id} method: put servers: - url: https://api.argil.ai/v1 request: security: - title: ApiKeyAuth parameters: query: {} header: x-api-key: type: apiKey description: API key to be included in the x-api-key header cookie: {} parameters: path: id: schema: - type: string required: true query: {} header: {} cookie: {} body: application/json: schemaArray: - type: object properties: callbackUrl: allOf: - type: string events: allOf: - $ref: '#/components/schemas/WebhookEventSchema' required: true additionalProperties: false examples: example: value: callbackUrl: events: - AVATAR_TRAINING_SUCCESS response: '200': application/json: schemaArray: - type: object properties: id: allOf: - type: string format: uuid callbackUrl: allOf: - type: string events: allOf: - $ref: '#/components/schemas/WebhookEventSchema' createAt: allOf: - type: string format: date-time updatedAt: allOf: - type: string format: date-time lastTriggeredAt: allOf: - type: string format: date-time examples: example: value: id: 3c90c3cc-0d44-4b50-8888-8dd25736052a callbackUrl: events: - AVATAR_TRAINING_SUCCESS createAt: '2023-11-07T05:31:56Z' updatedAt: '2023-11-07T05:31:56Z' lastTriggeredAt: '2023-11-07T05:31:56Z' description: Successfully updated webhook '400': application/json: schemaArray: - type: object properties: code: allOf: - &ref_0 type: integer format: int32 message: allOf: - &ref_1 type: string examples: example: value: code: 123 message: description: Validation error '404': application/json: schemaArray: - type: object properties: code: allOf: - *ref_0 message: allOf: - *ref_1 examples: example: value: code: 123 message: description: Webhook not found deprecated: false type: path components: schemas: WebhookEventSchema: type: array description: List of events the webhook is subscribing to. items: type: string enum: - AVATAR_TRAINING_SUCCESS - AVATAR_TRAINING_FAILED - VIDEO_GENERATION_SUCCESS - VIDEO_GENERATION_FAILED minItems: 1 ``` -------------------------------- ### Authenticating Requests with HTTP Header Source: https://github.com/docs.argil.ai/llmstxt/blob/_llmstxt_/pages/get-started/credentials Authenticate your API requests by including your generated API key in the 'x-api-key' HTTP header. Replace 'YOUR_API_KEY' with your actual key. ```http x-api-key: YOUR_API_KEY. ``` -------------------------------- ### OpenAPI Specification for Creating Webhook Source: https://github.com/docs.argil.ai/llmstxt/blob/_llmstxt_/api-reference/endpoint/webhooks.create This YAML snippet provides the OpenAPI definition for the POST /webhooks endpoint. It specifies the request body schema (requiring callbackUrl and events), the API key security requirement, and the response schemas for successful creation (201) and validation errors (400). ```YAML paths: path: /webhooks method: post servers: - url: https://api.argil.ai/v1 request: security: - title: ApiKeyAuth parameters: query: {} header: x-api-key: type: apiKey description: API key to be included in the x-api-key header cookie: {} parameters: path: {} query: {} header: {} cookie: {} body: application/json: schemaArray: - type: object properties: callbackUrl: allOf: - type: string description: URL to which the webhook will send POST requests. events: allOf: - $ref: '#/components/schemas/WebhookEventSchema' required: true requiredProperties: - callbackUrl - events additionalProperties: false examples: example: value: callbackUrl: events: - AVATAR_TRAINING_SUCCESS response: '201': application/json: schemaArray: - type: object properties: id: allOf: - type: string format: uuid callbackUrl: allOf: - type: string events: allOf: - $ref: '#/components/schemas/WebhookEventSchema' createAt: allOf: - type: string format: date-time updatedAt: allOf: - type: string format: date-time lastTriggeredAt: allOf: - type: string format: date-time examples: example: value: id: 3c90c3cc-0d44-4b50-8888-8dd25736052a callbackUrl: events: - AVATAR_TRAINING_SUCCESS createAt: '2023-11-07T05:31:56Z' updatedAt: '2023-11-07T05:31:56Z' lastTriggeredAt: '2023-11-07T05:31:56Z' description: Successfully created webhook '400': application/json: schemaArray: - type: object properties: code: allOf: - type: integer format: int32 message: allOf: - type: string examples: example: value: code: 123 message: description: Validation error deprecated: false type: path components: schemas: WebhookEventSchema: type: array description: List of events the webhook is subscribing to. items: type: string enum: - AVATAR_TRAINING_SUCCESS - AVATAR_TRAINING_FAILED - VIDEO_GENERATION_SUCCESS - VIDEO_GENERATION_FAILED minItems: 1 ``` -------------------------------- ### Define POST /videos Endpoint - OpenAPI YAML Source: https://github.com/docs.argil.ai/llmstxt/blob/_llmstxt_/api-reference/endpoint/videos.create This snippet defines the OpenAPI specification for the POST /videos endpoint. It details the request body schema for creating a video, including properties for video name, an array of moments (each with transcript and avatar ID), subtitles settings, aspect ratio, and auto-broll configuration. It also specifies that the endpoint requires an API key in the 'x-api-key' header for security. ```yaml paths: path: /videos method: post servers: - url: https://api.argil.ai/v1 request: security: - title: ApiKeyAuth parameters: query: {} header: x-api-key: type: apiKey description: API key to be included in the x-api-key header cookie: {} parameters: path: {} query: {} header: {} cookie: {} body: application/json: schemaArray: - type: object properties: name: allOf: - type: string moments: allOf: - type: array description: >- An array of Moment items, each representing a portion of the complete video. items: type: object required: - transcript - avatarId properties: transcript: type: string description: >- A portion of the complete transcript. Current limit: 250 characters avatarId: type: string description: The id of the avatar to be used for this moment voiceId: type: string description: >- The id of the voice to be used for this moment. Optional, default is the avatar's voice. gestureSlug: type: string description: >- The slug identifier of the gesture to be used for this moment audioUrl: type: string description: >- Optional url to the audio to be used for the video rendering, for bypassing our audio generation model. Current limit: 20 seconds zoom: type: object description: >- Controls the zoom level of the viewport/display, allowing content to be scaled larger or smaller required: - level properties: level: type: number minimum: 1 maximum: 2 default: 1 description: >- Specifies the zoom scaling factor where 1.0 represents 100% (original size), and 2.0 is 200% (zoomed in) additionalProperties: false additionalProperties: false subtitles: allOf: - type: object properties: enable: type: boolean required: - enable additionalProperties: false description: Subtitles settings for the video aspectRatio: allOf: - type: string enum: - '16:9' - '9:16' description: >- Select desired output aspectRatio: 16:9 or 9:16. Optional, default depends on used avatar. enableAutoBrolls: allOf: - type: boolean description: >- [DEPRECATED] Enable automatic B-roll generation and placement. When enabled, the system will analyze your content and automatically add relevant B-rolls to appropriate moments. autoBrolls: allOf: - type: object description: >- Configuration for automatic B-roll generation and placement. properties: enable: type: boolean description: Enable or disable automatic B-roll generation. source: type: string enum: - GENERATION - GOOGLE_IMAGES - STOCKS_VIDEO - AVATAR_ACTION ```