diff --git a/packages/backend/src/core/entities/AbuseUserReportEntityService.ts b/packages/backend/src/core/entities/AbuseUserReportEntityService.ts
index 9bc47a90a9..8ce75c917b 100644
--- a/packages/backend/src/core/entities/AbuseUserReportEntityService.ts
+++ b/packages/backend/src/core/entities/AbuseUserReportEntityService.ts
@@ -6,7 +6,6 @@ import type { AbuseUserReport } from '@/models/entities/AbuseUserReport.js';
 import { UserEntityService } from './UserEntityService.js';
 import { bindThis } from '@/decorators.js';
 import type { Packed } from 'misskey-js';
-import type { Serialized } from 'schema-type';
 
 @Injectable()
 export class AbuseUserReportEntityService {
@@ -21,7 +20,7 @@ export class AbuseUserReportEntityService {
 	@bindThis
 	public async pack(
 		src: AbuseUserReport['id'] | AbuseUserReport,
-	): Promise<Serialized<Packed<'AbuseUserReport'>>> {
+	): Promise<Packed<'AbuseUserReport'>> {
 		const report = typeof src === 'object' ? src : await this.abuseUserReportsRepository.findOneByOrFail({ id: src });
 
 		return await awaitAll({
@@ -48,7 +47,7 @@ export class AbuseUserReportEntityService {
 	@bindThis
 	public packMany(
 		reports: any[],
-	): Promise<Serialized<Packed<'AbuseUserReport'>>[]> {
+	): Promise<Packed<'AbuseUserReport'>[]> {
 		return Promise.all(reports.map(x => this.pack(x)));
 	}
 }
diff --git a/packages/backend/src/core/entities/AntennaEntityService.ts b/packages/backend/src/core/entities/AntennaEntityService.ts
index c99a99d525..f6c1bbbc58 100644
--- a/packages/backend/src/core/entities/AntennaEntityService.ts
+++ b/packages/backend/src/core/entities/AntennaEntityService.ts
@@ -2,7 +2,6 @@ import { Inject, Injectable } from '@nestjs/common';
 import { DI } from '@/di-symbols.js';
 import type { AntennasRepository } from '@/models/index.js';
 import type { Packed } from 'misskey-js';
-import type { Serialized } from 'schema-type';
 import type { Antenna } from '@/models/entities/Antenna.js';
 import { bindThis } from '@/decorators.js';
 
@@ -17,7 +16,7 @@ export class AntennaEntityService {
 	@bindThis
 	public async pack(
 		src: Antenna['id'] | Antenna,
-	): Promise<Serialized<Packed<'Antenna'>>> {
+	): Promise<Packed<'Antenna'>> {
 		const antenna = typeof src === 'object' ? src : await this.antennasRepository.findOneByOrFail({ id: src });
 
 		return {
diff --git a/packages/backend/src/core/entities/BlockingEntityService.ts b/packages/backend/src/core/entities/BlockingEntityService.ts
index 92a792aee2..ae62f320ce 100644
--- a/packages/backend/src/core/entities/BlockingEntityService.ts
+++ b/packages/backend/src/core/entities/BlockingEntityService.ts
@@ -23,7 +23,7 @@ export class BlockingEntityService {
 	public async pack(
 		src: Blocking['id'] | Blocking,
 		me?: { id: User['id'] } | null | undefined,
-	): Promise<Serialized<Packed<'Blocking'>>> {
+	): Promise<Packed<'Blocking'>> {
 		const blocking = typeof src === 'object' ? src : await this.blockingsRepository.findOneByOrFail({ id: src });
 
 		return await awaitAll({
@@ -40,7 +40,7 @@ export class BlockingEntityService {
 	public packMany(
 		blockings: any[],
 		me: { id: User['id'] },
-	): Promise<Serialized<Packed<'Blocking'>>[]> {
+	): Promise<Packed<'Blocking'>[]> {
 		return Promise.all(blockings.map(x => this.pack(x, me)));
 	}
 }
diff --git a/packages/backend/src/core/entities/ChannelEntityService.ts b/packages/backend/src/core/entities/ChannelEntityService.ts
index 8e0be563ed..e31ad17b2e 100644
--- a/packages/backend/src/core/entities/ChannelEntityService.ts
+++ b/packages/backend/src/core/entities/ChannelEntityService.ts
@@ -2,7 +2,6 @@ import { Inject, Injectable } from '@nestjs/common';
 import { DI } from '@/di-symbols.js';
 import type { ChannelFavoritesRepository, ChannelFollowingsRepository, ChannelsRepository, DriveFilesRepository, NoteUnreadsRepository, NotesRepository } from '@/models/index.js';
 import type { Packed } from 'misskey-js';
-import type { Serialized } from 'schema-type';
 import type { User } from '@/models/entities/User.js';
 import type { Channel } from '@/models/entities/Channel.js';
 import { bindThis } from '@/decorators.js';
@@ -41,7 +40,7 @@ export class ChannelEntityService {
 		src: Channel['id'] | Channel,
 		me?: { id: User['id'] } | null | undefined,
 		detailed?: boolean,
-	): Promise<Serialized<Packed<'Channel'>>> {
+	): Promise<Packed<'Channel'>> {
 		const channel = typeof src === 'object' ? src : await this.channelsRepository.findOneByOrFail({ id: src });
 		const meId = me ? me.id : null;
 
diff --git a/packages/backend/src/core/entities/ClipEntityService.ts b/packages/backend/src/core/entities/ClipEntityService.ts
index 3e686f5a10..4d10707cf5 100644
--- a/packages/backend/src/core/entities/ClipEntityService.ts
+++ b/packages/backend/src/core/entities/ClipEntityService.ts
@@ -3,7 +3,6 @@ import { DI } from '@/di-symbols.js';
 import type { ClipFavoritesRepository, ClipsRepository, User } from '@/models/index.js';
 import { awaitAll } from '@/misc/prelude/await-all.js';
 import type { Packed } from 'misskey-js';
-import type { Serialized } from 'schema-type';
 import type { Clip } from '@/models/entities/Clip.js';
 import { bindThis } from '@/decorators.js';
 import { UserEntityService } from './UserEntityService.js';
@@ -25,7 +24,7 @@ export class ClipEntityService {
 	public async pack(
 		src: Clip['id'] | Clip,
 		me?: { id: User['id'] } | null | undefined,
-	): Promise<Serialized<Packed<'Clip'>>> {
+	): Promise<Packed<'Clip'>> {
 		const meId = me ? me.id : null;
 		const clip = typeof src === 'object' ? src : await this.clipsRepository.findOneByOrFail({ id: src });
 
@@ -47,7 +46,7 @@ export class ClipEntityService {
 	public packMany(
 		clips: Clip[],
 		me?: { id: User['id'] } | null | undefined,
-	): Promise<Serialized<Packed<'Clip'>>[]> {
+	): Promise<Packed<'Clip'>[]> {
 		return Promise.all(clips.map(x => this.pack(x, me)));
 	}
 }
diff --git a/packages/backend/src/core/entities/DriveFileEntityService.ts b/packages/backend/src/core/entities/DriveFileEntityService.ts
index bcb6a2bf95..11b52ae4c5 100644
--- a/packages/backend/src/core/entities/DriveFileEntityService.ts
+++ b/packages/backend/src/core/entities/DriveFileEntityService.ts
@@ -4,7 +4,6 @@ import { DI } from '@/di-symbols.js';
 import type { NotesRepository, DriveFilesRepository } from '@/models/index.js';
 import type { Config } from '@/config.js';
 import type { Packed } from 'misskey-js';
-import type { Serialized } from 'schema-type';
 import { awaitAll } from '@/misc/prelude/await-all.js';
 import type { User } from '@/models/entities/User.js';
 import type { DriveFile } from '@/models/entities/DriveFile.js';
@@ -188,7 +187,7 @@ export class DriveFileEntityService {
 	public async pack(
 		src: DriveFile['id'] | DriveFile,
 		options?: PackOptions,
-	): Promise<Serialized<Packed<'DriveFile'>>> {
+	): Promise<Packed<'DriveFile'>> {
 		const opts = Object.assign({
 			detail: false,
 			self: false,
@@ -196,7 +195,7 @@ export class DriveFileEntityService {
 
 		const file = typeof src === 'object' ? src : await this.driveFilesRepository.findOneByOrFail({ id: src });
 
-		return await awaitAll<Serialized<Packed<'DriveFile'>>>({
+		return await awaitAll<Packed<'DriveFile'>>({
 			id: file.id,
 			createdAt: file.createdAt.toISOString(),
 			name: file.name,
@@ -222,7 +221,7 @@ export class DriveFileEntityService {
 	public async packNullable(
 		src: DriveFile['id'] | DriveFile,
 		options?: PackOptions,
-	): Promise<Serialized<Packed<'DriveFile'>> | null> {
+	): Promise<Packed<'DriveFile'> | null> {
 		const opts = Object.assign({
 			detail: false,
 			self: false,
@@ -231,7 +230,7 @@ export class DriveFileEntityService {
 		const file = typeof src === 'object' ? src : await this.driveFilesRepository.findOneBy({ id: src });
 		if (file == null) return null;
 
-		return await awaitAll<Serialized<Packed<'DriveFile'>>>({
+		return await awaitAll<Packed<'DriveFile'>>({
 			id: file.id,
 			createdAt: file.createdAt.toISOString(),
 			name: file.name,
@@ -257,20 +256,20 @@ export class DriveFileEntityService {
 	public async packMany(
 		files: DriveFile[],
 		options?: PackOptions,
-	): Promise<Serialized<Packed<'DriveFile'>>[]> {
+	): Promise<Packed<'DriveFile'>[]> {
 		const items = await Promise.all(files.map(f => this.packNullable(f, options)));
-		return items.filter((x): x is Serialized<Packed<'DriveFile'>> => x != null);
+		return items.filter((x): x is Packed<'DriveFile'> => x != null);
 	}
 
 	@bindThis
 	public async packManyByIdsMap(
 		fileIds: DriveFile['id'][],
 		options?: PackOptions,
-	): Promise<Map<Serialized<Packed<'DriveFile'>>['id'], Serialized<Packed<'DriveFile'>> | null>> {
+	): Promise<Map<Packed<'DriveFile'>>['id'], Serialized<Packed<'DriveFile'> | null>> {
 		if (fileIds.length === 0) return new Map();
 		const files = await this.driveFilesRepository.findBy({ id: In(fileIds) });
 		const packedFiles = await this.packMany(files, options);
-		const map = new Map<Serialized<Packed<'DriveFile'>>['id'], Serialized<Packed<'DriveFile'>> | null>(packedFiles.map(f => [f.id, f]));
+		const map = new Map<Packed<'DriveFile'>>['id'], Serialized<Packed<'DriveFile'> | null>(packedFiles.map(f => [f.id, f]));
 		for (const id of fileIds) {
 			if (!map.has(id)) map.set(id, null);
 		}
@@ -281,7 +280,7 @@ export class DriveFileEntityService {
 	public async packManyByIds(
 		fileIds: DriveFile['id'][],
 		options?: PackOptions,
-	): Promise<Serialized<Packed<'DriveFile'>>[]> {
+	): Promise<Packed<'DriveFile'>[]> {
 		if (fileIds.length === 0) return [];
 		const filesMap = await this.packManyByIdsMap(fileIds, options);
 		return fileIds.map(id => filesMap.get(id)).filter(isNotNull);
diff --git a/packages/backend/src/core/entities/DriveFolderEntityService.ts b/packages/backend/src/core/entities/DriveFolderEntityService.ts
index 8ee5ff528b..9bd9c0e6f2 100644
--- a/packages/backend/src/core/entities/DriveFolderEntityService.ts
+++ b/packages/backend/src/core/entities/DriveFolderEntityService.ts
@@ -3,7 +3,6 @@ import { DI } from '@/di-symbols.js';
 import type { DriveFilesRepository, DriveFoldersRepository } from '@/models/index.js';
 import { awaitAll } from '@/misc/prelude/await-all.js';
 import type { Packed } from 'misskey-js';
-import type { Serialized } from 'schema-type';
 import type { DriveFolder } from '@/models/entities/DriveFolder.js';
 import { bindThis } from '@/decorators.js';
 
@@ -24,7 +23,7 @@ export class DriveFolderEntityService {
 		options?: {
 			detail: boolean
 		},
-	): Promise<Serialized<Packed<'DriveFolder'>>> {
+	): Promise<Packed<'DriveFolder'>> {
 		const opts = Object.assign({
 			detail: false,
 		}, options);
diff --git a/packages/backend/src/core/entities/FlashEntityService.ts b/packages/backend/src/core/entities/FlashEntityService.ts
index 05e366bec6..3240e86492 100644
--- a/packages/backend/src/core/entities/FlashEntityService.ts
+++ b/packages/backend/src/core/entities/FlashEntityService.ts
@@ -3,7 +3,6 @@ import { DI } from '@/di-symbols.js';
 import type { FlashsRepository, FlashLikesRepository } from '@/models/index.js';
 import { awaitAll } from '@/misc/prelude/await-all.js';
 import type { Packed } from 'misskey-js';
-import type { Serialized } from 'schema-type';
 import type { User } from '@/models/entities/User.js';
 import type { Flash } from '@/models/entities/Flash.js';
 import { bindThis } from '@/decorators.js';
@@ -26,7 +25,7 @@ export class FlashEntityService {
 	public async pack(
 		src: Flash['id'] | Flash,
 		me?: { id: User['id'] } | null | undefined,
-	): Promise<Serialized<Packed<'Flash'>>> {
+	): Promise<Packed<'Flash'>> {
 		const meId = me ? me.id : null;
 		const flash = typeof src === 'object' ? src : await this.flashsRepository.findOneByOrFail({ id: src });
 
diff --git a/packages/backend/src/core/entities/FollowingEntityService.ts b/packages/backend/src/core/entities/FollowingEntityService.ts
index cb04da239c..d096555990 100644
--- a/packages/backend/src/core/entities/FollowingEntityService.ts
+++ b/packages/backend/src/core/entities/FollowingEntityService.ts
@@ -3,7 +3,6 @@ import { DI } from '@/di-symbols.js';
 import type { FollowingsRepository } from '@/models/index.js';
 import { awaitAll } from '@/misc/prelude/await-all.js';
 import type { Packed } from 'misskey-js';
-import type { Serialized } from 'schema-type';
 import type { User } from '@/models/entities/User.js';
 import type { Following } from '@/models/entities/Following.js';
 import { bindThis } from '@/decorators.js';
@@ -71,7 +70,7 @@ export class FollowingEntityService {
 			populateFollowee?: boolean;
 			populateFollower?: boolean;
 		},
-	): Promise<Serialized<Packed<'Following'>>> {
+	): Promise<Packed<'Following'>> {
 		const following = typeof src === 'object' ? src : await this.followingsRepository.findOneByOrFail({ id: src });
 
 		if (opts == null) opts = {};
diff --git a/packages/backend/src/core/entities/GalleryPostEntityService.ts b/packages/backend/src/core/entities/GalleryPostEntityService.ts
index e2308f66c2..dd2eaf395a 100644
--- a/packages/backend/src/core/entities/GalleryPostEntityService.ts
+++ b/packages/backend/src/core/entities/GalleryPostEntityService.ts
@@ -3,7 +3,6 @@ import { DI } from '@/di-symbols.js';
 import type { GalleryLikesRepository, GalleryPostsRepository } from '@/models/index.js';
 import { awaitAll } from '@/misc/prelude/await-all.js';
 import type { Packed } from 'misskey-js';
-import type { Serialized } from 'schema-type';
 import type { User } from '@/models/entities/User.js';
 import type { GalleryPost } from '@/models/entities/GalleryPost.js';
 import { bindThis } from '@/decorators.js';
@@ -28,7 +27,7 @@ export class GalleryPostEntityService {
 	public async pack(
 		src: GalleryPost['id'] | GalleryPost,
 		me?: { id: User['id'] } | null | undefined,
-	): Promise<Serialized<Packed<'GalleryPost'>>> {
+	): Promise<Packed<'GalleryPost'>> {
 		const meId = me ? me.id : null;
 		const post = typeof src === 'object' ? src : await this.galleryPostsRepository.findOneByOrFail({ id: src });
 
diff --git a/packages/backend/src/core/entities/InstanceEntityService.ts b/packages/backend/src/core/entities/InstanceEntityService.ts
index 3e8f1c5947..32ff4f1fc1 100644
--- a/packages/backend/src/core/entities/InstanceEntityService.ts
+++ b/packages/backend/src/core/entities/InstanceEntityService.ts
@@ -2,7 +2,6 @@ import { Inject, Injectable } from '@nestjs/common';
 import { DI } from '@/di-symbols.js';
 import type { InstancesRepository } from '@/models/index.js';
 import type { Packed } from 'misskey-js';
-import type { Serialized } from 'schema-type';
 import type { Instance } from '@/models/entities/Instance.js';
 import { MetaService } from '@/core/MetaService.js';
 import { bindThis } from '@/decorators.js';
@@ -23,7 +22,7 @@ export class InstanceEntityService {
 	@bindThis
 	public async pack(
 		instance: Instance,
-	): Promise<Serialized<Packed<'FederationInstance'>>> {
+	): Promise<Packed<'FederationInstance'>> {
 		const meta = await this.metaService.fetch();
 		return {
 			id: instance.id,
diff --git a/packages/backend/src/core/entities/ModerationLogEntityService.ts b/packages/backend/src/core/entities/ModerationLogEntityService.ts
index ea54e1259c..76e248f73e 100644
--- a/packages/backend/src/core/entities/ModerationLogEntityService.ts
+++ b/packages/backend/src/core/entities/ModerationLogEntityService.ts
@@ -6,7 +6,6 @@ import type { ModerationLog } from '@/models/entities/ModerationLog.js';
 import { UserEntityService } from './UserEntityService.js';
 import { bindThis } from '@/decorators.js';
 import type { Packed } from 'misskey-js';
-import type { Serialized } from 'schema-type';
 
 @Injectable()
 export class ModerationLogEntityService {
@@ -21,7 +20,7 @@ export class ModerationLogEntityService {
 	@bindThis
 	public async pack(
 		src: ModerationLog['id'] | ModerationLog,
-	): Promise<Serialized<Packed<'ModerationLog'>>> {
+	): Promise<Packed<'ModerationLog'>> {
 		const log = typeof src === 'object' ? src : await this.moderationLogsRepository.findOneByOrFail({ id: src });
 
 		return await awaitAll({
@@ -39,7 +38,7 @@ export class ModerationLogEntityService {
 	@bindThis
 	public packMany(
 		reports: any[],
-	): Promise<Serialized<Packed<'ModerationLog'>>[]> {
+	): Promise<Packed<'ModerationLog'>[]> {
 		return Promise.all(reports.map(x => this.pack(x)));
 	}
 }
diff --git a/packages/backend/src/core/entities/MutingEntityService.ts b/packages/backend/src/core/entities/MutingEntityService.ts
index 7a02a13288..94297aa32b 100644
--- a/packages/backend/src/core/entities/MutingEntityService.ts
+++ b/packages/backend/src/core/entities/MutingEntityService.ts
@@ -3,7 +3,6 @@ import { DI } from '@/di-symbols.js';
 import type { MutingsRepository } from '@/models/index.js';
 import { awaitAll } from '@/misc/prelude/await-all.js';
 import type { Packed } from 'misskey-js';
-import type { Serialized } from 'schema-type';
 import type { User } from '@/models/entities/User.js';
 import type { Muting } from '@/models/entities/Muting.js';
 import { bindThis } from '@/decorators.js';
@@ -23,7 +22,7 @@ export class MutingEntityService {
 	public async pack(
 		src: Muting['id'] | Muting,
 		me?: { id: User['id'] } | null | undefined,
-	): Promise<Serialized<Packed<'Muting'>>> {
+	): Promise<Packed<'Muting'>> {
 		const muting = typeof src === 'object' ? src : await this.mutingsRepository.findOneByOrFail({ id: src });
 
 		return await awaitAll({
diff --git a/packages/backend/src/core/entities/NoteEntityService.ts b/packages/backend/src/core/entities/NoteEntityService.ts
index 2ef11840d7..7337e3358f 100644
--- a/packages/backend/src/core/entities/NoteEntityService.ts
+++ b/packages/backend/src/core/entities/NoteEntityService.ts
@@ -4,7 +4,6 @@ import * as mfm from 'mfm-js';
 import { ModuleRef } from '@nestjs/core';
 import { DI } from '@/di-symbols.js';
 import type { Packed } from 'misskey-js';
-import type { Serialized } from 'schema-type';
 import { nyaize } from '@/misc/nyaize.js';
 import { awaitAll } from '@/misc/prelude/await-all.js';
 import type { User } from '@/models/entities/User.js';
@@ -71,7 +70,7 @@ export class NoteEntityService implements OnModuleInit {
 	}
 	
 	@bindThis
-	private async hideNote(packedNote: Serialized<Packed<'Note'>>, meId: User['id'] | null) {
+	private async hideNote(packedNote: Packed<'Note'>, meId: User['id'] | null) {
 	// TODO: isVisibleForMe を使うようにしても良さそう(型違うけど)
 		let hide = false;
 
@@ -256,7 +255,7 @@ export class NoteEntityService implements OnModuleInit {
 	}
 
 	@bindThis
-	public async packAttachedFiles(fileIds: Note['fileIds'], packedFiles: Map<Note['fileIds'][number], Serialized<Packed<'DriveFile'>> | null>): Promise<Serialized<Packed<'DriveFile'>>[]> {
+	public async packAttachedFiles(fileIds: Note['fileIds'], packedFiles: Map<Note['fileIds'][number], Packed<'DriveFile'> | null>): Promise<Packed<'DriveFile'>[]> {
 		const missingIds = [];
 		for (const id of fileIds) {
 			if (!packedFiles.has(id)) missingIds.push(id);
@@ -279,10 +278,10 @@ export class NoteEntityService implements OnModuleInit {
 			skipHide?: boolean;
 			_hint_?: {
 				myReactions: Map<Note['id'], NoteReaction | null>;
-				packedFiles: Map<Note['fileIds'][number], Serialized<Packed<'DriveFile'>> | null>;
+				packedFiles: Map<Note['fileIds'][number], Packed<'DriveFile'> | null>;
 			};
 		},
-	): Promise<Serialized<Packed<'Note'>>> {
+	): Promise<Packed<'Note'>> {
 		const opts = Object.assign({
 			detail: true,
 			skipHide: false,
@@ -309,7 +308,7 @@ export class NoteEntityService implements OnModuleInit {
 			.map(x => this.reactionService.decodeReaction(x).reaction.replaceAll(':', ''));
 		const packedFiles = options?._hint_?.packedFiles;
 
-		const packed: Serialized<Packed<'Note'>> = await awaitAll({
+		const packed: Packed<'Note'> = await awaitAll({
 			id: note.id,
 			createdAt: note.createdAt.toISOString(),
 			userId: note.userId,
diff --git a/packages/backend/src/core/entities/NoteFavoriteEntityService.ts b/packages/backend/src/core/entities/NoteFavoriteEntityService.ts
index 4563e8998d..5102012242 100644
--- a/packages/backend/src/core/entities/NoteFavoriteEntityService.ts
+++ b/packages/backend/src/core/entities/NoteFavoriteEntityService.ts
@@ -2,7 +2,6 @@ import { Inject, Injectable } from '@nestjs/common';
 import { DI } from '@/di-symbols.js';
 import type { NoteFavoritesRepository } from '@/models/index.js';
 import type { Packed } from 'misskey-js';
-import type { Serialized } from 'schema-type';
 import type { User } from '@/models/entities/User.js';
 import type { NoteFavorite } from '@/models/entities/NoteFavorite.js';
 import { NoteEntityService } from './NoteEntityService.js';
@@ -22,7 +21,7 @@ export class NoteFavoriteEntityService {
 	public async pack(
 		src: NoteFavorite['id'] | NoteFavorite,
 		me?: { id: User['id'] } | null | undefined,
-	): Promise<Serialized<Packed<'NoteFavorite'>>> {
+	): Promise<Packed<'NoteFavorite'>> {
 		const favorite = typeof src === 'object' ? src : await this.noteFavoritesRepository.findOneByOrFail({ id: src });
 
 		return {
diff --git a/packages/backend/src/core/entities/NoteReactionEntityService.ts b/packages/backend/src/core/entities/NoteReactionEntityService.ts
index 3105ebc999..38c410d3a3 100644
--- a/packages/backend/src/core/entities/NoteReactionEntityService.ts
+++ b/packages/backend/src/core/entities/NoteReactionEntityService.ts
@@ -2,7 +2,6 @@ import { Inject, Injectable } from '@nestjs/common';
 import { DI } from '@/di-symbols.js';
 import type { NoteReactionsRepository } from '@/models/index.js';
 import type { Packed } from 'misskey-js';
-import type { Serialized } from 'schema-type';
 import { bindThis } from '@/decorators.js';
 import type { OnModuleInit } from '@nestjs/common';
 import type { User } from '@/models/entities/User.js';
@@ -43,7 +42,7 @@ export class NoteReactionEntityService implements OnModuleInit {
 		options?: {
 			withNote: boolean;
 		},
-	): Promise<Serialized<Packed<'NoteReaction'>>> {
+	): Promise<Packed<'NoteReaction'>> {
 		const opts = Object.assign({
 			withNote: false,
 		}, options);
diff --git a/packages/backend/src/core/entities/NotificationEntityService.ts b/packages/backend/src/core/entities/NotificationEntityService.ts
index af1f5a1717..a5f2fe6244 100644
--- a/packages/backend/src/core/entities/NotificationEntityService.ts
+++ b/packages/backend/src/core/entities/NotificationEntityService.ts
@@ -7,7 +7,6 @@ import { awaitAll } from '@/misc/prelude/await-all.js';
 import type { Notification } from '@/models/entities/Notification.js';
 import type { Note } from '@/models/entities/Note.js';
 import type { Packed } from 'misskey-js';
-import type { Serialized } from 'schema-type';
 import { bindThis } from '@/decorators.js';
 import { isNotNull } from '@/misc/is-not-null.js';
 import { notificationTypes } from 'misskey-js';
@@ -63,10 +62,10 @@ export class NotificationEntityService implements OnModuleInit {
 			
 		},
 		hint?: {
-			packedNotes: Map<Note['id'], Serialized<Packed<'Note'>>>;
-			packedUsers: Map<User['id'], Serialized<Packed<'User'>>>;
+			packedNotes: Map<Note['id'], Packed<'Note'>>;
+			packedUsers: Map<User['id'], Packed<'User'>>;
 		},
-	): Promise<Serialized<Packed<'Notification'>>> {
+	): Promise<Packed<'Notification'>> {
 		const notification = src;
 		const token = notification.appAccessTokenId ? await this.accessTokensRepository.findOneByOrFail({ id: notification.appAccessTokenId }) : null;
 		const noteIfNeed = NOTE_REQUIRED_NOTIFICATION_TYPES.has(notification.type) && notification.noteId != null ? (
diff --git a/packages/backend/src/core/entities/PageEntityService.ts b/packages/backend/src/core/entities/PageEntityService.ts
index b12e704260..ec9d66991b 100644
--- a/packages/backend/src/core/entities/PageEntityService.ts
+++ b/packages/backend/src/core/entities/PageEntityService.ts
@@ -3,7 +3,6 @@ import { DI } from '@/di-symbols.js';
 import type { DriveFilesRepository, PagesRepository, PageLikesRepository } from '@/models/index.js';
 import { awaitAll } from '@/misc/prelude/await-all.js';
 import type { Packed } from 'misskey-js';
-import type { Serialized } from 'schema-type';
 import type { User } from '@/models/entities/User.js';
 import type { Page } from '@/models/entities/Page.js';
 import type { DriveFile } from '@/models/entities/DriveFile.js';
@@ -32,7 +31,7 @@ export class PageEntityService {
 	public async pack(
 		src: Page['id'] | Page,
 		me?: { id: User['id'] } | null | undefined,
-	): Promise<Serialized<Packed<'Page'>>> {
+	): Promise<Packed<'Page'>> {
 		const meId = me ? me.id : null;
 		const page = typeof src === 'object' ? src : await this.pagesRepository.findOneByOrFail({ id: src });
 
diff --git a/packages/backend/src/core/entities/RenoteMutingEntityService.ts b/packages/backend/src/core/entities/RenoteMutingEntityService.ts
index 5bdf804634..1a7777fc7f 100644
--- a/packages/backend/src/core/entities/RenoteMutingEntityService.ts
+++ b/packages/backend/src/core/entities/RenoteMutingEntityService.ts
@@ -3,7 +3,6 @@ import { DI } from '@/di-symbols.js';
 import type { RenoteMutingsRepository } from '@/models/index.js';
 import { awaitAll } from '@/misc/prelude/await-all.js';
 import type { Packed } from 'misskey-js';
-import type { Serialized } from 'schema-type';
 import type { User } from '@/models/entities/User.js';
 import type { RenoteMuting } from '@/models/entities/RenoteMuting.js';
 import { bindThis } from '@/decorators.js';
@@ -23,7 +22,7 @@ export class RenoteMutingEntityService {
 	public async pack(
 		src: RenoteMuting['id'] | RenoteMuting,
 		me?: { id: User['id'] } | null | undefined,
-	): Promise<Serialized<Packed<'RenoteMuting'>>> {
+	): Promise<Packed<'RenoteMuting'>> {
 		const muting = typeof src === 'object' ? src : await this.renoteMutingsRepository.findOneByOrFail({ id: src });
 
 		return await awaitAll({
diff --git a/packages/backend/src/core/entities/RoleEntityService.ts b/packages/backend/src/core/entities/RoleEntityService.ts
index 716ff671ef..be8b12e85a 100644
--- a/packages/backend/src/core/entities/RoleEntityService.ts
+++ b/packages/backend/src/core/entities/RoleEntityService.ts
@@ -9,7 +9,6 @@ import { bindThis } from '@/decorators.js';
 import { DEFAULT_POLICIES } from '@/core/RoleService.js';
 import { UserEntityService } from './UserEntityService.js';
 import type { Packed } from 'misskey-js';
-import type { Serialized } from 'schema-type';
 
 @Injectable()
 export class RoleEntityService {
@@ -28,7 +27,7 @@ export class RoleEntityService {
 	public async pack(
 		src: Role['id'] | Role,
 		me?: { id: User['id'] } | null | undefined,
-	): Promise<Serialized<Packed<'Role'>>> {
+	): Promise<Packed<'Role'>> {
 		const role = typeof src === 'object' ? src : await this.rolesRepository.findOneByOrFail({ id: src });
 
 		const assignedCount = await this.roleAssignmentsRepository.createQueryBuilder('assign')
@@ -74,7 +73,7 @@ export class RoleEntityService {
 	public packMany(
 		roles: any[],
 		me: { id: User['id'] },
-	): Promise<Serialized<Packed<'Role'>>[]> {
+	): Promise<Packed<'Role'>[]> {
 		return Promise.all(roles.map(x => this.pack(x, me)));
 	}
 }
diff --git a/packages/backend/src/core/entities/UserEntityService.ts b/packages/backend/src/core/entities/UserEntityService.ts
index a12d2b526b..0ff08ef67b 100644
--- a/packages/backend/src/core/entities/UserEntityService.ts
+++ b/packages/backend/src/core/entities/UserEntityService.ts
@@ -6,7 +6,6 @@ import { ModuleRef } from '@nestjs/core';
 import { DI } from '@/di-symbols.js';
 import type { Config } from '@/config.js';
 import type { Packed } from 'misskey-js';
-import type { Serialized } from 'schema-type';
 import type { Promiseable } from '@/misc/prelude/await-all.js';
 import { awaitAll } from '@/misc/prelude/await-all.js';
 import { USER_ACTIVE_THRESHOLD, USER_ONLINE_THRESHOLD } from '@/const.js';
@@ -24,13 +23,13 @@ import type { NoteEntityService } from './NoteEntityService.js';
 import type { DriveFileEntityService } from './DriveFileEntityService.js';
 import type { PageEntityService } from './PageEntityService.js';
 
-type IsUserDetailed<Detailed extends boolean> = Detailed extends true ? Serialized<Packed<'UserDetailed'>> : Serialized<Packed<'UserLite'>>;
+type IsUserDetailed<Detailed extends boolean> = Detailed extends true ? Packed<'UserDetailed'> : Packed<'UserLite'>;
 type IsMeAndIsUserDetailed<ExpectsMe extends boolean | null, Detailed extends boolean> =
 	Detailed extends true ?
-		ExpectsMe extends true ? Serialized<Packed<'MeDetailed'>> :
-		ExpectsMe extends false ? Serialized<Packed<'UserDetailedNotMe'>> :
-		(Packed<'MeDetailed'> | Serialized<Packed<'UserDetailedNotMe'>>) :
-	Serialized<Packed<'UserLite'>>;
+		ExpectsMe extends true ? Packed<'MeDetailed'> :
+		ExpectsMe extends false ? Packed<'UserDetailedNotMe'> :
+		(Packed<'MeDetailed'> | Packed<'UserDetailedNotMe'>) :
+	Packed<'UserLite'>;
 
 const ajv = new Ajv();
 
diff --git a/packages/backend/src/core/entities/UserListEntityService.ts b/packages/backend/src/core/entities/UserListEntityService.ts
index 60a6a112e7..5086296cc2 100644
--- a/packages/backend/src/core/entities/UserListEntityService.ts
+++ b/packages/backend/src/core/entities/UserListEntityService.ts
@@ -2,7 +2,6 @@ import { Inject, Injectable } from '@nestjs/common';
 import { DI } from '@/di-symbols.js';
 import type { UserListJoiningsRepository, UserListsRepository } from '@/models/index.js';
 import type { Packed } from 'misskey-js';
-import type { Serialized } from 'schema-type';
 import type { UserList } from '@/models/entities/UserList.js';
 import { bindThis } from '@/decorators.js';
 import { UserEntityService } from './UserEntityService.js';
@@ -23,7 +22,7 @@ export class UserListEntityService {
 	@bindThis
 	public async pack(
 		src: UserList['id'] | UserList,
-	): Promise<Serialized<Packed<'UserList'>>> {
+	): Promise<Packed<'UserList'>> {
 		const userList = typeof src === 'object' ? src : await this.userListsRepository.findOneByOrFail({ id: src });
 
 		const users = await this.userListJoiningsRepository.findBy({
diff --git a/packages/backend/src/server/api/stream/types.ts b/packages/backend/src/server/api/stream/types.ts
index 03884ecc11..aa8f2fdea0 100644
--- a/packages/backend/src/server/api/stream/types.ts
+++ b/packages/backend/src/server/api/stream/types.ts
@@ -227,7 +227,7 @@ export type StreamMessages = {
 	};
 	notes: {
 		name: 'notesStream';
-		payload: Serialized<Packed<'Note'>>;
+		payload: Packed<'Note'>;
 	};
 };
 
diff --git a/packages/misskey-js/src/entities.ts b/packages/misskey-js/src/entities.ts
index 0bf1d0147c..16860b4f6f 100644
--- a/packages/misskey-js/src/entities.ts
+++ b/packages/misskey-js/src/entities.ts
@@ -1,4 +1,3 @@
-import { Serialized } from "schema-type";
 import { Packed } from "./schemas";
 
 export type ID = Packed<'Id'>;
@@ -7,21 +6,21 @@ export type DateString = string;
 type TODO = Record<string, any>;
 
 // NOTE: 極力この型を使うのは避け、UserLite か UserDetailed か明示するように
-export type User = Serialized<Packed<'User'>>;
+export type User = Packed<'User'>;
 
-export type UserLite = Serialized<Packed<'UserLite'>>;
-export type UserDetailed = Serialized<Packed<'UserDetailed'>>;
-export type UserList = Serialized<Packed<'UserList'>>;
-export type MeDetailed = Serialized<Packed<'MeDetailed'>>;
-export type DriveFile = Serialized<Packed<'DriveFile'>>;
-export type DriveFolder = Serialized<Packed<'DriveFolder'>>;
-export type GalleryPost = Serialized<Packed<'GalleryPost'>>;
-export type Note = Serialized<Packed<'Note'>>;
-export type NoteReaction = Serialized<Packed<'NoteReaction'>>;
-export type NoteFavorite = Serialized<Packed<'NoteFavorite'>>;
-export type Notification = Serialized<Packed<'NotificationStrict'>>;
-export type CustomEmoji = Serialized<Packed<'EmojiSimple'> | Packed<'EmojiDetailed'>>;
-export type Page = Serialized<Packed<'Page'>>;
+export type UserLite = Packed<'UserLite'>;
+export type UserDetailed = Packed<'UserDetailed'>;
+export type UserList = Packed<'UserList'>;
+export type MeDetailed = Packed<'MeDetailed'>;
+export type DriveFile = Packed<'DriveFile'>;
+export type DriveFolder = Packed<'DriveFolder'>;
+export type GalleryPost = Packed<'GalleryPost'>;
+export type Note = Packed<'Note'>;
+export type NoteReaction = Packed<'NoteReaction'>;
+export type NoteFavorite = Packed<'NoteFavorite'>;
+export type Notification = Packed<'NotificationStrict'>;
+export type CustomEmoji = Packed<'EmojiSimple'> | Packed<'EmojiDetailed'>;
+export type Page = Packed<'Page'>;
 
 export type PageEvent = {
 	pageId: Page['id'];
@@ -31,19 +30,19 @@ export type PageEvent = {
 	user: User;
 };
 
-export type Announcement = Serialized<Packed<'Announcement'>>;
-export type Antenna = Serialized<Packed<'Antenna'>>;
-export type App = Serialized<Packed<'App'>>;
-export type Ad = Serialized<Packed<'Ad'>>;
-export type Clip = Serialized<Packed<'Clip'>>;
-export type Channel = Serialized<Packed<'Channel'>>;
-export type Following = Serialized<Packed<'Following'>>;
-export type Blocking = Serialized<Packed<'Blocking'>>;
-export type Relay = Serialized<Packed<'Relay'>>;
-export type Role = Serialized<Packed<'Role'>>;
-export type RoleAssign = Serialized<Packed<'RoleAssign'>>;
-export type RolePolicy = Serialized<Packed<'RolePolicy'>>;
-export type RoleCondFormula = Serialized<Packed<'RoleCondFormula'>>;
+export type Announcement = Packed<'Announcement'>;
+export type Antenna = Packed<'Antenna'>;
+export type App = Packed<'App'>;
+export type Ad = Packed<'Ad'>;
+export type Clip = Packed<'Clip'>;
+export type Channel = Packed<'Channel'>;
+export type Following = Packed<'Following'>;
+export type Blocking = Packed<'Blocking'>;
+export type Relay = Packed<'Relay'>;
+export type Role = Packed<'Role'>;
+export type RoleAssign = Packed<'RoleAssign'>;
+export type RolePolicy = Packed<'RolePolicy'>;
+export type RoleCondFormula = Packed<'RoleCondFormula'>;
 
 export type LiteInstanceMetadata = {
 	maintainerName: string | null;
@@ -107,7 +106,7 @@ export type DetailedInstanceMetadata = LiteInstanceMetadata & {
 
 export type InstanceMetadata = LiteInstanceMetadata | DetailedInstanceMetadata;
 
-export type ServerInfo = Serialized<Packed<'ServerInfo'>>;
+export type ServerInfo = Packed<'ServerInfo'>;
 
 export type Stats = {
 	notesCount: number;
@@ -119,7 +118,7 @@ export type Stats = {
 	driveUsageRemote: number;
 };
 
-export type AuthSession = Serialized<Packed<'AuthSession'>>;
+export type AuthSession = Packed<'AuthSession'>;
 
 export type FollowRequest = {
 	id: ID;
@@ -164,7 +163,7 @@ export type Instance = {
 	infoUpdatedAt: DateString | null;
 };
 
-export type Signin = Serialized<Packed<'SignIn'>>;
+export type Signin = Packed<'SignIn'>;
 
 export type UserSorting =
 	| '+follower'
diff --git a/packages/misskey-js/src/schemas.ts b/packages/misskey-js/src/schemas.ts
index 759bcd736e..83272bb3de 100644
--- a/packages/misskey-js/src/schemas.ts
+++ b/packages/misskey-js/src/schemas.ts
@@ -58,7 +58,7 @@ import {
 import { packedModerationLogSchema } from './schemas/moderation-log.js';
 import { packedAuthSessionSchema } from './schemas/auth-session.js';
 import { Error, ApiError } from './schemas/error.js';
-import type { JSONSchema7, JSONSchema7Definition, GetDef, GetRefs, GetKeys, UnionToArray } from 'schema-type';
+import type { JSONSchema7, JSONSchema7Definition, GetDef, GetRefs, GetKeys, UnionToArray, Serialized } from 'schema-type';
 
 export const refs = {
 	Id: IdSchema,
@@ -118,5 +118,5 @@ export const refs = {
 
 export type References = GetRefs<typeof refs>;
 
-export type Packed<x extends GetKeys<References, 'https://misskey-hub.net/api/schemas/'>> = GetDef<References, x, false, 'https://misskey-hub.net/api/schemas/'>;
+export type Packed<x extends GetKeys<References, 'https://misskey-hub.net/api/schemas/'>> = Serialized<GetDef<References, x, false, 'https://misskey-hub.net/api/schemas/'>>;
 export type Def<x extends GetKeys<References>> = GetDef<References, x>;