キャラクターモデル一覧の取得
型情報
キャラクターモデル関連の型
type CharacterModelLicenseSerializer = {
modification: 'default' | 'disallow' | 'allow';
redistribution: 'default' | 'disallow' | 'allow';
credit: 'default' | 'necessary' | 'unnecessary';
characterization_allowed_user: 'default' | 'author' | 'everyone';
sexual_expression: 'default' | 'disallow' | 'allow';
violent_expression: 'default' | 'disallow' | 'allow';
corporate_commercial_use: 'default' | 'disallow' | 'allow';
personal_commercial_use: 'default' | 'disallow' | 'profit' | 'nonprofit';
};
type TagSerializer = {
name: string;
locale: string | null;
en_name: string | null;
ja_name: string | null;
};
type AgeLimitSerializer = {
is_r18: boolean;
is_r15: boolean;
is_adult: boolean;
}
type CharacterSerializer = {
user: UserSerializer;
id: string;
name: string;
is_private: boolean;
created_at: string;
published_at: string | null;
};
type CharacterModelBoothItemSerializer = {
booth_item_id: number;
part_category: string | null;
};
type CharacterModel = {
id: string;
name: string | null;
is_private: boolean;
is_downloadable: boolean;
is_comment_off: boolean;
is_other_users_available: boolean;
is_other_users_allow_viewer_preview: boolean;
is_hearted: boolean;
portrait_image: PortraitImageSerializer;
full_body_image: FullBodyImageSerializer;
license?: CharacterModelLicenseSerializer;
created_at: string;
heart_count: number;
download_count: number;
usage_count: number;
view_count: number;
published_at: string | null;
tags: Array<TagSerializer>;
age_limit: AgeLimitSerializer;
character: CharacterSerializer;
latest_character_model_version?: CharacterModelVersionSerializer;
character_model_booth_items: Array<CharacterModelBoothItemSerializer>;
}
ユーザー関連の型
type UserIconSerializer = {
is_default_image: boolean;
sq170: ImageSerializer;
sq50: ImageSerializer;
};
type UserSerializer = {
id: string;
pixiv_user_id: string;
name: string;
icon: UserIconSerializer;
};
画像関連の型
type ImageSerializer = {
url: string;
url2x: string | null;
width: number;
height: number;
};
type PortraitImageSerializer = {
is_default_image: boolean;
original: ImageSerializer;
w600: ImageSerializer;
w300: ImageSerializer;
sq600: ImageSerializer;
sq300: ImageSerializer;
sq150: ImageSerializer;
};
type FullBodyImageSerializer = {
is_default_image: boolean;
original: ImageSerializer;
w600: ImageSerializer;
w300: ImageSerializer;
};
CharacterModelVerison(アバターファイルのバージョン情報)関連の型
type CharacterModelVersionSerializer = {
id: string;
created_at: string;
spec_version: string | null;
exporter_version: string | null;
triangle_count: number;
mesh_count: number;
mesh_primitive_count: number;
mesh_primitive_morph_count: number;
material_count: number;
texture_count: number;
joint_count: number;
is_vendor_forbidden_use_by_others: boolean;
is_vendor_protected_download: boolean;
is_vendor_forbidden_other_users_preview: boolean;
original_file_size: number | null;
vrm_meta: any;
original_compressed_file_size: number | null;
conversion_state?: ModelBasisConversionStateSerializer;
vendor_specified_license?: VendorSpecifiedLicenseSerializer;
attached_items?: Array<AttachedItemSerializer>;
};
type ModelBasisConversionStateSerializer = {
current_state: 'pending' | 'processing' | 'completed' | 'failed';
};
// アプリからのアップロード時に付与されるライセンス情報
type VendorSpecifiedLicenseSerializer = {
modification: 'default' | 'disallow' | 'allow';
redistribution: 'default' | 'disallow' | 'allow';
credit: 'default' | 'necessary' | 'unnecessary';
characterization_allowed_user: 'default' | 'author' | 'everyone';
sexual_expression: 'default' | 'disallow' | 'allow';
violent_expression: 'default' | 'disallow' | 'allow';
corporate_commercial_use: 'default' | 'disallow' | 'allow';
personal_commercial_use: 'default' | 'disallow' | 'profit' | 'nonprofit';
};
// VRoidMobileからのアップロード時に付与される情報
type AttachedItemSerializer = {
item_display_name: string;
category_type:
| 'skin'
| 'eyebrow'
| 'nose'
| 'mouth'
| 'ear'
| 'face_shape'
| 'lip'
| 'eye_surrounding'
| 'eyeline'
| 'eyelash'
| 'iris'
| 'eye_white'
| 'eye_highlight'
| 'base_hair'
| 'all_hair'
| 'hair_front'
| 'hair_back'
| 'whole_body'
| 'head'
| 'neck'
| 'shoulder'
| 'arm'
| 'hand'
| 'chest'
| 'torso'
| 'waist'
| 'leg'
| 'tops'
| 'bottoms'
| 'onepiece'
| 'shoes'
| 'inner'
| 'socks'
| 'neck_accessory'
| 'arm_accessory'
| 'safety'
| 'cheek';
downloadable: boolean;
take_free: boolean;
id: string;
attached_item_coins: Array<AttachedItemCoinSerializer>;
};
type AttachedItemCoinSerializer = {
coin_type: 'apple' | 'google';
price: number;
};
ユーザーが投稿したキャラクターモデルの一覧
GET: /api/account/character_models
ヘッダー
X-Api-Version
必須: YES
- VRoid HubのAPIバージョンです。現行バージョンは
11
になります。
クエリパラメータ
max_id
必須: No
型: string
- 読み込んだキャラクターモデルの内、最後のもののid。ページングに用います
count
必須: No
型: integer
デフォルト: 20
- 一度のリクエストで読み込むキャラクターモデル数
publication
必須: No
型: string
- キャラクターモデルの公開状態を指定します
レスポンス
200
{
"data": Array<CharacterModel>,
"error": {
"code": "string",
"message": "string",
"details": {}
},
"_links": {
"next": {
"href": "string"
}
},
"rand": "string"
}
400
["COMMON_INVALID_COUNT: count is too long"]
401
[
"OAUTH_UNAUTHORIZED: OAuth unauthorized",
"COMMON_SIGNED_IN_REQUIRED: signed in required"
]
403
["OAUTH_FORBIDDEN: OAuth forbidden"]
ユーザーがお気に入りした使用可能なキャラクターモデルの一覧
GET: /api/hearts
ヘッダー
X-Api-Version
必須: YES
- VRoid HubのAPIバージョンです。現行バージョンは
11
になります。
クエリパラメータ
application_id
必須: YES
型: string
- アプリケーションID (ClientID)
max_id
必須: No
型: string
- 読み込んだキャラクターモデルの内、最後のもののid。ページングに用います
count
必須: No
型: integer
デフォルト: 20
- 一度のリクエストで読み込むキャラクターモデル数
is_downloadable
必須: No
型: boolean
デフォルト: true
- ダウンロード可能なキャラクターモデルか(非公認アプリケーションの場合は常に
true
)
characterization_allowed_user
必須: No
型: 'default' | 'author' | 'everyone'
デフォルト: 'author'
, ただし、アプリケーション設定の「アバターとして利用する」が「はい」の場合は常に 'everyone'
- モデルに人格を与えることができる人の条件
violent_expression
必須: No
型: 'default' | 'disallow' | 'allow'
デフォルト: 'disallow'
, ただし、アプリケーション設定の「モデルを利用して暴力表現をする」が「はい」の場合は常に 'allow'
- 暴力表現が許可されているモデルか
sexual_expression
必須: No
型: 'default' | 'disallow' | 'allow'
デフォルト: 'disallow'
, ただし、アプリケーション設定の「モデルを利用して性的表現をする」が「はい」の場合は常に 'allow'
- 性的表現が許可されているモデルか
corporate_commercial_use
必須: No
型: 'default' | 'disallow' | 'allow'
デフォルト: 'disallow'
, ただし、アプリケーション設定の「アプリの種別」が「法人向けアプリ」の場合は常に 'allow'
- 法人の商用利用が許可されているモデルか
personal_commercial_use
必須: No
型: 'default' | 'disallow' | 'profit' | 'nonprofit'
デフォルト: 'disallow'
, ただし、アプリケーション設定の「商用利用」が設定されている場合はそちらに依存
- 個人の商用利用が許可されているモデルか
political_or_religious_usage
必須: No
型: 'default' | 'disallow' | 'allow'
デフォルト: 'disallow'
- 政治・宗教表現が許可されているモデルか(VRM PUBLIC LICENSE 1.0に基づいたパラメータ)
antisocial_or_hate_usage
必須: No
型: 'default' | 'disallow' | 'allow'
デフォルト: 'disallow'
- 反社会的・ヘイトスピーチ表現が許可されているモデルか(VRM PUBLIC LICENSE 1.0に基づいたパラメータ)
modification
必須: No
型: 'default' | 'disallow' | 'allow_modification'
デフォルト: 'disallow'
, ただし、アプリケーション設定の「モデルを改変する」が「はい」の場合は常に 'allow_modification'
- 改変・改変再配布の許可がされているモデルか
redistribution
必須: No
型: 'default' | 'disallow' | 'allow'
デフォルト: 'disallow'
, ただし、アプリケーション設定の「モデルを再配布する」が「はい」の場合は常に 'allow'
- 再配布が許可されているモデルか
credit
必須: No
型: 'default' | 'necessary' | 'unnecessary'
デフォルト: アプリケーション設定の「モデルのクレジット表記が可能」が「いいえ」の時 'unnecessary'
- クレジット表記が不要なモデルか
has_booth_items
必須: No
型: boolean
デフォルト: false
- BOOTH商品が関連付けられているモデルか
booth_part_categories[]
必須: No
型: array[string]
デフォルト: []
- BOOTH商品の部位カテゴリを指定する
レスポンス
200
{
"data": Array<CharacterModel>,
"error": {
"code": "string",
"message": "string",
"details": {}
},
"_links": {
"next": {
"href": "string"
}
},
"rand": "string"
}
400
["COMMON_INVALID_COUNT: count is too long"]
401
[
"OAUTH_UNAUTHORIZED: OAuth unauthorized",
"COMMON_SIGNED_IN_REQUIRED: signed in required"
]
403
["OAUTH_FORBIDDEN: OAuth forbidden"]
VRoid Hubスタッフおすすめのキャラクターモデルの一覧
GET: /api/staff_picks
ヘッダー
X-Api-Version
必須: YES
- VRoid HubのAPIバージョンです。現行バージョンは
11
になります。
クエリパラメータ
max_id
必須: No
型: string
- 読み込んだキャラクターモデルの内、最後のもののid。ページングに用います
count
必須: No
型: integer
デフォルト: 20
- 一度のリクエストで読み込むキャラクターモデル数
レスポンス
200
{
"data": Array<CharacterModel>,
"error": {
"code": "string",
"message": "string",
"details": {}
},
"_links": {
"next": {
"href": "string"
}
},
"rand": "string"
}
400
["COMMON_INVALID_COUNT: count is too long"]
401
["OAUTH_UNAUTHORIZED: OAuth unauthorized"]
403
["OAUTH_FORBIDDEN: OAuth forbidden"]