# MetaData Structure

    public struct MetaData : Codable, Hashable

The meta-data object is a dictionary that can contain arbitrary data.

### Lifecycle

- `init(assetId:title:byline:metadataDescription:posterUrl:thumbUrl:videoCodecs:audioCodecs:hoster:customHoster:subtitles:multiAudio:clear_key:extra:)`

  Creates metadata with explicit values.

  #### Declaration

  Swift

      public init(
          assetId: String? = nil,
          title: String? = nil,
          byline: String? = nil,
          metadataDescription: String? = nil,
          posterUrl: String? = nil,
          thumbUrl: String? = nil,
          videoCodecs: [VideoCodec]? = nil,
          audioCodecs: [AudioCodec]? = nil,
          hoster: String? = nil,
          customHoster: String? = nil,
          subtitles: Bool? = nil,
          multiAudio: Bool? = nil,
          clear_key: Bool? = nil,
          extra: [String: String]? = nil
      )

  #### Parameters

  `assetId` | Asset identifier.
  `title` | Main title.
  `byline` | Byline/author label.
  `metadataDescription` | Long-form metadata description.
  `posterUrl` | Poster URL string.
  `thumbUrl` | Thumbnail URL string.
  `videoCodecs` | Video codec list.
  `audioCodecs` | Audio codec list.
  `hoster` | Hoster/provider identifier.
  `customHoster` | Custom hoster label.
  `subtitles` | Whether subtitles are available.
  `multiAudio` | Whether multiple audio tracks are available.
  `clear_key` | Whether ClearKey is used.
  `extra` | Additional arbitrary metadata key-values.