# Video

Video generation and avatar operations

## Get available avatars

> List all available avatars for video generation

```json
{"openapi":"3.0.0","info":{"title":"Content API","version":"1.0.0"},"tags":[{"name":"Video","description":"Video generation and avatar operations"}],"servers":[{"url":"https://api.autocontentapi.com"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"Avatar":{"type":"object","properties":{"id":{"type":"string","description":"Avatar identifier"},"name":{"type":"string","description":"Avatar display name"},"gender":{"type":"string","enum":["M","F"],"description":"Avatar gender (M = Male, F = Female)"}}}}},"paths":{"/video/GetAvatars":{"get":{"summary":"Get available avatars","description":"List all available avatars for video generation","tags":["Video"],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Avatar"}}}}},"401":{"description":"Unauthorized"}}}}}}
```

## Get shorts videos

> List all shorts videos for the authenticated user (includes pending, processing, completed, and failed)

```json
{"openapi":"3.0.0","info":{"title":"Content API","version":"1.0.0"},"tags":[{"name":"Video","description":"Video generation and avatar operations"}],"servers":[{"url":"https://api.autocontentapi.com"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"Short":{"type":"object","properties":{"id":{"type":"string","description":"Short video identifier"},"status":{"type":"integer","description":"Status code (0 = pending, 10-90 = processing, 100 = completed, -1 = failed)"},"requestedOn":{"type":"string","format":"date-time","description":"Request creation date"},"processingOn":{"type":"string","format":"date-time","description":"Processing start date"},"succeededOn":{"type":"string","format":"date-time","description":"Completion date"},"requestTypeId":{"type":"integer","description":"Request type ID (4 = Short)"},"callbackData":{"type":"string","description":"Custom callback data"},"audioUrl":{"type":"string","description":"URL to the audio used for the short"},"videoUrl":{"type":"string","description":"URL to the generated short video (when completed)"},"imageUrl":{"type":"string","description":"URL to the thumbnail image (when completed)"},"audioTitle":{"type":"string","description":"Title of the short video"},"responseText":{"type":"string","description":"Text content used in the short"},"errorOn":{"type":"string","format":"date-time","description":"Error occurrence date (if applicable)"},"errorMessage":{"type":"string","description":"Error message (if applicable)"}}}}},"paths":{"/video/GetShorts":{"get":{"summary":"Get shorts videos","description":"List all shorts videos for the authenticated user (includes pending, processing, completed, and failed)","tags":["Video"],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Short"}}}}},"401":{"description":"Unauthorized"}}}}}}
```

## Create shorts

> Create short videos from audio content or feeds

```json
{"openapi":"3.0.0","info":{"title":"Content API","version":"1.0.0"},"tags":[{"name":"Video","description":"Video generation and avatar operations"}],"servers":[{"url":"https://api.autocontentapi.com"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}},"paths":{"/video/CreateShorts":{"post":{"summary":"Create shorts","description":"Create short videos from audio content or feeds","tags":["Video"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["avatar1"],"properties":{"audioUrl":{"type":"string","description":"URL to the audio file to create shorts from (optional if feedIds provided)"},"feedIds":{"type":"array","items":{"type":"string"},"description":"Array of feed IDs to generate content from (optional if audioUrl provided)"},"prompt":{"type":"string","description":"Optional instructions for short creation"},"avatar1":{"type":"string","description":"ID of the first avatar to use"},"avatar2":{"type":"string","description":"Optional ID of the second avatar to use"},"subtitles":{"type":"boolean","description":"Optional boolean to include subtitles (default: true)"},"callbackData":{"type":"string","description":"Optional data to include in webhooks"},"scheduledOn":{"type":"string","format":"date-time","description":"Optional date/time to schedule the request for processing"}}}}}},"responses":{"200":{"description":"Request accepted","content":{"application/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","description":"Request identifier"},"status":{"type":"integer","description":"Initial status code (0 = pending)"}}}}}},"400":{"description":"Invalid request"},"401":{"description":"Unauthorized"}}}}}}
```

## Create shorts from text

> Create short videos from text content or feeds

```json
{"openapi":"3.0.0","info":{"title":"Content API","version":"1.0.0"},"tags":[{"name":"Video","description":"Video generation and avatar operations"}],"servers":[{"url":"https://api.autocontentapi.com"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}},"paths":{"/video/CreateShortsFromContent":{"post":{"summary":"Create shorts from text","description":"Create short videos from text content or feeds","tags":["Video"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["avatar1"],"properties":{"content":{"type":"string","description":"Text content to create shorts from (optional if feedIds provided)"},"feedIds":{"type":"array","items":{"type":"string"},"description":"Array of feed IDs to generate content from (optional if content provided)"},"prompt":{"type":"string","description":"Optional instructions for short creation"},"avatar1":{"type":"string","description":"ID of the first avatar to use"},"avatar2":{"type":"string","description":"Optional ID of the second avatar to use"},"subtitles":{"type":"boolean","description":"Optional boolean to include subtitles (default: true)"},"callbackData":{"type":"string","description":"Optional data to include in webhooks"},"scheduledOn":{"type":"string","format":"date-time","description":"Optional date/time to schedule the request for processing"}}}}}},"responses":{"200":{"description":"Request accepted","content":{"application/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","description":"Request identifier"},"status":{"type":"integer","description":"Initial status code (0 = pending)"}}}}}},"400":{"description":"Invalid request"},"401":{"description":"Unauthorized"}}}}}}
```

## Create shorts from script

> Create short videos from a custom script with avatar dialogue or from feeds

```json
{"openapi":"3.0.0","info":{"title":"Content API","version":"1.0.0"},"tags":[{"name":"Video","description":"Video generation and avatar operations"}],"servers":[{"url":"https://api.autocontentapi.com"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}},"paths":{"/video/CreateShortsFromScript":{"post":{"summary":"Create shorts from script","description":"Create short videos from a custom script with avatar dialogue or from feeds","tags":["Video"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"script":{"type":"array","description":"Array of dialogue entries with avatar IDs and text (optional if feedIds provided)","items":{"type":"object","required":["avatarId","text"],"properties":{"avatarId":{"type":"number","description":"ID of the avatar speaking this line"},"text":{"type":"string","description":"Text for the avatar to speak"}}}},"feedIds":{"type":"array","items":{"type":"string"},"description":"Array of feed IDs to generate content from (optional if script provided)"},"subtitles":{"type":"boolean","description":"Optional boolean to include subtitles (default: true)"},"callbackData":{"type":"string","description":"Optional data to include in webhooks"},"scheduledOn":{"type":"string","format":"date-time","description":"Optional date/time to schedule the request for processing"}}}}}},"responses":{"200":{"description":"Request accepted","content":{"application/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","description":"Request identifier"},"status":{"type":"integer","description":"Initial status code (0 = pending)"}}}}}},"400":{"description":"Invalid request"},"401":{"description":"Unauthorized"}}}}}}
```

## Create shorts from deep research

> Create short videos from the results of a completed deep research

```json
{"openapi":"3.0.0","info":{"title":"Content API","version":"1.0.0"},"tags":[{"name":"Video","description":"Video generation and avatar operations"}],"servers":[{"url":"https://api.autocontentapi.com"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}},"paths":{"/video/CreateShortsFromDeepResearch":{"post":{"summary":"Create shorts from deep research","description":"Create short videos from the results of a completed deep research","tags":["Video"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["deepResearchId","avatar1"],"properties":{"deepResearchId":{"type":"string","description":"ID of the completed deep research to create shorts from"},"prompt":{"type":"string","description":"Optional instructions for short creation"},"avatar1":{"type":"string","description":"ID of the first avatar to use"},"avatar2":{"type":"string","description":"Optional ID of the second avatar to use"},"subtitles":{"type":"boolean","description":"Optional boolean to include subtitles (default: true)"},"callbackData":{"type":"string","description":"Optional data to include in webhooks"},"scheduledOn":{"type":"string","format":"date-time","description":"Optional date/time to schedule the request for processing"}}}}}},"responses":{"200":{"description":"Request accepted","content":{"application/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","description":"Request identifier"},"status":{"type":"integer","description":"Initial status code (0 = pending)"}}}}}},"400":{"description":"Invalid request"},"401":{"description":"Unauthorized"},"404":{"description":"Deep research not found or not accessible"}}}}}}
```

## Create avatar

> Create a new talking head avatar from text or image

```json
{"openapi":"3.0.0","info":{"title":"Content API","version":"1.0.0"},"tags":[{"name":"Video","description":"Video generation and avatar operations"}],"servers":[{"url":"https://api.autocontentapi.com"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}},"paths":{"/video/CreateAvatar":{"post":{"summary":"Create avatar","description":"Create a new talking head avatar from text or image","tags":["Video"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Name for the avatar"},"imageUrl":{"type":"string","description":"Optional URL to an image to use as the base for the avatar"},"prompt":{"type":"string","description":"Optional text prompt describing the avatar (used when imageUrl is not provided)"},"voiceId":{"type":"integer","description":"Optional ID of the voice to use for the avatar"},"callbackData":{"type":"string","description":"Optional data to include in webhooks"},"scheduledOn":{"type":"string","format":"date-time","description":"Optional date/time to schedule the request for processing"}}}},"multipart/form-data":{"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Name for the avatar"},"imageFile":{"type":"string","format":"binary","description":"Image file to use as the base for the avatar (max 10MB, image files only)"},"prompt":{"type":"string","description":"Optional text prompt describing the avatar (used when imageFile is not provided)"},"voiceId":{"type":"integer","description":"Optional ID of the voice to use for the avatar"},"callbackData":{"type":"string","description":"Optional data to include in webhooks"},"scheduledOn":{"type":"string","format":"date-time","description":"Optional date/time to schedule the request for processing"}}}}}},"responses":{"200":{"description":"Request accepted","content":{"application/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","description":"Request identifier"},"status":{"type":"integer","description":"Initial status code (0 = pending)"}}}}}},"400":{"description":"Invalid request"},"401":{"description":"Unauthorized"}}}}}}
```

## Update avatar voice

> Update the voice assigned to an existing avatar

```json
{"openapi":"3.0.0","info":{"title":"Content API","version":"1.0.0"},"tags":[{"name":"Video","description":"Video generation and avatar operations"}],"servers":[{"url":"https://api.autocontentapi.com"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}},"paths":{"/video/UpdateAvatarVoice":{"post":{"summary":"Update avatar voice","description":"Update the voice assigned to an existing avatar","tags":["Video"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["avatarId","voiceId"],"properties":{"avatarId":{"type":"integer","description":"ID of the avatar to update"},"voiceId":{"type":"integer","description":"ID of the new voice to assign to the avatar"}}}}}},"responses":{"200":{"description":"Avatar voice updated successfully","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Success status"},"message":{"type":"string","description":"Success message"}}}}}},"400":{"description":"Invalid request (missing or invalid parameters)"},"401":{"description":"Unauthorized"},"404":{"description":"Avatar not found or not accessible"},"500":{"description":"Failed to update avatar voice"}}}}}}
```

## Get explainer videos

> List all explainer videos for the authenticated user

```json
{"openapi":"3.0.0","info":{"title":"Content API","version":"1.0.0"},"tags":[{"name":"Video","description":"Video generation and avatar operations"}],"servers":[{"url":"https://api.autocontentapi.com"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}},"paths":{"/video/GetExplainerVideos":{"get":{"summary":"Get explainer videos","description":"List all explainer videos for the authenticated user","tags":["Video"],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Video explainer identifier (matches request ID)"},"title":{"type":"string","description":"Title of the explainer video"},"description":{"type":"string","description":"Description of the explainer video"},"videoUrl":{"type":"string","description":"URL to the explainer video"},"fileSize":{"type":"integer","description":"Size of the video file in bytes"},"durationSeconds":{"type":"integer","description":"Duration of the video in seconds"},"shareUrl":{"type":"string","description":"Shareable public URL for the video"},"createdOn":{"type":"string","format":"date-time","description":"Creation date of the explainer video"},"requestedOn":{"type":"string","format":"date-time","description":"Request creation date"},"succeededOn":{"type":"string","format":"date-time","description":"Completion date"},"status":{"type":"integer","description":"Status code (100 = completed)"},"errorOn":{"type":"string","format":"date-time","description":"Error occurrence date (if applicable)"},"errorMessage":{"type":"string","description":"Error message (if applicable)"},"callbackData":{"type":"string","description":"Custom callback data"},"scheduledOn":{"type":"string","format":"date-time","description":"Scheduled processing time (if applicable)"}}}}}}},"401":{"description":"Unauthorized"},"500":{"description":"Internal server error"}}}}}}
```

## Transcribe an explainer video

> Submit a transcription job for an explainer video by ID

```json
{"openapi":"3.0.0","info":{"title":"Content API","version":"1.0.0"},"tags":[{"name":"Video","description":"Video generation and avatar operations"}],"servers":[{"url":"https://api.autocontentapi.com"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}},"paths":{"/video/Transcribe":{"post":{"summary":"Transcribe an explainer video","description":"Submit a transcription job for an explainer video by ID","tags":["Video"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["videoId"],"properties":{"videoId":{"type":"string","description":"Explainer video ID (request ID)"}}}}}},"responses":{"200":{"description":"Transcription request accepted","content":{"application/json":{"schema":{"type":"object","properties":{"request_id":{"type":"string"},"status":{"type":"integer"}}}}}},"400":{"description":"Invalid request (missing videoId)"},"401":{"description":"Unauthorized"},"404":{"description":"Explainer video not found or not ready"}}}}}}
```

## Get an explainer transcript

> Retrieve the transcript for a completed explainer video

```json
{"openapi":"3.0.0","info":{"title":"Content API","version":"1.0.0"},"tags":[{"name":"Video","description":"Video generation and avatar operations"}],"servers":[{"url":"https://api.autocontentapi.com"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ExplainerTranscript":{"type":"object","properties":{"videoId":{"type":"string","description":"Explainer video identifier (request ID)"},"createdOn":{"type":"string","format":"date-time","description":"Transcript creation timestamp"},"transcript":{"type":"array","items":{"$ref":"#/components/schemas/TranscriptLine"}}}},"TranscriptLine":{"type":"object","properties":{"text":{"type":"string","description":"Transcript line text"},"speaker":{"type":"string","description":"Speaker label"},"timestamp":{"type":"array","description":"Start/end time in seconds","items":{"type":"number"}}}}}},"paths":{"/video/Transcript/{videoId}":{"get":{"summary":"Get an explainer transcript","description":"Retrieve the transcript for a completed explainer video","tags":["Video"],"parameters":[{"in":"path","name":"videoId","required":true,"schema":{"type":"string"},"description":"Explainer video ID (request ID)"}],"responses":{"200":{"description":"Transcript retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExplainerTranscript"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Transcript not found for the specified explainer video"}}}}}}
```

## Generate branded intro image

> Generate the branded intro image used for explainer videos and download the PNG asset.

```json
{"openapi":"3.0.0","info":{"title":"Content API","version":"1.0.0"},"tags":[{"name":"Video","description":"Video generation and avatar operations"}],"servers":[{"url":"https://api.autocontentapi.com"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}},"paths":{"/video/GenerateIntroImage":{"get":{"summary":"Generate branded intro image","description":"Generate the branded intro image used for explainer videos and download the PNG asset.","tags":["Video"],"parameters":[{"in":"query","name":"title","required":true,"schema":{"type":"string"},"description":"Title text rendered on the intro image."},{"in":"query","name":"subtitle","required":false,"schema":{"type":"string"},"description":"Optional subtitle text displayed beneath the title."},{"in":"query","name":"logoUrl","required":false,"schema":{"type":"string"},"description":"Optional logo URL to render on the intro image."},{"in":"query","name":"heroImageUrl","required":false,"schema":{"type":"string"},"description":"Optional hero/background image URL composited into the intro artwork."}],"responses":{"200":{"description":"PNG image download containing the branded intro artwork.","headers":{"X-Intro-Image-Url":{"description":"Public URL of the uploaded intro image variant when available.","schema":{"type":"string"}},"X-Intro-Image-Size":{"description":"Size of the generated intro image in bytes.","schema":{"type":"integer"}}},"content":{"image/png":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Missing or invalid query parameters."},"401":{"description":"Unauthorized"},"500":{"description":"Error generating or uploading the intro image"}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.autocontentapi.com/readme/video.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
