Skip to main content
POST
創建補全
Theo API 的核心端點。讓提示詞經過完整的編排流水線,並返回完整的響應。
如需實時令牌傳輸,請設置 stream: true,或參閱 流式補全。

認證

需要 Bearer 令牌。參閱 認證。

請求體

string
必填
提示詞文本。必須為非空字符串。
string
預設值:"auto"
執行模式。設置為 auto 時,Theo 會對提示詞進行分類並自動選擇最優引擎。可用模式:
  • auto — 對提示詞分類並路由到最佳引擎(默認)
  • fast — 面向簡單查詢的低延遲響應
  • think — 面向複雜分析的深度推理
  • code — 代碼生成(Theo Code 引擎,擴展輸出預算)
  • image — 圖像生成(Theo Create)
  • video — 異步。 請使用 POST /api/v1/video 並輪詢任務狀態,而不是本端點。
  • research — 異步。 請使用 POST /api/v1/research 並輪詢任務狀態,而不是本端點。
  • roast — 幽默、不拘一格的語氣
  • genui — 生成交互式 UI 組件(OpenUI Lang)
research 和 video 是異步的,不得發送給 /completions(或 stream())。它們以後台任務形式運行;在此處調用會導致工作被內聯執行,請求會在完成前觸發超時。請通過 POST /api/v1/research / POST /api/v1/video 將其加入隊列,並使用 獲取任務狀態 進行輪詢。@hitheo/sdk 在你把這些模式傳給 complete() / stream() 時會立即拋出 TheoUsageError。參閱 異步任務指南。
boolean
預設值:"false"
啓用 SSE 流式傳輸。為 true 時,返回 text/event-stream 響應而非 JSON。參閱 流式傳輸。
string
延續一段已有的對話。傳入對話 ID 以保持多輪上下文。
string[]
本次請求要激活的技能 slug。這些技能會與用戶已安裝的技能合併。每個 slug 會為本次補全激活相應技能的提示擴展、工具和模型偏好。你可以在控制台(每張技能卡片上的複製圖標)、GET /api/v1/skills,或技能構建器的 Input 節點中找到 slug。完整指南參閱 通過 API 激活技能。
object[]
代理循環期間模型可調用的內聯工具定義。
string | object
預設值:"theo"
為本次請求覆蓋 Theo 的人格設定。
  • "theo" — 默認的 Theo 角色
  • "none" — 不使用角色(原始模型輸出)
  • { "system_prompt": "You are..." } — 自定義系統提示詞
number
採樣温度(0–2)。數值越高,輸出越具創造性。
integer
預設值:"8"
代理循環的最大迭代次數(1–20)。每次迭代為一個「思考 → 行動 → 觀察」循環。
object
為特定模式覆蓋所用引擎。鍵為模式名稱(例如 "code"、"think"),值為 Theo 引擎 ID(例如 "theo-1-reason"、"theo-1-flash")。有效引擎 ID 參閱 列出模型。
string
預設值:"theo"
響應格式。"theo" 為默認格式,"openai" 為兼容 OpenAI 的格式。
object
附加在此次補全上的任意鍵值元數據。會在響應中原樣返回,並記錄在審計日誌中。
string
GenUI 模式下的組件庫標識符。供 E.V.I. 調用方用於自定義 UI 渲染。
boolean
預設值:"true"
設為 false 可跳過本次請求的長期記憶檢索與注入。適用於無狀態 / 對隱私敏感的調用場景,即不希望歷史記憶影響本次回答。
object
面向無狀態調用方的內聯對話信封 — 當未提供 conversation_id 時,服務器會使用其中最近的 messages(最多 20 條),使「再寫長一點」這類追問能夠正確解析上下文。
object
按請求覆蓋的響應風格配置(格式、精確度、意圖),疊加在該密鑰的默認設置之上。
object
按請求覆蓋的人格 / 特質配置疊加層。
boolean
預設值:"true"
品牌總開關。設為 false 會從系統提示詞中剝離 Theo 的角色 / 品牌信息(對 persona 的超集控制)。
boolean
設為 true 時,會將響應限定在該密鑰的品牌目錄(Brand Soul)範圍內 — 只推薦你自己的產品/內容,並將偏離主題的請求引導回來。
object[]
用於視覺輪次的圖片附件。每項為 { type: "image_url", url } 或 { type: "image_base64", data, mime_type }(PNG / JPEG / WebP / GIF,base64 編碼後 ≤ 15MB)。
string
為 image 模式固定圖像子引擎(否則自動選擇)。
string
為 image 模式固定圖像質量檔位。
string
隱身媒體模型固定(stealth_image / stealth_video)。
string
隱身媒體的寬高比。
string
隱身視頻片段的時長。

請求示例

結合技能與工具

響應

string
唯一的補全 ID(前綴為 cmpl_)。
string
固定為 "completion"。
string
ISO 8601 時間戳。
string
生成的文本內容。
string
你請求時指定的模式(例如 "auto")。
string
Theo 在意圖分類後實際使用的模式(例如 "fast"、"think"、"code")。
object
處理該請求的 Theo 引擎。
object[]
代理循環期間調用過的工具。
object[]
在本次補全過程中生成的文件(圖片、代碼、文檔)。
object[]
建議的後續提示詞。
object
令牌計數與費用。
對於非文本模式(image、video、tts、stt),prompt_tokens 和 completion_tokens 始終為 0 — 令牌在這些場景下不是有意義的計費單位。請以 usage.cost_cents 作為這些模式下唯一的用量指標。
object | null
你在請求中傳入的元數據,原樣回傳。
string | null
本輪對話最終解析所依據的服務端會話 ID。若未創建或關聯任何會話,則為 null。若請求中傳入了 conversation_id,則原樣回傳。
string
服務器分配的請求標識符(同時以 X-Request-Id 響應頭返回)。在提交支持工單時附上此值,便於我們在日誌中查詢該請求。

響應示例

兼容 OpenAI 的格式

傳入 format: "openai" 即可獲得符合 OpenAI chat.completions 格式的響應。這使其可以直接替換現有基於 OpenAI 的應用。
該響應遵循 OpenAI 的 chat.completion 結構,包含 choices、usage 和 model 字段。

語義緩存

非會話類補全(未提供 conversation_id)會被自動緩存。相同的請求會零成本即時返回緩存結果。參閱 語義緩存。 緩存命中的響應體中會包含 "_cached": true。

錯誤