プロフィール JSON
エクスポートやエディタの保存で使うプロフィールデータの形。
エクスポート の「プロフィール JSON」は、エディタがサーバーに保存するデータそのものです。 保存時にサーバーが値を検証して、範囲外の値は既定値に置き換えます。
全体
{
"id": 12,
"userId": 34,
"displayName": "山田 花子",
"bio": "イラストレーター。お仕事のご相談は DM へ",
"status": "作業中",
"birthday": "2006-09-18",
"birthdayVisibility": "all",
"titleSuffix": true,
"avatarUrl": "https://cdn.folita.me/avatars/u1-abc123.png",
"coverUrl": "",
"theme": { "...": "テーマ(下記)" },
"customCss": ".folita-link { font-weight: 700 }",
"layoutMode": "grid",
"nav": { "...": "ページとナビ(下記)" },
"published": true,
"updatedAt": 1757646105,
"blocks": [ { "...": "ブロック(下記)" } ]
}| キー | 型 | 内容 |
|---|---|---|
displayName | string | 表示名(80 文字まで) |
bio | string | 自己紹介(1000 文字まで) |
status | string | ひとことステータス(60 文字まで、1 行) |
birthday | string | 生年月日(YYYY-MM-DD 形式。空なら未設定) |
birthdayVisibility | "all" | "month_day" | "year" | "none" | 誕生日の公開範囲(年月日 / 月日だけ / 年だけ / 非公開) |
titleSuffix | boolean | 公開ページのブラウザーのタブのタイトル「表示名 (@ID) | folita.me」に「| folita.me」を付けるか(既定 true) |
avatarUrl / coverUrl | string | アイコン / カバー画像の URL。空なら未設定 |
theme | object | テーマ |
customCss | string | カスタム CSS(保存時にサニタイズ) |
layoutMode | "stack" | "grid" | 縦並び / グリッド |
nav | object | ページ(タブ)とナビ |
published | boolean | 公開しているか |
updatedAt | number | 最終保存の UNIX 時刻(秒) |
blocks | array | ブロック。sortOrder の順 |
ページとナビ
{
"style": "bottom",
"header": "all",
"labels": true,
"items": [
{ "type": "page", "key": "home", "label": "ホーム", "icon": "home" },
{ "type": "page", "key": "tweets", "label": "つぶやき", "icon": "message" },
{ "type": "page", "key": "me", "label": "わたし", "icon": "user", "themes": ["fluent"] },
{ "type": "link", "url": "https://example.com/", "label": "サイト", "icon": "globe", "newTab": true }
]
}| キー | 取りうる値 |
|---|---|
style | bottom(下バー)top(上のタブ)none(出さない) |
header | all(全ページにプロフィール)first(最初のページだけ) |
labels | アイコンの下に名前を出すか |
items | 8 個まで。page は key(半角英小文字・数字・- _、24 文字まで。重ならない)と label(20 文字)icon、link は url label icon newTab。key が home のページは必ずある どちらも iconUrl(アップロードした画像の URL。あれば icon の代わりにナビに出る)を持てる。page には visibility(all | owner)と themes(表示するテーマ。material liquidglass fluent の配列。空か省略で全テーマ。アダプティブデザインでは端末の種類ごとに出るページが変わる) |
icon | home message music palette video image link heart star user mail book pen camera gamepad code coffee globe calendar rss shop server activity sparkles info key external grid layers。ほかに tabler:<名前>(Tabler Icons)、segoe:<コード>(Segoe Fluent Icons。Windows でだけ描ける)、win:<分類>/<名前>(Windows 11 のアイコン集)も可 |
テーマ
{
"kind": "material",
"options": {},
"preset": "clean",
"background": { "type": "solid", "color": "#f7f7f5" },
"fontFamily": "noto-sans-jp",
"textColor": "#171717",
"mutedColor": "#737373",
"accentColor": "#111111",
"buttonStyle": "solid",
"buttonColor": "#111111",
"buttonTextColor": "#ffffff",
"buttonRadius": 14,
"cardBg": "rgba(255,255,255,0.85)",
"avatarShape": "circle",
"avatarSize": 96,
"maxWidth": 560
}| キー | 取りうる値 |
|---|---|
kind | テーマ。material liquidglass(classic は material の旧名)。adaptive が true なら端末で決まる |
options | テーマ固有の設定。liquidglass は orb1〜orb4(色)tint(0〜0.9)blur(0〜40)refraction(0〜60)card orbs motion lens(boolean) |
preset | clean midnight sakura mono forest paper pop custom |
background.type | solid(color)/ gradient(from to angle 0〜360)/ image(url overlay 0〜1) |
fontFamily | system segoe noto-sans-jp roboto-jp inter zen-kaku mplus-rounded kosugi-maru shippori-mincho playfair space-grotesk dm-mono dela-gothic。system は端末の UI フォント(Hiragino Sans / Yu Gothic UI / Noto Sans CJK JP)。adaptive が true のときは使われず、端末ごとの UI フォントになる |
textColor mutedColor accentColor buttonColor buttonTextColor cardBg | CSS の色(#rgb #rrggbb rgb() rgba() など) |
buttonStyle | solid outline soft shadow glass |
buttonRadius | 0〜999 |
avatarShape | circle rounded square |
avatarSize | 40〜240 |
maxWidth | 320〜1200 |
ブロック
すべてのブロックに共通のキー:
{
"id": "3f8c1e2a-9b4d-4c6e-8f10-2a7b5c9d1e34",
"type": "link",
"content": { "...": "種類ごと(下記)" },
"style": { "bg": "#ffffff", "color": "#111111", "radius": 12, "className": "hero" },
"page": "home",
"sortOrder": 0,
"colSpan": 2,
"rowSpan": 1,
"visible": true,
"visibility": "all"
}| キー | 内容 |
|---|---|
id | UUID。Webhook と CSS の data-block-id に使われる |
type | link richlink text heading image gallery social tags table embed feed timeline divider |
page | 置くページの key(ナビに無いページならホーム) |
style | 任意。bg color(色)、radius(0〜999)、className(300 文字まで) |
colSpan / rowSpan | グリッド配置での幅(1: 半分、2: 全幅)と高さ(1〜2 行) |
visible | 非表示なら false |
visibility | "all" | "owner"。owner は folita にログインした本人にだけ表示(ほかの人と MCP サーバーには出ない) |
content の形
| type | キー |
|---|---|
link | title(200)url emoji(16)newTab(boolean) |
richlink | title(200)url description(1000)imageUrl newTab |
text | text(5000)align(left center right) |
heading | text(200)level(1〜3)align |
image | imageUrl url(リンク先、任意)title(代替テキスト、200)aspect(auto square video wide) |
social | items: [{ "platform": "x", "url": "https://x.com/..." }, ...](30 個まで)。platform は x instagram youtube tiktok github note pixiv twitch discord line threads bluesky spotify website email |
embed | embedUrl(YouTube / Spotify / Vimeo / SoundCloud の URL)title(200) |
feed | source(note bluesky youtube x)account(note のユーザー名 / Bluesky のハンドル / YouTube のチャンネル ID。X のユーザー名。x は空なら連携中のアカウント)count(1〜10)title(200) |
table | title(200)rows: [{ "label": "趣味", "value": "音楽", "url": "" }, ...](30 行まで。label 40・value 500) |
timeline | title(200)sources(x bluesky threads note youtube pixiv の配列。空ならすべて)layout(list grid)count(5〜200)showMetrics translate sourceTabs accountTabs refresh(boolean)translateTarget(DeepL の言語コード)kinds(post reply retweet quote の boolean) |
divider | なし |
括弧内は最大文字数です。URL は https: http: mailto: tel: とサイト内パスだけが有効で、それ以外は空になります。