/** * Audius API * * The version of the OpenAPI document: 1.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import type { AccessGate } from './AccessGate'; import type { CreatePlaylistRequestBodyCopyrightLine } from './CreatePlaylistRequestBodyCopyrightLine'; import type { CreatePlaylistRequestBodyProducerCopyrightLine } from './CreatePlaylistRequestBodyProducerCopyrightLine'; import type { DdexResourceContributor } from './DdexResourceContributor'; import type { DdexRightsController } from './DdexRightsController'; import type { FieldVisibility } from './FieldVisibility'; import type { Genre } from './Genre'; import type { Mood } from './Mood'; import type { RemixParentWrite } from './RemixParentWrite'; import type { StemParent } from './StemParent'; /** * * @export * @interface CreateTrackRequestBody */ export interface CreateTrackRequestBody { /** * Optional track ID (will be generated if not provided) * @type {string} * @memberof CreateTrackRequestBody */ trackId?: string; /** * Track title * @type {string} * @memberof CreateTrackRequestBody */ title: string; /** * * @type {Genre} * @memberof CreateTrackRequestBody */ genre: Genre; /** * Track description * @type {string} * @memberof CreateTrackRequestBody */ description?: string | null; /** * * @type {Mood} * @memberof CreateTrackRequestBody */ mood?: Mood | null; /** * Beats per minute (tempo) * @type {number} * @memberof CreateTrackRequestBody */ bpm?: number | null; /** * Musical key of the track * @type {string} * @memberof CreateTrackRequestBody */ musicalKey?: string | null; /** * Comma-separated tags * @type {string} * @memberof CreateTrackRequestBody */ tags?: string | null; /** * License type * @type {string} * @memberof CreateTrackRequestBody */ license?: string | null; /** * International Standard Recording Code * @type {string} * @memberof CreateTrackRequestBody */ isrc?: string | null; /** * International Standard Musical Work Code * @type {string} * @memberof CreateTrackRequestBody */ iswc?: string | null; /** * Release date * @type {Date} * @memberof CreateTrackRequestBody */ releaseDate?: Date; /** * CID for the track audio file (required) * @type {string} * @memberof CreateTrackRequestBody */ trackCid: string; /** * CID for the original track file * @type {string} * @memberof CreateTrackRequestBody */ origFileCid?: string; /** * Original filename of the track * @type {string} * @memberof CreateTrackRequestBody */ origFilename?: string; /** * CID for the track cover art * @type {string} * @memberof CreateTrackRequestBody */ coverArtSizes?: string; /** * CID for the track preview * @type {string} * @memberof CreateTrackRequestBody */ previewCid?: string; /** * Preview start time in seconds * @type {number} * @memberof CreateTrackRequestBody */ previewStartSeconds?: number; /** * Track duration in seconds * @type {number} * @memberof CreateTrackRequestBody */ duration?: number; /** * Whether the track is downloadable * @type {boolean} * @memberof CreateTrackRequestBody */ isDownloadable?: boolean; /** * Whether the track is unlisted * @type {boolean} * @memberof CreateTrackRequestBody */ isUnlisted?: boolean; /** * Whether streaming is restricted behind an access gate * @type {boolean} * @memberof CreateTrackRequestBody */ isStreamGated?: boolean | null; /** * Wallet addresses that can sign to authorize stream access (programmable distribution). When empty or omitted, the track is public and validator/creator nodes can serve it. * @type {Array} * @memberof CreateTrackRequestBody */ accessAuthorities?: Array | null; /** * * @type {AccessGate} * @memberof CreateTrackRequestBody */ streamConditions?: AccessGate | null; /** * * @type {AccessGate} * @memberof CreateTrackRequestBody */ downloadConditions?: AccessGate | null; /** * * @type {FieldVisibility} * @memberof CreateTrackRequestBody */ fieldVisibility?: FieldVisibility; /** * Placement hosts for the track * @type {string} * @memberof CreateTrackRequestBody */ placementHosts?: string; /** * * @type {StemParent} * @memberof CreateTrackRequestBody */ stemOf?: StemParent; /** * * @type {RemixParentWrite} * @memberof CreateTrackRequestBody */ remixOf?: RemixParentWrite; /** * DDEX application identifier * @type {string} * @memberof CreateTrackRequestBody */ ddexApp?: string | null; /** * DDEX release identifiers * @type {object} * @memberof CreateTrackRequestBody */ ddexReleaseIds?: object | null; /** * DDEX resource contributors / artists * @type {Array} * @memberof CreateTrackRequestBody */ artists?: Array | null; /** * DDEX resource contributors * @type {Array} * @memberof CreateTrackRequestBody */ resourceContributors?: Array | null; /** * DDEX indirect resource contributors * @type {Array} * @memberof CreateTrackRequestBody */ indirectResourceContributors?: Array | null; /** * * @type {DdexRightsController} * @memberof CreateTrackRequestBody */ rightsController?: DdexRightsController; /** * * @type {CreatePlaylistRequestBodyCopyrightLine} * @memberof CreateTrackRequestBody */ copyrightLine?: CreatePlaylistRequestBodyCopyrightLine | null; /** * * @type {CreatePlaylistRequestBodyProducerCopyrightLine} * @memberof CreateTrackRequestBody */ producerCopyrightLine?: CreatePlaylistRequestBodyProducerCopyrightLine | null; /** * Parental warning type * @type {string} * @memberof CreateTrackRequestBody */ parentalWarningType?: string | null; /** * Original song title for cover tracks * @type {string} * @memberof CreateTrackRequestBody */ coverOriginalSongTitle?: string | null; /** * Original artist for cover tracks * @type {string} * @memberof CreateTrackRequestBody */ coverOriginalArtist?: string | null; /** * Whether the track is owned by the user * @type {boolean} * @memberof CreateTrackRequestBody */ isOwnedByUser?: boolean; /** * Territory codes for distribution * @type {Array} * @memberof CreateTrackRequestBody */ territoryCodes?: Array | null; /** * Whether AI use is prohibited * @type {boolean} * @memberof CreateTrackRequestBody */ noAiUse?: boolean; } /** * Check if a given object implements the CreateTrackRequestBody interface. */ export declare function instanceOfCreateTrackRequestBody(value: object): value is CreateTrackRequestBody; export declare function CreateTrackRequestBodyFromJSON(json: any): CreateTrackRequestBody; export declare function CreateTrackRequestBodyFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateTrackRequestBody; export declare function CreateTrackRequestBodyToJSON(value?: CreateTrackRequestBody | null): any;