[{"data":1,"prerenderedAt":960},["ShallowReactive",2],{"navigation":3,"docs-\u002Fdocs\u002Fguide\u002Fclients":72,"surround-\u002Fdocs\u002Fguide\u002Fclients":955},[4],{"title":5,"path":6,"stem":7,"children":8,"page":38},"Docs","\u002Fdocs","docs",[9,39],{"title":10,"path":11,"stem":12,"children":13,"page":38},"Guide","\u002Fdocs\u002Fguide","docs\u002F1.guide",[14,18,22,26,30,34],{"title":15,"path":16,"stem":17},"介绍","\u002Fdocs\u002Fguide\u002Fintroduction","docs\u002F1.guide\u002F1.introduction",{"title":19,"path":20,"stem":21},"快速开始","\u002Fdocs\u002Fguide\u002Fquick-start","docs\u002F1.guide\u002F2.quick-start",{"title":23,"path":24,"stem":25},"配置说明","\u002Fdocs\u002Fguide\u002Fconfiguration","docs\u002F1.guide\u002F3.configuration",{"title":27,"path":28,"stem":29},"存储配置","\u002Fdocs\u002Fguide\u002Fstorage","docs\u002F1.guide\u002F4.storage",{"title":31,"path":32,"stem":33},"生产部署","\u002Fdocs\u002Fguide\u002Fdeployment","docs\u002F1.guide\u002F5.deployment",{"title":35,"path":36,"stem":37},"第三方客户端","\u002Fdocs\u002Fguide\u002Fclients","docs\u002F1.guide\u002F6.clients",false,{"title":40,"path":41,"stem":42,"children":43,"page":38},"Api","\u002Fdocs\u002Fapi","docs\u002F2.api",[44,48,52,56,60,64,68],{"title":45,"path":46,"stem":47},"概述","\u002Fdocs\u002Fapi\u002Foverview","docs\u002F2.api\u002F1.overview",{"title":49,"path":50,"stem":51},"认证","\u002Fdocs\u002Fapi\u002Fauthentication","docs\u002F2.api\u002F2.authentication",{"title":53,"path":54,"stem":55},"文件上传","\u002Fdocs\u002Fapi\u002Fupload","docs\u002F2.api\u002F3.upload",{"title":57,"path":58,"stem":59},"文件管理","\u002Fdocs\u002Fapi\u002Ffiles","docs\u002F2.api\u002F4.files",{"title":61,"path":62,"stem":63},"相册","\u002Fdocs\u002Fapi\u002Falbums","docs\u002F2.api\u002F5.albums",{"title":65,"path":66,"stem":67},"API Token","\u002Fdocs\u002Fapi\u002Ftokens","docs\u002F2.api\u002F6.tokens",{"title":69,"path":70,"stem":71},"管理员 API","\u002Fdocs\u002Fapi\u002Fadmin","docs\u002F2.api\u002F7.admin",{"id":73,"title":35,"body":74,"description":949,"extension":950,"meta":951,"navigation":952,"path":36,"seo":953,"stem":37,"__hash__":954},"docs\u002Fdocs\u002F1.guide\u002F6.clients.md",{"type":75,"value":76,"toc":932},"minimark",[77,86,91,94,121,131,134,147,151,162,165,246,259,262,273,277,284,288,291,486,489,493,502,543,547,550,593,596,772,776,791,795,802,813,816,819,906,912,915,928],[78,79,80,81,85],"p",{},"Kite 的上传接口原生兼容 ",[82,83,84],"strong",{},"兰空图床 v2"," 协议，因此大部分主流图床客户端都可以直接使用。",[87,88,90],"h2",{"id":89},"创建-api-token","创建 API Token",[78,92,93],{},"所有第三方上传都应使用 API Token 而非账号密码：",[95,96,97,104,112,118],"ol",{},[98,99,100,101],"li",{},"登录后台 → ",[82,102,103],{},"个人中心 → API Token",[98,105,106,107,111],{},"点击「创建」，填写名称（如 ",[108,109,110],"code",{},"PicGo","）",[98,113,114,117],{},[82,115,116],{},"立即复制生成的 Token","（只显示一次）",[98,119,120],{},"后续在客户端中使用该 Token",[122,123,124],"warning",{},[78,125,126,127,130],{},"Token 以 SHA256 哈希存储，生成后",[82,128,129],{},"无法再次查看明文","。丢失请删除后重建。",[87,132,110],{"id":133},"picgo",[78,135,136,142,143,146],{},[137,138,110],"a",{"href":139,"rel":140},"https:\u002F\u002Fgithub.com\u002FMolunerfinn\u002FPicGo",[141],"nofollow"," 是最流行的图床客户端之一，通过",[82,144,145],{},"兰空图床","插件可无缝对接 Kite。",[148,149,150],"h3",{"id":150},"安装插件",[78,152,153,154,157,158,161],{},"在 PicGo 的「插件设置」中搜索 ",[108,155,156],{},"lankong","，安装 ",[82,159,160],{},"Lankong Image Uploader","。",[148,163,164],{"id":164},"配置",[166,167,168,181],"table",{},[169,170,171],"thead",{},[172,173,174,178],"tr",{},[175,176,177],"th",{},"字段",[175,179,180],{},"值",[182,183,184,195,205,215,223,231],"tbody",{},[172,185,186,190],{},[187,188,189],"td",{},"版本选择",[187,191,192],{},[108,193,194],{},"V2",[172,196,197,200],{},[187,198,199],{},"域名",[187,201,202],{},[108,203,204],{},"https:\u002F\u002Fkite.your-domain.com",[172,206,207,210],{},[187,208,209],{},"Token",[187,211,212],{},[108,213,214],{},"Bearer \u003C你的 API Token>",[172,216,217,220],{},[187,218,219],{},"相册 ID",[187,221,222],{},"可选，指定上传到某个相册",[172,224,225,228],{},[187,226,227],{},"存储策略 ID",[187,229,230],{},"留空使用默认",[172,232,233,236],{},[187,234,235],{},"权限",[187,237,238,241,242,245],{},[108,239,240],{},"0","（私有） \u002F ",[108,243,244],{},"1","（公开）",[247,248,249],"note",{},[78,250,251,258],{},[82,252,253,254,257],{},"Token 字段需要包含 ",[108,255,256],{},"Bearer "," 前缀","，否则鉴权会失败。这是兰空协议的约定。",[148,260,261],{"id":261},"快捷键",[78,263,264,265,268,269,272],{},"PicGo 默认支持 ",[108,266,267],{},"Ctrl+Shift+P","（Windows）\u002F ",[108,270,271],{},"Cmd+Shift+P","（macOS）一键上传剪贴板图片。",[87,274,276],{"id":275},"sharex","ShareX",[78,278,279,283],{},[137,280,276],{"href":281,"rel":282},"https:\u002F\u002Fgetsharex.com\u002F",[141]," 是 Windows 上的截图 + 上传神器。",[148,285,287],{"id":286},"自定义-uploader","自定义 Uploader",[78,289,290],{},"新建一个 Custom Uploader：",[292,293,298],"pre",{"className":294,"code":295,"language":296,"meta":297,"style":297},"language-json shiki shiki-themes github-light github-dark","{\n  \"Version\": \"15.0.0\",\n  \"Name\": \"Kite\",\n  \"DestinationType\": \"ImageUploader, FileUploader\",\n  \"RequestMethod\": \"POST\",\n  \"RequestURL\": \"https:\u002F\u002Fkite.your-domain.com\u002Fapi\u002Fv1\u002Fupload\",\n  \"Headers\": {\n    \"Authorization\": \"Bearer YOUR_API_TOKEN\",\n    \"Accept\": \"application\u002Fjson\"\n  },\n  \"Body\": \"MultipartFormData\",\n  \"FileFormName\": \"file\",\n  \"URL\": \"{json:data.links.url}\",\n  \"ThumbnailURL\": \"{json:data.links.thumbnail_url}\",\n  \"DeletionURL\": \"{json:data.links.delete_url}\"\n}\n","json","",[108,299,300,309,326,339,352,365,378,387,400,411,417,430,443,456,469,480],{"__ignoreMap":297},[301,302,305],"span",{"class":303,"line":304},"line",1,[301,306,308],{"class":307},"sVt8B","{\n",[301,310,312,316,319,323],{"class":303,"line":311},2,[301,313,315],{"class":314},"sj4cs","  \"Version\"",[301,317,318],{"class":307},": ",[301,320,322],{"class":321},"sZZnC","\"15.0.0\"",[301,324,325],{"class":307},",\n",[301,327,329,332,334,337],{"class":303,"line":328},3,[301,330,331],{"class":314},"  \"Name\"",[301,333,318],{"class":307},[301,335,336],{"class":321},"\"Kite\"",[301,338,325],{"class":307},[301,340,342,345,347,350],{"class":303,"line":341},4,[301,343,344],{"class":314},"  \"DestinationType\"",[301,346,318],{"class":307},[301,348,349],{"class":321},"\"ImageUploader, FileUploader\"",[301,351,325],{"class":307},[301,353,355,358,360,363],{"class":303,"line":354},5,[301,356,357],{"class":314},"  \"RequestMethod\"",[301,359,318],{"class":307},[301,361,362],{"class":321},"\"POST\"",[301,364,325],{"class":307},[301,366,368,371,373,376],{"class":303,"line":367},6,[301,369,370],{"class":314},"  \"RequestURL\"",[301,372,318],{"class":307},[301,374,375],{"class":321},"\"https:\u002F\u002Fkite.your-domain.com\u002Fapi\u002Fv1\u002Fupload\"",[301,377,325],{"class":307},[301,379,381,384],{"class":303,"line":380},7,[301,382,383],{"class":314},"  \"Headers\"",[301,385,386],{"class":307},": {\n",[301,388,390,393,395,398],{"class":303,"line":389},8,[301,391,392],{"class":314},"    \"Authorization\"",[301,394,318],{"class":307},[301,396,397],{"class":321},"\"Bearer YOUR_API_TOKEN\"",[301,399,325],{"class":307},[301,401,403,406,408],{"class":303,"line":402},9,[301,404,405],{"class":314},"    \"Accept\"",[301,407,318],{"class":307},[301,409,410],{"class":321},"\"application\u002Fjson\"\n",[301,412,414],{"class":303,"line":413},10,[301,415,416],{"class":307},"  },\n",[301,418,420,423,425,428],{"class":303,"line":419},11,[301,421,422],{"class":314},"  \"Body\"",[301,424,318],{"class":307},[301,426,427],{"class":321},"\"MultipartFormData\"",[301,429,325],{"class":307},[301,431,433,436,438,441],{"class":303,"line":432},12,[301,434,435],{"class":314},"  \"FileFormName\"",[301,437,318],{"class":307},[301,439,440],{"class":321},"\"file\"",[301,442,325],{"class":307},[301,444,446,449,451,454],{"class":303,"line":445},13,[301,447,448],{"class":314},"  \"URL\"",[301,450,318],{"class":307},[301,452,453],{"class":321},"\"{json:data.links.url}\"",[301,455,325],{"class":307},[301,457,459,462,464,467],{"class":303,"line":458},14,[301,460,461],{"class":314},"  \"ThumbnailURL\"",[301,463,318],{"class":307},[301,465,466],{"class":321},"\"{json:data.links.thumbnail_url}\"",[301,468,325],{"class":307},[301,470,472,475,477],{"class":303,"line":471},15,[301,473,474],{"class":314},"  \"DeletionURL\"",[301,476,318],{"class":307},[301,478,479],{"class":321},"\"{json:data.links.delete_url}\"\n",[301,481,483],{"class":303,"line":482},16,[301,484,485],{"class":307},"}\n",[78,487,488],{},"应用后，ShareX 截图会自动上传到 Kite。",[87,490,492],{"id":491},"upic-ipic-macos","uPic \u002F iPic (macOS)",[78,494,495,496,501],{},"以 ",[137,497,500],{"href":498,"rel":499},"https:\u002F\u002Fgithub.com\u002Fgee1k\u002FuPic",[141],"uPic"," 为例：",[95,503,504,507],{},[98,505,506],{},"打开偏好 → 图床设置 → 添加「自定义」",[98,508,509,510],{},"配置：\n",[511,512,513,519,525,531,537],"ul",{},[98,514,515,516],{},"API URL：",[108,517,518],{},"https:\u002F\u002Fkite.your-domain.com\u002Fapi\u002Fv1\u002Fupload",[98,520,521,522],{},"Method：",[108,523,524],{},"POST",[98,526,527,528],{},"File Field Name：",[108,529,530],{},"file",[98,532,533,534],{},"Headers：",[108,535,536],{},"Authorization: Bearer YOUR_TOKEN",[98,538,539,540],{},"URL Path：",[108,541,542],{},"data.links.url",[87,544,546],{"id":545},"curl-命令行","curl 命令行",[78,548,549],{},"最底层的方式，用于脚本化上传：",[292,551,555],{"className":552,"code":553,"language":554,"meta":297,"style":297},"language-bash shiki shiki-themes github-light github-dark","curl -X POST https:\u002F\u002Fkite.your-domain.com\u002Fapi\u002Fv1\u002Fupload \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\" \\\n  -F \"file=@\u002Fpath\u002Fto\u002Fimage.png\"\n","bash",[108,556,557,575,585],{"__ignoreMap":297},[301,558,559,563,566,569,572],{"class":303,"line":304},[301,560,562],{"class":561},"sScJk","curl",[301,564,565],{"class":314}," -X",[301,567,568],{"class":321}," POST",[301,570,571],{"class":321}," https:\u002F\u002Fkite.your-domain.com\u002Fapi\u002Fv1\u002Fupload",[301,573,574],{"class":314}," \\\n",[301,576,577,580,583],{"class":303,"line":311},[301,578,579],{"class":314},"  -H",[301,581,582],{"class":321}," \"Authorization: Bearer YOUR_API_TOKEN\"",[301,584,574],{"class":314},[301,586,587,590],{"class":303,"line":328},[301,588,589],{"class":314},"  -F",[301,591,592],{"class":321}," \"file=@\u002Fpath\u002Fto\u002Fimage.png\"\n",[78,594,595],{},"响应示例：",[292,597,599],{"className":294,"code":598,"language":296,"meta":297,"style":297},"{\n  \"status\": true,\n  \"message\": \"success\",\n  \"data\": {\n    \"key\": \"2026\u002F04\u002Fa1b2c3d4\u002Fuuid.png\",\n    \"name\": \"image.png\",\n    \"size\": 123456,\n    \"md5\": \"a1b2c3d4…\",\n    \"links\": {\n      \"url\": \"https:\u002F\u002Fkite.your-domain.com\u002Fi\u002Fa1b2c3d4\",\n      \"thumbnail_url\": \"https:\u002F\u002Fkite.your-domain.com\u002Ft\u002Fa1b2c3d4\",\n      \"markdown\": \"![image](https:\u002F\u002Fkite.your-domain.com\u002Fi\u002Fa1b2c3d4)\",\n      \"html\": \"\u003Cimg src=\\\"https:\u002F\u002Fkite.your-domain.com\u002Fi\u002Fa1b2c3d4\\\" alt=\\\"image\\\">\"\n    }\n  }\n}\n",[108,600,601,605,617,629,636,648,660,672,684,691,703,715,727,758,763,768],{"__ignoreMap":297},[301,602,603],{"class":303,"line":304},[301,604,308],{"class":307},[301,606,607,610,612,615],{"class":303,"line":311},[301,608,609],{"class":314},"  \"status\"",[301,611,318],{"class":307},[301,613,614],{"class":314},"true",[301,616,325],{"class":307},[301,618,619,622,624,627],{"class":303,"line":328},[301,620,621],{"class":314},"  \"message\"",[301,623,318],{"class":307},[301,625,626],{"class":321},"\"success\"",[301,628,325],{"class":307},[301,630,631,634],{"class":303,"line":341},[301,632,633],{"class":314},"  \"data\"",[301,635,386],{"class":307},[301,637,638,641,643,646],{"class":303,"line":354},[301,639,640],{"class":314},"    \"key\"",[301,642,318],{"class":307},[301,644,645],{"class":321},"\"2026\u002F04\u002Fa1b2c3d4\u002Fuuid.png\"",[301,647,325],{"class":307},[301,649,650,653,655,658],{"class":303,"line":367},[301,651,652],{"class":314},"    \"name\"",[301,654,318],{"class":307},[301,656,657],{"class":321},"\"image.png\"",[301,659,325],{"class":307},[301,661,662,665,667,670],{"class":303,"line":380},[301,663,664],{"class":314},"    \"size\"",[301,666,318],{"class":307},[301,668,669],{"class":314},"123456",[301,671,325],{"class":307},[301,673,674,677,679,682],{"class":303,"line":389},[301,675,676],{"class":314},"    \"md5\"",[301,678,318],{"class":307},[301,680,681],{"class":321},"\"a1b2c3d4…\"",[301,683,325],{"class":307},[301,685,686,689],{"class":303,"line":402},[301,687,688],{"class":314},"    \"links\"",[301,690,386],{"class":307},[301,692,693,696,698,701],{"class":303,"line":413},[301,694,695],{"class":314},"      \"url\"",[301,697,318],{"class":307},[301,699,700],{"class":321},"\"https:\u002F\u002Fkite.your-domain.com\u002Fi\u002Fa1b2c3d4\"",[301,702,325],{"class":307},[301,704,705,708,710,713],{"class":303,"line":419},[301,706,707],{"class":314},"      \"thumbnail_url\"",[301,709,318],{"class":307},[301,711,712],{"class":321},"\"https:\u002F\u002Fkite.your-domain.com\u002Ft\u002Fa1b2c3d4\"",[301,714,325],{"class":307},[301,716,717,720,722,725],{"class":303,"line":432},[301,718,719],{"class":314},"      \"markdown\"",[301,721,318],{"class":307},[301,723,724],{"class":321},"\"![image](https:\u002F\u002Fkite.your-domain.com\u002Fi\u002Fa1b2c3d4)\"",[301,726,325],{"class":307},[301,728,729,732,734,737,740,743,745,748,750,753,755],{"class":303,"line":445},[301,730,731],{"class":314},"      \"html\"",[301,733,318],{"class":307},[301,735,736],{"class":321},"\"\u003Cimg src=",[301,738,739],{"class":314},"\\\"",[301,741,742],{"class":321},"https:\u002F\u002Fkite.your-domain.com\u002Fi\u002Fa1b2c3d4",[301,744,739],{"class":314},[301,746,747],{"class":321}," alt=",[301,749,739],{"class":314},[301,751,752],{"class":321},"image",[301,754,739],{"class":314},[301,756,757],{"class":321},">\"\n",[301,759,760],{"class":303,"line":458},[301,761,762],{"class":307},"    }\n",[301,764,765],{"class":303,"line":471},[301,766,767],{"class":307},"  }\n",[301,769,770],{"class":303,"line":482},[301,771,485],{"class":307},[87,773,775],{"id":774},"obsidian","Obsidian",[78,777,778,779,784,785,790],{},"使用 ",[137,780,783],{"href":781,"rel":782},"https:\u002F\u002Fgithub.com\u002Frenmu123\u002Fobsidian-image-upload-toolkit",[141],"Obsidian Image Upload Toolkit"," 或 ",[137,786,789],{"href":787,"rel":788},"https:\u002F\u002Fgithub.com\u002Frenmu123\u002Fobsidian-image-auto-upload-plugin",[141],"Image Auto Upload"," 插件，配置兰空兼容后端即可。",[87,792,794],{"id":793},"typora","Typora",[78,796,797,798,801],{},"Typora 自身不支持 HTTP 上传，但可以通过命令行工具桥接。在 ",[82,799,800],{},"文件 → 偏好设置 → 图像"," 中：",[511,803,804,807],{},[98,805,806],{},"上传服务：Custom Command",[98,808,809,810],{},"命令：",[108,811,812],{},"curl -X POST https:\u002F\u002Fkite.your-domain.com\u002Fapi\u002Fv1\u002Fupload -H \"Authorization: Bearer YOUR_TOKEN\" -F \"file=@$1\" | jq -r '.data.links.url'",[87,814,815],{"id":815},"短链格式",[78,817,818],{},"Kite 为每个文件生成五种类型的短链：",[166,820,821,834],{},[169,822,823],{},[172,824,825,828,831],{},[175,826,827],{},"前缀",[175,829,830],{},"含义",[175,832,833],{},"典型用途",[182,835,836,849,865,880,893],{},[172,837,838,843,846],{},[187,839,840],{},[108,841,842],{},"\u002Fi\u002F:hash",[187,844,845],{},"图片",[187,847,848],{},"浏览器内联展示",[172,850,851,856,859],{},[187,852,853],{},[108,854,855],{},"\u002Fv\u002F:hash",[187,857,858],{},"视频",[187,860,861,864],{},[108,862,863],{},"\u003Cvideo>"," 标签",[172,866,867,872,875],{},[187,868,869],{},[108,870,871],{},"\u002Fa\u002F:hash",[187,873,874],{},"音频",[187,876,877,864],{},[108,878,879],{},"\u003Caudio>",[172,881,882,887,890],{},[187,883,884],{},[108,885,886],{},"\u002Ff\u002F:hash",[187,888,889],{},"下载链接（带 Content-Disposition）",[187,891,892],{},"直接下载",[172,894,895,900,903],{},[187,896,897],{},[108,898,899],{},"\u002Ft\u002F:hash",[187,901,902],{},"缩略图",[187,904,905],{},"列表、预览",[78,907,908,911],{},[108,909,910],{},":hash"," 为文件 MD5 的前 8 位，由系统保证在同一实例内唯一。",[87,913,914],{"id":914},"下一步",[511,916,917,923],{},[98,918,919,922],{},[137,920,921],{"href":46},"API 参考"," · 完整接口文档",[98,924,925,927],{},[137,926,27],{"href":28}," · 接入 S3 存储降低流量成本",[929,930,931],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":297,"searchDepth":328,"depth":328,"links":933},[934,935,940,943,944,945,946,947,948],{"id":89,"depth":311,"text":90},{"id":133,"depth":311,"text":110,"children":936},[937,938,939],{"id":150,"depth":328,"text":150},{"id":164,"depth":328,"text":164},{"id":261,"depth":328,"text":261},{"id":275,"depth":311,"text":276,"children":941},[942],{"id":286,"depth":328,"text":287},{"id":491,"depth":311,"text":492},{"id":545,"depth":311,"text":546},{"id":774,"depth":311,"text":775},{"id":793,"depth":311,"text":794},{"id":815,"depth":311,"text":815},{"id":914,"depth":311,"text":914},"将 Kite 接入 PicGo、ShareX 等主流图床客户端。","md",{},{"title":35},{"title":35,"description":949},"jAhFcfuQ7zdJsZPk8e7cy8qgFhbgmC22I-OJbyGEV8Q",[956,958],{"title":31,"path":32,"stem":33,"description":957,"children":-1},"完整部署指南，覆盖源码部署、Docker 部署、Docker Compose 部署与静态二进制部署。",{"title":45,"path":46,"stem":47,"description":959,"children":-1},"Kite HTTP API 的基础约定：路径、鉴权、响应结构、错误码。",1776443820228]