get_account
所需權限:account:read組織、方案及訂閱狀態、圖片及 LLM credits、下次補充時間、各圖片模型及成本、比例及 Carousel 成本。
毋須輸入,組織由登入時決定。

載入中...
SMEPost MCP
連接 Codex、Claude Code,或任何支援 Streamable HTTP 及 OAuth 嘅 MCP client。查看 credits、生成圖片及 4 頁 Instagram Carousel,之後可以喺 SMEPost 繼續編輯。
喺 client 加入一條網址,按提示用 SMEPost 帳戶登入即可。
MCP 連線網址
https://smepost.io/api/mcp/content
Codex 會開啟瀏覽器,讓你登入及選擇組織。
codex mcp add smepost --url https://smepost.io/api/mcp/content
codex mcp login smepost加入伺服器後,喺 Claude Code 內用 /mcp 選單完成登入。
claude mcp add --transport http smepost https://smepost.io/api/mcp/content
# Then run /mcp inside Claude Code and choose smepost → Authenticate用 Streamable HTTP transport 連接同一網址。Client 會自動找到登入方式,毋須 API key、插件或 widget。
{
"mcpServers": {
"smepost": {
"type": "http",
"url": "https://smepost.io/api/mcp/content"
}
}
}開啟 Inspector,選擇 Streamable HTTP 並貼上連線網址,就可以喺接駁自己嘅 client 前先執行 initialize、tools/list 及 tools/call。
npx @modelcontextprotocol/inspector採用 OAuth 2.1 及 PKCE(S256),client 永遠唔會接觸你嘅 SMEPost 密碼。
| 所需權限 | 意思 |
|---|---|
account:read | 讀取方案、訂閱狀態、credits 餘額、補充日期及成本(get_account)。 |
images:generate | 開始會使用圖片 credits 嘅圖片及 Carousel 生成(generate_image、generate_ig_carousel)。 |
images:read | 讀取工作進度及結果,並取得下載連結(get_generation)。 |
Access token 有效 60 分鐘。Refresh token 最長有效 90 日,每次使用都會更換;重用舊 refresh token 會撤銷整個連線。
喺 client 撤銷(client 會呼叫 revoke endpoint),或移除組織成員資格。新請求會即時失敗;仍在進行嘅工作會喺保存前停止,並退回 credits。
https://smepost.io/.well-known/oauth-protected-resource/api/mcp/content
https://smepost.io/.well-known/oauth-authorization-server/api/content/oauth
https://smepost.io/api/content/oauth/authorize
https://smepost.io/api/content/oauth/token
https://smepost.io/api/content/oauth/register
https://smepost.io/api/content/oauth/revoke共 4 個工具,伺服器用此處列出嘅同一 schema 驗證;未知欄位會被拒絕。
account:read組織、方案及訂閱狀態、圖片及 LLM credits、下次補充時間、各圖片模型及成本、比例及 Carousel 成本。
毋須輸入,組織由登入時決定。
images:generate排隊生成一張符合品牌嘅圖片,自動套用組織嘅品牌資料及知識,並即時回傳 jobId。
| 欄位 | 類型 | 必填 | 意思 |
|---|---|---|---|
prompt | string | 是 | 圖片要呈現嘅內容。 |
ratio | 1:1 | 4:5 | 9:16 | 是 | 長闊比例。 |
language | en | zh-hk | zh-tw | zh-cn | 是 | 圖片內文字使用嘅語言。 |
modelId | gemini-3.1-flash-image-preview | gemini-nano-banana-2.1 | gpt-image-2.5-flare | 否 | 由 get_account 取得嘅圖片模型;留空則用預設模型。 |
background | opaque | transparent | auto | 否 | auto(預設)、opaque,或模型支援時用 transparent。 |
requestId | string | 是 | 你自訂嘅 idempotency key,只應用於重試完全相同嘅請求。 |
maxCredits | number | 是 | 圖片 credits 硬性上限;成本較高嘅工作會被拒絕,亦不會扣款。 |
images:generate排隊生成 4 頁 Instagram Carousel:先設計一張拼圖,再以 2×2 切成 4 頁,逐頁 upscale。4 頁全部完成後先按頁序回傳。
| 欄位 | 類型 | 必填 | 意思 |
|---|---|---|---|
brief | string | 是 | Carousel 主題及重點;brief 內嘅連結不會被讀取。 |
ratio | 1:1 | 4:5 | 是 | 長闊比例。 |
language | en | zh-hk | zh-tw | zh-cn | 是 | 圖片內文字使用嘅語言。 |
requestId | string | 是 | 你自訂嘅 idempotency key,只應用於重試完全相同嘅請求。 |
maxCredits | number | 是 | 圖片 credits 硬性上限;成本較高嘅工作會被拒絕,亦不會扣款。 |
images:read狀態、階段、頁數進度、credits 結算、錯誤;成功後提供短效下載連結及喺 SMEPost 繼續編輯嘅連結。
| 欄位 | 類型 | 必填 | 意思 |
|---|---|---|---|
jobId | string | 是 | 開始工作時回傳嘅 jobId。 |
參數放喺 tools/call。結構化結果亦會以文字回傳,方便只讀文字嘅 client。
{
"method": "tools/call",
"params": {
"name": "generate_image",
"arguments": {
"prompt": "A calm flat-lay of a pour-over coffee set for an autumn menu launch",
"ratio": "4:5",
"language": "en",
"requestId": "autumn-menu-image-001",
"maxCredits": 1
}
}
}{
"method": "tools/call",
"params": {
"name": "generate_ig_carousel",
"arguments": {
"brief": "Four practical tips for brewing better coffee at home, ending with a visit-us call to action",
"ratio": "4:5",
"language": "zh-hk",
"requestId": "brew-tips-carousel-001",
"maxCredits": 3
}
}
}{
"jobId": "cmj_3f9a1c2b7d4e5f60718293a4b5c6d7e8f9012345",
"kind": "ig_carousel",
"status": "queued",
"reservedCredits": 3,
"replayed": false,
"pollAfterMs": 5000
}{
"jobId": "cmj_3f9a1c2b7d4e5f60718293a4b5c6d7e8f9012345",
"kind": "ig_carousel",
"status": "running",
"stage": "upscaling",
"progress": {
"completedPages": 2,
"totalPages": 4
},
"attempts": 1,
"billing": {
"state": "reserved",
"reservedCredits": 3,
"chargedCredits": 0,
"refundedCredits": 0
},
"images": [],
"downloadExpiresAt": null,
"smepostUrl": null,
"error": null,
"pollAfterMs": 8000,
"createdAt": "2026-10-23T08:00:00.000Z",
"completedAt": null
}{
"jobId": "cmj_3f9a1c2b7d4e5f60718293a4b5c6d7e8f9012345",
"kind": "ig_carousel",
"status": "succeeded",
"stage": "completed",
"progress": {
"completedPages": 4,
"totalPages": 4
},
"attempts": 1,
"billing": {
"state": "charged",
"reservedCredits": 3,
"chargedCredits": 3,
"refundedCredits": 0
},
"images": [
{
"page": 1,
"width": 1728,
"height": 2160,
"mimeType": "image/png",
"downloadUrl": "https://smepost.io/api/content/downloads/DOWNLOAD_TOKEN_PAGE_1"
},
{
"page": 2,
"width": 1728,
"height": 2160,
"mimeType": "image/png",
"downloadUrl": "https://smepost.io/api/content/downloads/DOWNLOAD_TOKEN_PAGE_2"
},
{
"page": 3,
"width": 1728,
"height": 2160,
"mimeType": "image/png",
"downloadUrl": "https://smepost.io/api/content/downloads/DOWNLOAD_TOKEN_PAGE_3"
},
{
"page": 4,
"width": 1728,
"height": 2160,
"mimeType": "image/png",
"downloadUrl": "https://smepost.io/api/content/downloads/DOWNLOAD_TOKEN_PAGE_4"
}
],
"downloadExpiresAt": "2026-10-23T08:19:30.000Z",
"smepostUrl": "https://smepost.io/org/ORG_ID/projects/PROJECT_ID/chats/CHAT_ID",
"error": null,
"pollAfterMs": null,
"createdAt": "2026-10-23T08:00:00.000Z",
"completedAt": "2026-10-23T08:04:30.000Z"
}{
"jobId": "cmj_3f9a1c2b7d4e5f60718293a4b5c6d7e8f9012345",
"kind": "ig_carousel",
"status": "failed",
"stage": "failed",
"progress": {
"completedPages": 3,
"totalPages": 4
},
"attempts": 3,
"billing": {
"state": "refunded",
"reservedCredits": 3,
"chargedCredits": 0,
"refundedCredits": 3
},
"images": [],
"downloadExpiresAt": null,
"smepostUrl": null,
"error": {
"code": "GENERATION_TIMEOUT",
"retryable": false
},
"pollAfterMs": null,
"createdAt": "2026-10-23T08:00:00.000Z",
"completedAt": "2026-10-23T08:12:00.000Z"
}{
"error": {
"code": "COST_EXCEEDS_MAX_CREDITS",
"message": "This job costs 3 image credits, above maxCredits 2.",
"retryable": false,
"cost": 3,
"maxCredits": 2
}
}{
"organization": {
"id": "ORG_ID",
"name": "Example Coffee"
},
"plan": {
"planId": "plus",
"effectivePlanId": "plus",
"subscriptionStatus": "active",
"billingPastDue": false
},
"credits": {
"image": {
"remaining": 42.5,
"unlimited": false
},
"llm": {
"remaining": null,
"unlimited": true
},
"nextRefillAt": "2026-11-01T00:00:00.000Z"
},
"imageModels": [
{
"modelId": "gemini-3.1-flash-image-preview",
"label": "Nano Banana 2",
"creditCost": 0.5,
"default": false
},
{
"modelId": "gemini-nano-banana-2.1",
"label": "Nano Banana 2.1",
"creditCost": 1,
"default": true
},
{
"modelId": "gpt-image-2.5-flare",
"label": "GPT Image 2.5 Flare",
"creditCost": 1,
"default": false
}
],
"generation": {
"imageRatios": [
"1:1",
"4:5",
"9:16"
],
"carousel": {
"ratios": [
"1:1",
"4:5"
],
"pageCount": 4,
"creditCost": 3,
"generationModelId": "gpt-image-2.5-flare",
"generationCreditCost": 1,
"upscaleModelId": "gemini-3.1-flash-image-preview",
"upscaleCreditCost": 2
},
"languages": [
"en",
"zh-hk",
"zh-tw",
"zh-cn"
]
},
"scopes": [
"account:read",
"images:generate",
"images:read"
]
}生成喺背景進行,連線中斷不會取消工作,亦不會重複扣款。
呼叫 get_generation,每次之間等候 pollAfterMs(排隊時約 5 秒,進行中約 8 秒)。狀態變成 succeeded 或 failed 即可停止。
相同 requestId 加相同輸入會回傳原本嘅工作(replayed: true),不會再扣款;相同 requestId 但輸入不同會回傳 IDEMPOTENCY_CONFLICT。每個 client、用戶及組織各自獨立。
建立工作時會喺核對餘額嘅同一步驟預留 credits,所以同時發出多個請求都不會超扣。成本高於 maxCredits 嘅工作會喺預留前被拒絕。
服務供應商錯誤及逾時會按 backoff 自動重試,最多 3 次,並重用已完成嘅部分,例如拼圖及已 upscale 嘅頁面。如最終仍失敗,預留嘅 credits 只會退回一次。如工作開始後 credits 已補充或方案有變,餘額已經重設,因此不會再退款。
圖片以私人方式儲存。每次呼叫 get_generation 都會回傳新連結,有效 15 分鐘;連結到期後再呼叫一次即可。
每個結果都會保存成組織內「AI 應用程式創作」項目中嘅圖片對話,可以喺網站檢視、編輯及發佈。smepostUrl 會直接開啟。
價錢來自 SMEPost 全站共用嘅模型目錄;get_account 一律回傳最新數值。
| 模型 | 圖片 credits |
|---|---|
Nano Banana 2 gemini-3.1-flash-image-preview | 0.5 |
Nano Banana 2.1 gemini-nano-banana-2.1預設 | 1 |
GPT Image 2.5 Flare gpt-image-2.5-flare | 1 |
| 4 頁 Carousel | 3 |
拼圖 1 + 4 頁 upscale 2 = 合共 3 圖片 credits。
Credits 不足時會回傳 INSUFFICIENT_IMAGE_CREDITS。SMEPost 不會自動轉用其他模型或方案。
工具失敗會以 MCP 工具錯誤回傳,附錯誤碼及可否重試。
| 錯誤碼 | 意思 | 可重試? |
|---|---|---|
INVALID_INPUT | 參數不符合工具 schema。 | 不可 |
COST_EXCEEDS_MAX_CREDITS | 工作成本高於 maxCredits。請提高 maxCredits 或改用較平嘅模型。 | 不可 |
INSUFFICIENT_IMAGE_CREDITS | 組織嘅圖片 credits 不足。 | 不可 |
BILLING_PAST_DUE | 有逾期付款,請喺 SMEPost 更新付款資料。 | 不可 |
IDEMPOTENCY_CONFLICT | 此 requestId 已用於不同輸入,請改用新 requestId。 | 不可 |
TOO_MANY_ACTIVE_JOBS | 組織同時進行嘅生成太多,請等其中一項完成。 | 可以 |
RATE_LIMITED | 請求太頻密,請等一分鐘。 | 可以 |
JOB_NOT_FOUND | 此用戶及組織沒有這個 jobId 嘅工作。 | 不可 |
ORGANIZATION_NOT_FOUND | 組織已不存在。 | 不可 |
ACCESS_REVOKED | 連線或組織存取權已被移除,請重新連接 client。 | 不可 |
GENERATION_FAILED | 圖片服務供應商出錯,系統會先自動重試。 | 可以 |
GENERATION_TIMEOUT | 圖片服務供應商處理太耐,系統會先自動重試。 | 可以 |
VERSION_LIMIT_REACHED | 已達免費方案嘅版本上限。 | 不可 |
TEMPORARILY_UNAVAILABLE | SMEPost 暫時未能完成請求,請稍後再試。 | 可以 |
任何支援 Streamable HTTP 及 OAuth 嘅 client 都使用同一網址。下表列出已完成端對端檢查嘅 client。
| Client | 狀態 |
|---|---|
| Codex | 已提供設定,正式環境檢查待完成 |
| Claude Code | 已提供設定,正式環境檢查待完成 |
| MCP Inspector | 已提供設定,正式環境檢查待完成 |
| 其他 Streamable HTTP + OAuth client | 已提供設定,正式環境檢查待完成 |