---
title: "Generate AI visualization for camera view"
method: POST
path: "/v1/cameras/{cameraId}/render"
tags: ["Cameras"]
---

# Generate AI visualization for camera view

`POST /v1/cameras/{cameraId}/render`

## Path parameters

- `cameraId` string, required

## Request body

- CreateCameraRenderDto
  - `cameraId` string, uuid, required
  - `screenshot` string, required
  - `taggedScreenshot` string, required
  - `visibleElements` object[], required
    - `element` object, required
      - `tag` 'VTX' | 'EDG' | 'EHD' | 'FCE' | 'WND' | 'DOR' | 'FIX' | 'CAM' | 'PRO' | 'RSZ' | 'DBG' | 'CVS' | 'CEI' | 'CEC', required
      - `uid` string, required
    - `label` string, required
    - `fixtureSpec` 'ChairOttoman' | 'OfficeChair' | 'CalKingBed' | 'KingBed' | 'QueenBed' | 'FullBed' | 'TwinBed' | 'CribBed' | 'NightStand' | 'Dresser' | 'Sofa1S' | 'Sofa2S' | 'Sofa3S' | 'SofaL' | 'CoffeeTable' | 'MediaUnit' | 'Shower' | 'ShowerM' | 'ShowerL' | 'Bathtub' | 'BathtubFreestanding' | 'Toilet' | 'Sink' | 'DoubleVanity' | 'RectDiningTable6' | 'RectDiningTable8' | 'RoundDiningTable4' | 'SquareDiningTable4' | 'SquareDiningTable8' | 'Stove' | 'Refrigerator' | 'Dishwasher' | 'KitchenSink' | 'KitchenCabinetL' | 'KitchenCabinetStraight' | 'KitchenIsland4P' | 'KitchenIsland2P' | 'KitchenIsland4PWithSink' | 'KitchenIsland2PWithSink' | 'KitchenCounterL' | 'KitchenCounterU' | 'KitchenCounterI' | 'KitchenCounterIMini' | 'KitchenCounterLMini' | 'KitchenCounterUWallCabinets' | 'KitchenCounterLWallCabinets' | 'KitchenCounterLMiniWallCabinets' | 'KitchenCounterIWallCabinets' | 'KitchenCounterIMiniWallCabinets' | 'FloorLamp' | 'Plant' | 'PlantM' | 'PlantS' | 'TableLamp' | 'BBQ' | 'LoungeChair' | 'LoungeChairS' | 'OutdoorDiningTableWithChairs' | 'OfficeDesk' | 'OfficeDeskL' | 'FilingCabinet' | 'WasherAndDryer' | 'WasherAndDryerCombo' | 'Bench' | 'CoatHook' | 'LaundrySink' | 'WaterHeater' | 'ConsoleWithMirror' | 'SideTable' | 'Bookshelf' | 'Credenza' | 'CircularRug' | 'RectangularRug' | 'Sedan' | 'SUV' | 'StraightStaircase' | 'UShapedStaircase' | 'LShapedStaircaseLanding' | 'LShapedStaircaseWinder' | 'PictureFrame' | 'GenericObject' | 'HVACUnit' | 'ClothingRack' | 'PoolTable' | 'PingPongTable' | 'Treadmill' | 'ExerciseBike' | 'WeightRack' | 'GymBench' | 'YogaMat' | 'BuiltInShelf' | 'BuiltInBar' | 'BuiltInBarWithIsland' | 'Column' | 'Post' | 'Railing'
    - `parentEdgeUid` string, uuid
  - `roomColors` object[]
    - `faceUid` string, uuid, required
    - `label` string, required
    - `colorCode` string, required

## Response `200`

Scene rendered successfully

- ExpandedSceneRenderApiResponseDto
  - `success` boolean, required — Indicates if the request was successful
  - `message` string, required — Human readable message
  - `data` object, required — Response data
    - `id` string, uuid, required — Render ID
    - `cameraId` string, uuid, nullable, required — Legacy camera-spot pose pointer; null on capture-attributes renders
    - `captureAttributes` union, required — Camera state at capture time (mode-discriminated); null on legacy spot-linked renders
      - object
        - `mode` 'walkthrough', required
        - `version` number, required
        - `level` integer, required
        - `position` union[], required
          - union
            - number
            - number
            - number
        - `yawRad` number, required
        - `pitchRad` number, required
        - `fovDeg` number, required
      - object
        - `mode` 'isometric', required
        - `version` number, required
        - `level` integer, required
        - `direction` 'south-east' | 'north-east' | 'north-west' | 'south-west', required
        - `zoom` number, required
        - `target` union[], required
          - union
            - number
            - number
            - number
      - object
        - `mode` 'massing', required
        - `version` number, required
        - `level` integer, required
        - `position` union[], required
          - union
            - number
            - number
            - number
        - `target` union[], required
          - union
            - number
            - number
            - number
        - `fovDeg` number, required
    - `createdAt` unknown, required
    - `updatedAt` unknown, required
    - `asset` object, required
      - `id` string, uuid, required — Unique identifier of the asset
      - `collectionId` string, uuid, required — ID of the collection this asset belongs to
      - `folderId` string, uuid, nullable — ID of the folder this asset belongs to
      - `name` string, required — Name of the asset
      - `type` 'image', required
      - `thumbnailUrls` string[], required — Ordered preview thumbnail URLs
      - `metadata` unknown, required
      - `lockedAt` unknown, required
      - `isLocked` boolean, required — Whether the asset is currently locked (computed from lockedAt and TTL)
      - `deletedAt` unknown
      - `createdAt` unknown, required
      - `updatedAt` unknown, required
      - `details` object, required
        - `mimeType` string, required — Mimetype of the storage file
        - `fileUrl` string, uri, required — URL using file's storage key
        - `sizeInBytes` integer, required — Storage file size
    - `roomType` 'bedroom' | 'master_bedroom' | 'secondary_bedroom' | 'full_bathroom' | 'half_bathroom' | 'living_room' | 'family_room' | 'game_room' | 'recreation_room' | 'kitchen' | 'dining_room' | 'office' | 'home_gym' | 'walk_in' | 'closet' | 'pantry' | 'laundry' | 'mechanical_room' | 'entry' | 'mudroom' | 'corridor' | 'stair' | 'garage' | 'front_porch' | 'deck' | 'balcony' | 'outdoor' | 'any', nullable
    - `cameraPrompt` string, nullable
    - `inspirationImageAssetIds` string[]
  - `timestamp` string, date-time, required — Timestamp of the response

---

[API](https://skmtc.dev/maket/apis/virtual-architect-api.md) · [All operations](https://skmtc.dev/maket/apis/virtual-architect-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/maket/virtual-architect-api/revisions/b712097baa9c/schema)
