> ## 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.

# Get apiv2tensorshotsprojects jobsimage to video

> List all image-to-video jobs or create a new job for the authenticated user.



## OpenAPI

````yaml https://backend.tensorpix.ai/api/schema/ get /api/v2/tensorshots/projects/{project_pk}/jobs/image-to-video/
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: []
externalDocs:
  url: https://docs.tensorpix.ai
  description: Check out the full TensorPix documentation.
paths:
  /api/v2/tensorshots/projects/{project_pk}/jobs/image-to-video/:
    get:
      tags:
        - v2
      description: >-
        List all image-to-video jobs or create a new job for the authenticated
        user.
      operationId: v2_tensorshots_projects_jobs_image_to_video_list
      parameters:
        - name: limit
          required: false
          in: query
          description: Number of results to return per page.
          schema:
            type: integer
        - name: offset
          required: false
          in: query
          description: The initial index from which to return the results.
          schema:
            type: integer
        - in: path
          name: project_pk
          schema:
            type: string
            format: uuid
          required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedImageToVideoJobList'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: ''
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitError'
          description: ''
      security:
        - tokenAuth: []
components:
  schemas:
    PaginatedImageToVideoJobList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/ImageToVideoJob'
    UnauthenticatedError:
      type: object
      description: Serializer stub used for simple documented error payloads.
      properties:
        detail:
          type: string
      required:
        - detail
    ForbiddenError:
      type: object
      description: Serializer stub used for simple documented error payloads.
      properties:
        detail:
          type: string
      required:
        - detail
    RateLimitError:
      type: object
      description: Serializer stub used for simple documented error payloads.
      properties:
        detail:
          type: string
      required:
        - detail
    ImageToVideoJob:
      type: object
      description: Read-only serializer for image-to-video jobs.
      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_real_estate:
          type:
            - string
            - 'null'
          format: uuid
          readOnly: true
          description: Real-estate project this job belongs to (optional).
        real_estate_shot:
          type:
            - string
            - 'null'
          format: uuid
          readOnly: true
          description: Real-estate shot this job belongs to (optional).
        prompt:
          type: string
          readOnly: true
          description: Prompt text to generate from.
        style_settings:
          type: array
          items:
            type: string
            format: uuid
          readOnly: true
          description: >-
            Style presets applied to this job (camera, lighting, generation,
            etc.)
        model_name:
          allOf:
            - $ref: '#/components/schemas/TensorshotsModelNameEnum'
          readOnly: true
          description: >-
            AI model used for generation (e.g., 'dall-e-3', 'gpt-4',
            'runway-gen3').


            * `hexal_standard_t2v` - Hexal Standard T2V

            * `hexal_fast_i2v` - Hexal Fast I2V

            * `hexal_ultra_t2v` - Hexal Ultra T2V

            * `hexal_standard_i2v` - Hexal Standard I2V

            * `hexal_standard_nsfw_i2v` - Hexal Standard NSFW I2V

            * `hexal_ultra_i2v` - Hexal Ultra I2V

            * `hexal_ultra_nsfw_i2v` - Hexal Ultra NSFW I2V

            * `atlas_ultra_i2v` - Atlas Ultra I2V

            * `atlas_ultra_nsfw_i2v` - Atlas Ultra NSFW I2V

            * `volta_standard_i2v` - Volta Standard I2V

            * `volta_ultra_i2v` - Volta Ultra I2V

            * `veo_3_1_generate_preview` - Veo 3.1 Generate Preview

            * `veo_3_1_fast_generate_preview` - Veo 3.1 Fast Generate Preview

            * `veo_3_1_fast_generate_preview_v2` - Veo 3.1 Fast Fal

            * `veo_3_1_fast_fal_first_last_frame_i2v` - Veo 3.1 Fast Fal
            First/Last Frame

            * `veo_3_1_fal_i2v` - Veo 3.1 Fal I2V

            * `veo_3_1_fal_first_last_frame_i2v` - Veo 3.1 Fal First/Last Frame

            * `seedance_2_0_i2v` - Seedance 2.0 I2V

            * `seedance_2_0_fast_i2v` - Seedance 2.0 Fast I2V

            * `seedance_2_0_t2v` - Seedance 2.0 T2V

            * `kling_3_0_i2v` - Kling 3.0 I2V

            * `kling_3_0_pro_i2v` - Kling 3.0 Pro I2V

            * `kling_3_0_turbo_standard_i2v` - Kling 3.0 Turbo Standard I2V

            * `kling_3_0_turbo_pro_i2v` - Kling 3.0 Turbo Pro I2V

            * `kling_2_6_pro_i2v` - Kling 2.6 Pro I2V

            * `sora_2_i2v` - Sora 2 I2V

            * `sora_2_pro_i2v` - Sora 2 Pro I2V

            * `radix_i2i` - Radix I2I

            * `radix_t2i` - Radix T2I

            * `nebula_i2i` - Nebula I2I

            * `nebula_nsfw_i2i` - Nebula NSFW I2I

            * `nebula_t2i` - Nebula T2I

            * `nebula_nsfw_t2i` - Nebula NSFW T2I

            * `refina_i2i` - Refina I2I

            * `refina_t2i` - Refina T2I

            * `zephyr_i2i` - Zephyr I2I

            * `zephyr_t2i` - Zephyr T2I

            * `gemini_3_1_flash_i2i` - Gemini 3.1 Flash I2I

            * `gemini_3_1_flash_t2i` - Gemini 3.1 Flash T2I

            * `gpt_image_2_t2i` - GPT Image 2 T2I

            * `gpt_image_2_i2i` - GPT Image 2 I2I

            * `seedream_5_0_pro_t2i` - Seedream 5.0 Pro T2I

            * `seedream_5_0_pro_i2i` - Seedream 5.0 Pro I2I

            * `grok_imagine_image_t2i` - Grok Imagine Image T2I

            * `grok_imagine_image_i2i` - Grok Imagine Image I2I

            * `grok_imagine_image_quality_t2i` - Grok Imagine Image Quality T2I

            * `grok_imagine_image_quality_i2i` - Grok Imagine Image Quality I2I

            * `parallax_t2a` - Parallax T2A

            * `elevenlabs_v3_t2a` - ElevenLabs V3 T2A

            * `happy_horse_1_0_i2v` - Happy Horse 1.0 I2V

            * `grok_imagine_video_i2v` - Grok Imagine Video I2V

            * `grok_imagine_video_1_5_i2v` - Grok Imagine Video 1.5 I2V

            * `gemini_omni_flash_i2v` - Gemini Omni Flash I2V

            * `wan_2_7_i2v` - Wan 2.7 I2V
        model_config:
          readOnly: true
          description: >-
            Model-specific configuration parameters (temperature, style,
            quality, etc.).
        start_frame:
          allOf:
            - $ref: '#/components/schemas/ImageAsset'
          readOnly: true
        last_frame:
          allOf:
            - $ref: '#/components/schemas/ImageAsset'
          readOnly: true
        requested_resolution:
          type: string
          readOnly: true
          description: Requested video resolution (e.g. 480p).
        requested_video_duration:
          type: number
          format: double
          readOnly: true
          description: Requested video duration in seconds.
      required:
        - cost_credits
        - created_at
        - description
        - error_message
        - finished_at
        - id
        - last_frame
        - model_config
        - model_name
        - processing_time_seconds
        - project_real_estate
        - prompt
        - real_estate_shot
        - requested_resolution
        - requested_video_duration
        - start_frame
        - started_at
        - status
        - style_settings
    TensorshotsJobStatusEnum:
      enum:
        - queued
        - processing
        - expired
        - cancelled
        - completed
        - failed
      type: string
      description: |-
        * `queued` - Queued
        * `processing` - Processing
        * `expired` - Expired
        * `cancelled` - Cancelled
        * `completed` - Completed
        * `failed` - Failed
    TensorshotsModelNameEnum:
      enum:
        - hexal_standard_t2v
        - hexal_fast_i2v
        - hexal_ultra_t2v
        - hexal_standard_i2v
        - hexal_standard_nsfw_i2v
        - hexal_ultra_i2v
        - hexal_ultra_nsfw_i2v
        - atlas_ultra_i2v
        - atlas_ultra_nsfw_i2v
        - volta_standard_i2v
        - volta_ultra_i2v
        - veo_3_1_generate_preview
        - veo_3_1_fast_generate_preview
        - veo_3_1_fast_generate_preview_v2
        - veo_3_1_fast_fal_first_last_frame_i2v
        - veo_3_1_fal_i2v
        - veo_3_1_fal_first_last_frame_i2v
        - seedance_2_0_i2v
        - seedance_2_0_fast_i2v
        - seedance_2_0_t2v
        - kling_3_0_i2v
        - kling_3_0_pro_i2v
        - kling_3_0_turbo_standard_i2v
        - kling_3_0_turbo_pro_i2v
        - kling_2_6_pro_i2v
        - sora_2_i2v
        - sora_2_pro_i2v
        - radix_i2i
        - radix_t2i
        - nebula_i2i
        - nebula_nsfw_i2i
        - nebula_t2i
        - nebula_nsfw_t2i
        - refina_i2i
        - refina_t2i
        - zephyr_i2i
        - zephyr_t2i
        - gemini_3_1_flash_i2i
        - gemini_3_1_flash_t2i
        - gpt_image_2_t2i
        - gpt_image_2_i2i
        - seedream_5_0_pro_t2i
        - seedream_5_0_pro_i2i
        - grok_imagine_image_t2i
        - grok_imagine_image_i2i
        - grok_imagine_image_quality_t2i
        - grok_imagine_image_quality_i2i
        - parallax_t2a
        - elevenlabs_v3_t2a
        - happy_horse_1_0_i2v
        - grok_imagine_video_i2v
        - grok_imagine_video_1_5_i2v
        - gemini_omni_flash_i2v
        - wan_2_7_i2v
      type: string
      description: >-
        * `hexal_standard_t2v` - Hexal Standard T2V

        * `hexal_fast_i2v` - Hexal Fast I2V

        * `hexal_ultra_t2v` - Hexal Ultra T2V

        * `hexal_standard_i2v` - Hexal Standard I2V

        * `hexal_standard_nsfw_i2v` - Hexal Standard NSFW I2V

        * `hexal_ultra_i2v` - Hexal Ultra I2V

        * `hexal_ultra_nsfw_i2v` - Hexal Ultra NSFW I2V

        * `atlas_ultra_i2v` - Atlas Ultra I2V

        * `atlas_ultra_nsfw_i2v` - Atlas Ultra NSFW I2V

        * `volta_standard_i2v` - Volta Standard I2V

        * `volta_ultra_i2v` - Volta Ultra I2V

        * `veo_3_1_generate_preview` - Veo 3.1 Generate Preview

        * `veo_3_1_fast_generate_preview` - Veo 3.1 Fast Generate Preview

        * `veo_3_1_fast_generate_preview_v2` - Veo 3.1 Fast Fal

        * `veo_3_1_fast_fal_first_last_frame_i2v` - Veo 3.1 Fast Fal First/Last
        Frame

        * `veo_3_1_fal_i2v` - Veo 3.1 Fal I2V

        * `veo_3_1_fal_first_last_frame_i2v` - Veo 3.1 Fal First/Last Frame

        * `seedance_2_0_i2v` - Seedance 2.0 I2V

        * `seedance_2_0_fast_i2v` - Seedance 2.0 Fast I2V

        * `seedance_2_0_t2v` - Seedance 2.0 T2V

        * `kling_3_0_i2v` - Kling 3.0 I2V

        * `kling_3_0_pro_i2v` - Kling 3.0 Pro I2V

        * `kling_3_0_turbo_standard_i2v` - Kling 3.0 Turbo Standard I2V

        * `kling_3_0_turbo_pro_i2v` - Kling 3.0 Turbo Pro I2V

        * `kling_2_6_pro_i2v` - Kling 2.6 Pro I2V

        * `sora_2_i2v` - Sora 2 I2V

        * `sora_2_pro_i2v` - Sora 2 Pro I2V

        * `radix_i2i` - Radix I2I

        * `radix_t2i` - Radix T2I

        * `nebula_i2i` - Nebula I2I

        * `nebula_nsfw_i2i` - Nebula NSFW I2I

        * `nebula_t2i` - Nebula T2I

        * `nebula_nsfw_t2i` - Nebula NSFW T2I

        * `refina_i2i` - Refina I2I

        * `refina_t2i` - Refina T2I

        * `zephyr_i2i` - Zephyr I2I

        * `zephyr_t2i` - Zephyr T2I

        * `gemini_3_1_flash_i2i` - Gemini 3.1 Flash I2I

        * `gemini_3_1_flash_t2i` - Gemini 3.1 Flash T2I

        * `gpt_image_2_t2i` - GPT Image 2 T2I

        * `gpt_image_2_i2i` - GPT Image 2 I2I

        * `seedream_5_0_pro_t2i` - Seedream 5.0 Pro T2I

        * `seedream_5_0_pro_i2i` - Seedream 5.0 Pro I2I

        * `grok_imagine_image_t2i` - Grok Imagine Image T2I

        * `grok_imagine_image_i2i` - Grok Imagine Image I2I

        * `grok_imagine_image_quality_t2i` - Grok Imagine Image Quality T2I

        * `grok_imagine_image_quality_i2i` - Grok Imagine Image Quality I2I

        * `parallax_t2a` - Parallax T2A

        * `elevenlabs_v3_t2a` - ElevenLabs V3 T2A

        * `happy_horse_1_0_i2v` - Happy Horse 1.0 I2V

        * `grok_imagine_video_i2v` - Grok Imagine Video I2V

        * `grok_imagine_video_1_5_i2v` - Grok Imagine Video 1.5 I2V

        * `gemini_omni_flash_i2v` - Gemini Omni Flash I2V

        * `wan_2_7_i2v` - Wan 2.7 I2V
    ImageAsset:
      type: object
      description: Serializer for ImageAsset with basic fields.
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          readOnly: true
          description: Human-readable asset name.
        created_at:
          type: string
          format: date-time
          readOnly: true
          description: Datetime when the record was created.
        file:
          type:
            - string
            - 'null'
          format: uri
          readOnly: true
          description: >-
            Image file stored on S3. Pre-signed URL may expire. To generate a
            new URL, call the endpoint again. If the field is `null`, the image
            hasn't been completely uploaded.
        thumbnail:
          type:
            - string
            - 'null'
          format: uri
          readOnly: true
          description: Image thumbnail
        external_url:
          type:
            - string
            - 'null'
          format: uri
          readOnly: true
          description: External URL if image is hosted elsewhere (not on our S3).
        width:
          type: integer
          readOnly: true
          description: Image width in pixels.
        height:
          type: integer
          readOnly: true
          description: Image height in pixels.
        file_size:
          type: integer
          readOnly: true
          description: File size in bytes. Null for text-based images.
        tags:
          type: array
          items:
            type: string
          readOnly: true
        name_tag:
          type: string
          readOnly: true
          description: >-
            Tag identifier for the asset that's based on asset's name. Used on
            frontend to reference the asset '@Parrot-1')
          pattern: ^[-a-zA-Z0-9_]+$
      required:
        - created_at
        - external_url
        - file
        - file_size
        - height
        - id
        - name
        - name_tag
        - tags
        - thumbnail
        - width
  securitySchemes:
    tokenAuth:
      type: apiKey
      in: header
      name: Authorization
      description: Token-based authentication with required prefix "Token"

````