> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tensorpix.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a real estate shot video job

> Create and queue a shot video job for the shot in the URL. The backend creates a missing image description and animation prompt, applies the saved crop, and starts image to video generation. A completed job saves its output as selected_video and rendered_video. Use the bulk create route when several shots need generation.



## OpenAPI

````yaml https://backend.tensorpix.ai/api/schema/ post /api/v2/real-estate/projects/{project_id}/shots/{shot_id}/video-jobs/
openapi: 3.1.0
info:
  title: TensorPix OpenAPI Documentation
  version: 1.1.0
  termsOfService: https://tensorpix.ai/terms-conditions
  contact:
    name: TensorPix Dev Team
    email: devs@tensorpix.ai
servers:
  - url: https://backend.tensorpix.ai
security: []
tags:
  - name: tensorshots-projects
    description: Create, read, update, and delete TensorShots projects.
    x-displayName: Projects
    x-group: TensorShots Projects
  - name: tensorshots-shots
    description: Manage TensorShots project shots and shot voiceovers.
    x-displayName: Shots
    x-group: TensorShots Shots
  - name: tensorshots-assets
    description: Manage TensorShots audio, image, video, and shared assets.
    x-displayName: Assets
    x-group: TensorShots Assets
  - name: tensorshots-jobs
    description: Start, list, read, and delete TensorShots generation and render jobs.
    x-displayName: Jobs
    x-group: TensorShots Jobs
  - name: tensorshots-settings
    description: Manage TensorShots styles, music, voices, and prompt templates.
    x-displayName: Settings
    x-group: TensorShots Settings
  - name: real-estate-projects
    description: >-
      Manage real estate projects, property data, render settings, previews, and
      cost estimates.
    x-displayName: Projects
    x-group: Real Estate Projects
  - name: real-estate-shots
    description: >-
      Manage ordered project shots, first frames, generation prompts, crops,
      timing, speed, and transitions.
    x-displayName: Shots
    x-group: Real Estate Shots
  - name: real-estate-assets
    description: >-
      Manage project image assets, video assets, logos, and uploaded background
      music.
    x-displayName: Assets
    x-group: Real Estate Assets
  - name: real-estate-voiceover
    description: >-
      Manage project voiceover text, generated audio, caption timing, and text
      limits.
    x-displayName: Voiceover
    x-group: Real Estate Voiceover
  - name: real-estate-jobs
    description: >-
      Start, list, read, and poll property import, image edit, shot video, full
      video, and render jobs.
    x-displayName: Jobs
    x-group: Real Estate Jobs
  - name: real-estate-branding
    description: >-
      Manage reusable agent profiles and brand kits, then copy them into
      projects.
    x-displayName: Branding
    x-group: Real Estate Branding
  - name: real-estate-templates
    description: List intro and outro templates and manage project template images.
    x-displayName: Templates
    x-group: Real Estate Templates
externalDocs:
  url: https://docs.tensorpix.ai
  description: Check out the full TensorPix documentation.
paths:
  /api/v2/real-estate/projects/{project_id}/shots/{shot_id}/video-jobs/:
    post:
      tags:
        - real-estate-jobs
      summary: Create a real estate shot video job
      description: >-
        Create and queue a shot video job for the shot in the URL. The backend
        creates a missing image description and animation prompt, applies the
        saved crop, and starts image to video generation. A completed job saves
        its output as selected_video and rendered_video. Use the bulk create
        route when several shots need generation.
      operationId: real_estate_shot_video_job_list_create_post
      parameters:
        - in: path
          name: project_id
          schema:
            type: string
            format: uuid
          required: true
        - in: path
          name: shot_id
          schema:
            type: string
            format: uuid
          required: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateRealEstateShotVideoJob'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateRealEstateShotVideoJob'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateRealEstateShotVideoJob'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RealEstateShotVideoJob'
          description: ''
        '400':
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail: {}
                  error_id:
                    type: string
                    format: uuid
                additionalProperties: true
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: ''
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: ''
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitError'
          description: ''
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
          description: ''
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RealEstateShotVideoJob'
          description: ''
      security:
        - tokenAuth: []
        - jwtAuth: []
components:
  schemas:
    CreateRealEstateShotVideoJob:
      type: object
      description: Create one parent shot video job from the scoped project and shot.
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        created_at:
          type: string
          format: date-time
          readOnly: true
          description: Datetime when the record was created.
        error_message:
          type: string
          readOnly: true
          description: Error details if job failed.
        status:
          allOf:
            - $ref: '#/components/schemas/TensorshotsJobStatusEnum'
          readOnly: true
          description: |-
            Current job status.

            * `queued` - Queued
            * `processing` - Processing
            * `expired` - Expired
            * `cancelled` - Cancelled
            * `completed` - Completed
            * `failed` - Failed
        description:
          type: string
          readOnly: true
          description: Human-readable job description.
        started_at:
          type: string
          format: date-time
          readOnly: true
          description: When job processing started.
        finished_at:
          type:
            - string
            - 'null'
          format: date-time
          readOnly: true
          description: When the job processing successfully finished.
        processing_time_seconds:
          type: number
          format: double
          description: |-
            Calculate job processing time in seconds.
            If the job is still processing, calculate time since started.
            If the job was cancelled, deleted, calculate time until that point.
            if the job is completed, calculate time until finished.
          readOnly: true
        cost_credits:
          type: string
          format: decimal
          pattern: ^-?\d{0,6}(?:\.\d{0,4})?$
          readOnly: true
          description: Job cost in 🪙 Credits.
      required:
        - cost_credits
        - created_at
        - description
        - error_message
        - finished_at
        - id
        - processing_time_seconds
        - started_at
        - status
    RealEstateShotVideoJob:
      type: object
      description: Read one user-facing shot video workflow job.
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        created_at:
          type: string
          format: date-time
          readOnly: true
          description: Datetime when the record was created.
        error_message:
          type: string
          readOnly: true
          description: Error details if job failed.
        status:
          allOf:
            - $ref: '#/components/schemas/TensorshotsJobStatusEnum'
          readOnly: true
          description: |-
            Current job status.

            * `queued` - Queued
            * `processing` - Processing
            * `expired` - Expired
            * `cancelled` - Cancelled
            * `completed` - Completed
            * `failed` - Failed
        description:
          type: string
          readOnly: true
          description: Human-readable job description.
        started_at:
          type: string
          format: date-time
          readOnly: true
          description: When job processing started.
        finished_at:
          type:
            - string
            - 'null'
          format: date-time
          readOnly: true
          description: When the job processing successfully finished.
        processing_time_seconds:
          type: number
          format: double
          description: |-
            Calculate job processing time in seconds.
            If the job is still processing, calculate time since started.
            If the job was cancelled, deleted, calculate time until that point.
            if the job is completed, calculate time until finished.
          readOnly: true
        cost_credits:
          type: string
          format: decimal
          pattern: ^-?\d{0,6}(?:\.\d{0,4})?$
          readOnly: true
          description: Job cost in 🪙 Credits.
        project_real_estate:
          type: string
          format: uuid
          readOnly: true
          description: Real-estate project whose shot video this job generates.
        real_estate_shot:
          type: string
          format: uuid
          readOnly: true
          description: Real-estate shot whose video this job generates.
      required:
        - cost_credits
        - created_at
        - description
        - error_message
        - finished_at
        - id
        - processing_time_seconds
        - project_real_estate
        - real_estate_shot
        - started_at
        - status
    UnauthenticatedError:
      type: object
      description: Serializer stub used for simple documented error payloads.
      properties:
        detail:
          type: string
        error_id:
          type: string
          format: uuid
      required:
        - detail
        - error_id
    ForbiddenError:
      type: object
      description: Serializer stub used for simple documented error payloads.
      properties:
        detail:
          type: string
        error_id:
          type: string
          format: uuid
      required:
        - detail
        - error_id
    NotFoundError:
      type: object
      description: Serializer stub used for simple documented error payloads.
      properties:
        detail:
          type: string
        error_id:
          type: string
          format: uuid
      required:
        - detail
        - error_id
    RateLimitError:
      type: object
      description: Serializer stub used for simple documented error payloads.
      properties:
        detail:
          type: string
        error_id:
          type: string
          format: uuid
      required:
        - detail
        - error_id
    ServerError:
      type: object
      description: Describe errors created by the global exception handler.
      properties:
        error:
          type: string
        error_id:
          type: string
          format: uuid
      required:
        - error
        - error_id
    TensorshotsJobStatusEnum:
      enum:
        - queued
        - processing
        - expired
        - cancelled
        - completed
        - failed
      type: string
      description: |-
        * `queued` - Queued
        * `processing` - Processing
        * `expired` - Expired
        * `cancelled` - Cancelled
        * `completed` - Completed
        * `failed` - Failed
  securitySchemes:
    tokenAuth:
      type: apiKey
      in: header
      name: Authorization
      description: Token-based authentication with required prefix "Token"
    jwtAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.