# StudioPreviewStreamDto

Source: https://frameleaf.app/docs/api/schema/StudioPreviewStreamDto/

```json
{
  "properties": {
    "bounds": {
      "$ref": "#/components/schemas/StudioPreviewStreamBoundsDto"
    },
    "closeReason": {
      "allOf": [
        {
          "$ref": "#/components/schemas/StudioPreviewStreamCloseReason"
        }
      ],
      "nullable": true
    },
    "currentRevision": {
      "description": "The stored head, when the session closed as stale",
      "maximum": 9007199254740991,
      "minimum": 0,
      "nullable": true,
      "type": "integer"
    },
    "expiresAt": {
      "description": "The hard end of this session",
      "format": "date-time",
      "type": "string"
    },
    "id": {
      "description": "Stream session ID",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
      "type": "string"
    },
    "keepaliveMs": {
      "description": "Poll at least this often, or the session is closed",
      "maximum": 9007199254740991,
      "minimum": -9007199254740991,
      "type": "integer"
    },
    "negotiation": {
      "description": "The offer/answer round; an answer must name it",
      "maximum": 9007199254740991,
      "minimum": 0,
      "type": "integer"
    },
    "offer": {
      "description": "The worker's offer for this round, while it waits for an answer",
      "maxLength": 65536,
      "minLength": 1,
      "nullable": true,
      "type": "string"
    },
    "projectId": {
      "type": "string"
    },
    "revision": {
      "description": "The stored project revision this session plays",
      "maximum": 9007199254740991,
      "minimum": 1,
      "type": "integer"
    },
    "start": {
      "$ref": "#/components/schemas/StudioPreviewTimeDto",
      "description": "Where playback starts"
    },
    "state": {
      "$ref": "#/components/schemas/StudioPreviewStreamState"
    }
  },
  "required": [
    "bounds",
    "closeReason",
    "currentRevision",
    "expiresAt",
    "id",
    "keepaliveMs",
    "negotiation",
    "offer",
    "projectId",
    "revision",
    "start",
    "state"
  ],
  "type": "object"
}
```
