# so.sprk.video.defs

> Published by [sprk.so](https://lexicon.garden/identity/did:plc:cveom2iroj3mt747sd4qqnr2)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:cveom2iroj3mt747sd4qqnr2/so.sprk.video.defs)
- [Documentation](https://lexicon.garden/lexicon/did:plc:cveom2iroj3mt747sd4qqnr2/so.sprk.video.defs/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:cveom2iroj3mt747sd4qqnr2/so.sprk.video.defs/examples)

## Definitions

### `so.sprk.video.defs#jobStatus`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `did` | `string` (did) | Yes |  |
| `blob` | `blob` | No |  |
| `audio` | `ref` → `so.sprk.video.defs#extractedAudio` | No |  |
| `error` | `string` | No |  |
| `jobId` | `string` | Yes |  |
| `state` | `string` | Yes | The state of the video processing job. All values not listed as a known value indicate that the job is in process. |
| `message` | `string` | No |  |
| `progress` | `integer` | No | Progress within the current processing state. |

### `so.sprk.video.defs#extractedAudio`

**Type**: `object`

Audio extracted from the uploaded video for client-side record creation.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `blob` | `blob` | Yes |  |
| `details` | `ref` → `so.sprk.sound.defs#audioDetails` | No |  |

## Raw Schema

```json
{
  "id": "so.sprk.video.defs",
  "defs": {
    "jobStatus": {
      "type": "object",
      "required": [
        "jobId",
        "did",
        "state"
      ],
      "properties": {
        "did": {
          "type": "string",
          "format": "did"
        },
        "blob": {
          "type": "blob"
        },
        "audio": {
          "ref": "so.sprk.video.defs#extractedAudio",
          "type": "ref"
        },
        "error": {
          "type": "string"
        },
        "jobId": {
          "type": "string"
        },
        "state": {
          "type": "string",
          "description": "The state of the video processing job. All values not listed as a known value indicate that the job is in process.",
          "knownValues": [
            "JOB_STATE_COMPLETED",
            "JOB_STATE_FAILED",
            "JOB_STATE_QUEUED",
            "JOB_STATE_PROCESSING"
          ]
        },
        "message": {
          "type": "string"
        },
        "progress": {
          "type": "integer",
          "maximum": 100,
          "minimum": 0,
          "description": "Progress within the current processing state."
        }
      }
    },
    "extractedAudio": {
      "type": "object",
      "required": [
        "blob"
      ],
      "properties": {
        "blob": {
          "type": "blob"
        },
        "details": {
          "ref": "so.sprk.sound.defs#audioDetails",
          "type": "ref"
        }
      },
      "description": "Audio extracted from the uploaded video for client-side record creation."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
