> ## 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 render job

> Create and queue one direct render job for one owned real estate project.



## OpenAPI

````yaml https://backend.tensorpix.ai/api/schema/ post /api/v2/real-estate/projects/{project_id}/render-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: Create, read, update, and delete real estate projects.
    x-displayName: Projects
    x-group: Real Estate Projects
  - name: real-estate-shots
    description: Create, read, update, and delete real estate project shots.
    x-displayName: Shots
    x-group: Real Estate Shots
  - name: real-estate-assets
    description: Manage image, video, logo, and music assets for real estate projects.
    x-displayName: Assets
    x-group: Real Estate Assets
  - name: real-estate-voiceover
    description: Manage voiceover text, audio, and text limits for real estate projects.
    x-displayName: Voiceover
    x-group: Real Estate Voiceover
  - name: real-estate-jobs
    description: Start, list, read, and cancel jobs for real estate projects and shots.
    x-displayName: Jobs
    x-group: Real Estate Jobs
  - name: real-estate-branding
    description: Manage reusable agents and brand kits for real estate projects.
    x-displayName: Branding
    x-group: Real Estate Branding
  - name: real-estate-templates
    description: List video templates for real estate projects.
    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}/render-jobs/:
    post:
      tags:
        - real-estate-jobs
      summary: Create a real estate render job
      description: >-
        Create and queue one direct render job for one owned real estate
        project.
      operationId: real_estate_render_job_list_create_post
      parameters:
        - in: path
          name: project_id
          schema:
            type: string
            format: uuid
          required: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateRealEstateProjectVideoRenderJob'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateRealEstateProjectVideoRenderJob'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateRealEstateProjectVideoRenderJob'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RealEstateVideoRenderJob'
          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/RealEstateVideoRenderJob'
          description: ''
      security:
        - tokenAuth: []
        - jwtAuth: []
components:
  schemas:
    CreateRealEstateProjectVideoRenderJob:
      type: object
      description: Create one real-estate project Shotstack render 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,8}(?:\.\d{0,2})?$
          readOnly: true
          description: Job cost in 🪙 Credits.
        preset:
          description: >-
            Render quality preset. When set, provides default values for output
            settings.


            * `render_preview` - Render Preview

            * `render_full` - Render Full
          oneOf:
            - $ref: '#/components/schemas/PresetEnum'
            - $ref: '#/components/schemas/BlankEnum'
            - $ref: '#/components/schemas/NullEnum'
        output_container:
          type: string
          description: Output container format (e.g., 'mp4', 'webm', 'mov').
          maxLength: 20
        output_video_codec:
          type: string
          description: Video codec (e.g., 'h264', 'h265', 'vp9').
          maxLength: 20
        output_audio_codec:
          type: string
          description: Audio codec (e.g., 'aac', 'mp3', 'opus').
          maxLength: 20
        output_crf:
          type: integer
          maximum: 51
          minimum: 0
          description: >-
            Constant Rate Factor for video quality (0=lossless, 51=worst). Lower
            is better quality.
        chroma_subsampling:
          type: string
          description: Pixel format (e.g., 'yuv420p', 'yuv444p').
          maxLength: 20
        grain:
          type: number
          format: double
          maximum: 1
          minimum: 0
          description: >-
            Grain amount to add to the enhanced video in range [0, 1]. 0 is
            default.
        composition_fps:
          type: integer
          maximum: 120
          minimum: 1
          description: Output video framerate (frames per second).
        background_music_volume:
          type: number
          format: double
          maximum: 1
          minimum: 0
          description: >-
            Background music volume level in range [0.0, 1.0]. 0.0 is muted, 1.0
            is full volume.
      required:
        - cost_credits
        - created_at
        - description
        - error_message
        - finished_at
        - id
        - processing_time_seconds
        - started_at
        - status
    RealEstateVideoRenderJob:
      type: object
      description: Read one real-estate render 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,8}(?:\.\d{0,2})?$
          readOnly: true
          description: Job cost in 🪙 Credits.
        project:
          type:
            - string
            - 'null'
          format: uuid
          readOnly: true
          description: Project this render job belongs to.
        shot:
          type:
            - string
            - 'null'
          format: uuid
          readOnly: true
          description: Shot this render job belongs to.
        project_real_estate:
          type:
            - string
            - 'null'
          format: uuid
          readOnly: true
          description: Real-estate project this render job belongs to.
        preset:
          readOnly: true
          description: >-
            Render quality preset. When set, provides default values for output
            settings.


            * `render_preview` - Render Preview

            * `render_full` - Render Full
          oneOf:
            - $ref: '#/components/schemas/PresetEnum'
            - $ref: '#/components/schemas/NullEnum'
        output_container:
          type: string
          readOnly: true
          description: Output container format (e.g., 'mp4', 'webm', 'mov').
        output_video_codec:
          type: string
          readOnly: true
          description: Video codec (e.g., 'h264', 'h265', 'vp9').
        output_audio_codec:
          type: string
          readOnly: true
          description: Audio codec (e.g., 'aac', 'mp3', 'opus').
        output_crf:
          type: integer
          readOnly: true
          description: >-
            Constant Rate Factor for video quality (0=lossless, 51=worst). Lower
            is better quality.
        chroma_subsampling:
          type: string
          readOnly: true
          description: Pixel format (e.g., 'yuv420p', 'yuv444p').
        grain:
          type: number
          format: double
          readOnly: true
          description: >-
            Grain amount to add to the enhanced video in range [0, 1]. 0 is
            default.
        composition_width:
          type: integer
          readOnly: true
          description: Output video width in pixels.
        composition_height:
          type: integer
          readOnly: true
          description: Output video height in pixels.
        composition_fps:
          type: integer
          readOnly: true
          description: Output video framerate (frames per second).
        background_music_volume:
          type: number
          format: double
          readOnly: true
          description: >-
            Background music volume level in range [0.0, 1.0]. 0.0 is muted, 1.0
            is full volume.
      required:
        - background_music_volume
        - chroma_subsampling
        - composition_fps
        - composition_height
        - composition_width
        - cost_credits
        - created_at
        - description
        - error_message
        - finished_at
        - grain
        - id
        - output_audio_codec
        - output_container
        - output_crf
        - output_video_codec
        - preset
        - processing_time_seconds
        - project
        - project_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
    PresetEnum:
      enum:
        - render_preview
        - render_full
      type: string
      description: |-
        * `render_preview` - Render Preview
        * `render_full` - Render Full
    BlankEnum:
      enum:
        - ''
    NullEnum:
      type: 'null'
  securitySchemes:
    tokenAuth:
      type: apiKey
      in: header
      name: Authorization
      description: Token-based authentication with required prefix "Token"
    jwtAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````