Skip to content

Media data types ​

Fields below are declared serialized members. Base types contribute their own fields; related types link the payload graph. ? means nullable, and required marks a required C# initializer. These are schematic C# contract shapes, not compilable declarations or a separate JSON schema. Constructor members are repeated in the field list for easy scanning. Serialization attributes and implementation helpers are omitted; use the linked source for exact wire aliases and formatters.

GifItem ​

Gif Item contract used by the API operations and related records below. Source

csharp
public sealed partial record GifItem(
    string Slug,
    string Title,
    string PreviewUrl,
    int PreviewWidth,
    int PreviewHeight,
    string Url,
    int Width,
    int Height,
    string BlurPreview
)
{
    string Slug;
    string Title;
    string PreviewUrl;
    int PreviewWidth;
    int PreviewHeight;
    string Url;
    int Width;
    int Height;
    string BlurPreview;
}

GifSearchResult ​

Gif Search Result contract used by the API operations and related records below. Source

csharp
public sealed partial record GifSearchResult(GifItem[] Items, bool HasNext)
{
    GifItem[] Items;
    bool HasNext;
}

Related types: GifItem.

ImageStyle ​

Allowed values for image style. Source

csharp
public enum ImageStyle
{
    None = 0,
    FlatVector = 1,
    LineArt = 2,
    Minimalist = 3,
    Risograph = 4,
    Cartoon = 5,
    Anime = 6,
    ComicBook = 7,
    Watercolor = 8,
    OilPainting = 9,
    PencilSketch = 10,
    FantasyArt = 11,
    Isometric = 12,
    LowPoly = 13,
    Render3D = 14,
    Claymation = 15,
    Papercut = 16,
    StainedGlass = 17,
    PixelArt = 18,
    Photo = 19,
    Cinematic = 20,
    NeonCyberpunk = 21,
    Ghibli = 22,
    Default = 23,
    Random = 24,
}

ImageSuggestion ​

Image Suggestion contract used by the API operations and related records below. Source

csharp
public sealed partial record ImageSuggestion(
    string Key,
    MediaId MediaId,
    string ImageDescription,
    Moment CreatedAt,
    long Version = 0
) : IHasVersion<long>
{
    string Key;
    MediaId MediaId;
    string ImageDescription;
    Moment CreatedAt;
    long Version;
    Media? Media;
}

Related types: Media, MediaId.

LinkPreview ​

Represents a preview of a linked URL with title, description, and thumbnail. Source

csharp
public sealed partial record LinkPreview
    : IHasId<Symbol>,
      IHasVersion<long>,
      IHasMetadata,
      IRequirementTarget
{
    required Symbol Id;
    long Version;
    string Url;
    MediaId? PreviewMediaId;
    string Title;
    string Description;
    Moment CreatedAt;
    Moment ModifiedAt;
    Media? PreviewMedia;
    MetadataBag Metadata;
}

Related types: Media, MediaId.

LinkPreviewMode ​

Specifies the display mode for link previews. Source

csharp
public enum LinkPreviewMode
{
    Default = 0,
    None,
    Compact,
    Full,
}

Media ​

Represents uploaded media content (images, audio, video, files). Source

csharp
public partial record Media
    : IHasId<MediaId>,
      IHasVersion<long>,
      IHasMetadata,
      IRequirementTarget
{
    MediaId Id;
    string BlobId;
    long Version;
    MediaKind Kind;
    MetadataBag Metadata;
    byte[]? Placeholder;
}

Related types: MediaId, MediaKind.

MediaFormat ​

Base class for media format descriptors (audio, video). Source

csharp
public abstract record MediaFormat

No additional serialized fields are declared here; use the base contract or string-identifier representation.

MediaFrame ​

Base class for media data frames (audio, video). Source

csharp
public abstract partial record MediaFrame
{
    ReadOnlyMemory<byte> Data;
    abstract TimeSpan Offset;
    abstract TimeSpan Duration;
}

Related types: AudioFrame.

MediaKind ​

Allowed values for media kind. Source

csharp
public enum MediaKind
{
    Unknown = 0,
    ChatEntryAudio = 0x1,
    ChatEntryVideo = 0x2,
    ChatEntryAttachment = 0x3,
    ChatPicture = 0x10,
    UserPicture = 0x20,
    UserAvatarPicture = 0x21,
    LinkPreviewPicture = 0x30,
}

MediaProcessingStage ​

Allowed values for media processing stage. Source

csharp
public enum MediaProcessingStage
{
    Reserved = 0,
    ClientProcessing,
    Uploading,
    Uploaded,
    ServerProcessing,
    Saving,
    Ready,
}

MediaProgress ​

Media Progress contract used by the API operations and related records below. Source

csharp
public sealed partial record MediaProgress(
    MediaId Id,
    long Version,
    MediaProcessingStage Stage,
    double StageProgress,
    string? Error = null
) : IHasId<MediaId>, IHasVersion<long>
{
    MediaId Id;
    long Version;
    MediaProcessingStage Stage;
    double StageProgress;
    string? Error;
}

Related types: MediaId, MediaProcessingStage.

MediaRef ​

References uploaded media and optional thumbnail. Source

csharp
public sealed partial record MediaRef(
    MediaId MediaId,
    string BlobId,
    MediaId? ThumbnailMediaId = null,
    string? ThumbnailBlobId = null
)
{
    MediaId MediaId;
    string BlobId;
    MediaId? ThumbnailMediaId;
    string? ThumbnailBlobId;
}

Related types: MediaId.

Media_Generate ​

Command payload for media generate. Source

csharp
public sealed partial record Media_Generate : ApiCommand<MediaRef?>
{
    required string Scope;
    required string Description;
    ImageStyle Style;
    MediaKind Kind;
    bool IsBackground;
}

Related types: ApiCommand, ImageStyle, MediaKind, MediaRef.

Media_ProcessUpload ​

Command payload for media process upload. Source

csharp
public sealed partial record Media_ProcessUpload : ApiCommand<MediaRef>
{
    required MediaId MediaId;
    required UploadId UploadId;
}

Related types: ApiCommand, MediaId, MediaRef, UploadId.

Media_RemoveMedia ​

Command payload for media remove media. Source

csharp
public sealed partial record Media_RemoveMedia : ApiCommand<Unit>
{
    required MediaId MediaId;
}

Related types: ApiCommand, MediaId.

Media_ReserveMedia ​

Command payload for media reserve media. Source

csharp
public sealed partial record Media_ReserveMedia : ApiCommand<MediaId>
{
    required string Scope;
    MetadataBag Metadata;
    MediaKind Kind;
    byte[]? Placeholder;
}

Related types: ApiCommand, MediaId, MediaKind.

Media_UpdateProgress ​

Command payload for media update progress. Source

csharp
public sealed partial record Media_UpdateProgress : ApiCommand<Unit>
{
    required MediaId MediaId;
    required long? ExpectedVersion;
    required MediaProcessingStage Stage;
    required double StageProgress;
    string? Error;
}

Related types: ApiCommand, MediaId, MediaProcessingStage.

Size2D ​

Size2D contract used by the API operations and related records below. Source

csharp
public readonly partial record struct Size2D(int Width, int Height)
{
    int Width;
    int Height;
}

Uploads_Append ​

Command payload for uploads append. Source

csharp
public sealed partial record Uploads_Append : ApiCommand<long>, INotDeduplicated
{
    required UploadId UploadId;
    required long Offset;
    required byte[] Chunk;
}

Related types: ApiCommand, UploadId.

Uploads_ConvertToMediaRef ​

Command payload for uploads convert to media ref. Source

csharp
public sealed partial record Uploads_ConvertToMediaRef : ApiCommand<MediaRef>
{
    required UploadId UploadId;
}

Related types: ApiCommand, MediaRef, UploadId.

Uploads_Create ​

Command payload for uploads create. Source

csharp
public sealed partial record Uploads_Create : ApiCommand<UploadId>
{
    required long? Length;
    required string Tag;
    required MetadataBag Metadata;
}

Related types: ApiCommand, UploadId.

Uploads_Remove ​

Command payload for uploads remove. Source

csharp
public sealed partial record Uploads_Remove : ApiCommand<Unit>
{
    required UploadId UploadId;
}

Related types: ApiCommand, UploadId.

Uploads_StartProcessUpload ​

Command payload for uploads start process upload. Source

csharp
public sealed partial record Uploads_StartProcessUpload : ApiCommand<Unit>
{
    required UploadId UploadId;
    required MediaId MediaId;
}

Related types: ApiCommand, MediaId, UploadId.

VideoSourceKind ​

Allowed values for video source kind. Source

csharp
public enum VideoSourceKind : byte
{
    Camera,
    ScreenCast,
}