// Generated by Create API
// https://github.com/CreateAPI/CreateAPI

import Foundation

public struct UploadCallbackSpec: Codable, Equatable, Identifiable {
    public var description: String?
    public var duration: Double?
    public var errorMessage: String?
    public var errorType: String?
    public var gifS3: String?
    public var hasVocal: Bool
    public var hootLyrics: String?
    public var id: String
    public var imageS3: String?
    public var mp4PreviewS3: String?
    public var ok: Int?
    public var requestId: String
    public var s3Id: String?
    public var status: String?
    public var title: String?
    public var type: String
    public var videoCoverClipId: String?
    public var videoHeight: Int?
    public var videoWidth: Int?

    public init(description: String? = nil, duration: Double? = nil, errorMessage: String? = nil, errorType: String? = nil, gifS3: String? = nil, hasVocal: Bool? = nil, hootLyrics: String? = nil, id: String, imageS3: String? = nil, mp4PreviewS3: String? = nil, ok: Int? = nil, requestId: String, s3Id: String? = nil, status: String? = nil, title: String? = nil, type: String, videoCoverClipId: String? = nil, videoHeight: Int? = nil, videoWidth: Int? = nil) {
        self.description = description
        self.duration = duration
        self.errorMessage = errorMessage
        self.errorType = errorType
        self.gifS3 = gifS3
        self.hasVocal = hasVocal ?? false
        self.hootLyrics = hootLyrics
        self.id = id
        self.imageS3 = imageS3
        self.mp4PreviewS3 = mp4PreviewS3
        self.ok = ok
        self.requestId = requestId
        self.s3Id = s3Id
        self.status = status
        self.title = title
        self.type = type
        self.videoCoverClipId = videoCoverClipId
        self.videoHeight = videoHeight
        self.videoWidth = videoWidth
    }
}
