本篇是免費 token fuel 系列第 101 篇,查核 Replicate 的官方 Try for Free collection 能否作學生主要 agent 的免費 API 燃料。結論先講:Replicate 官方說指定模型在建立帳戶後可以不先購買 credits 執行,但只限少量 free runs;達到上限後,要加入 billing 並購買 credits 才能繼續。因此本篇分類為 CONDITIONAL_REPLICATE_TRY_FOR_FREE_LIMITED_RUNS_API_MODEL_SCOPE,可列入條件式候選,不列入永久、無限或固定 token credits 清單。

這次的「免費」是特定模型、特定時間與少量執行次數的 free run,不是每月 reset 的 token 配額,也不是帳戶收到一筆可自由轉移的美元 credits。官方 Try for Free 頁面直接說免費模型只到 limited number of runs,之後要加信用卡與購買 credit;Billing 頁則說一般使用的 prepaid credit 要先購買。因此 agent manifest 必須同時保存 model allowlist、free-run 狀態與 billing gate。
查核日期為 2026-08-25。模型集合、免費次數、模型 license、API 行為、資料保留、terms 與付款規則都可能改變。本文不註冊 Replicate、不登入 GitHub、不建立 API token、不送 prediction、不上傳圖片或影片、不加入 payment method、不購買 credits、不設定 auto reload,也不把任何人的 token、帳戶或免費 runs 交給主要 agent。
合法捕獲仍然只代表官方來源的整理與排除,不代表抓取別人的 secret。學生不應共享 Replicate token、複製別人的登入憑證、多開帳戶、輪換身份延長 free runs,或把模型頁的示例 output 當成自己的免費 API quota。若要看共通的 secret、資料與人工接手界線,可延伸閱讀 YOLO LAB AI agent 使用 FAQ。
本文的程式碼都是本地 manifest classifier、run guard、token scope、prediction lifecycle、quota ledger 與 fallback 示意。所有 token、account、model output、prediction id、billing 狀態與輸入資料都使用 placeholder、布林值或 hash,程式不會連到 Replicate。
截至 2026-08-25 的敲門模型:google/imagen-4,free run 仍是 limited scope
Replicate Try for Free collection 目前把 google/imagen-4 列為高品質、容易提示的影像模型,且仍在可不先購買 credits 的 collection 內;本篇以它作為目前較適合學生影像 sidecar 的 model entry。這只證明當日 collection membership,不代表每個帳戶都有相同剩餘 runs、原廠 Google API quota、商用權利或永久免費資格。
開始 canary 前仍要讀回 model card、版本、輸入 schema、license、free-run counter、billing prompt、output retention 和 owner approval。若 google/imagen-4 被移出 collection、帳戶要求 billing、counter 不明或 license 不適用,主要 agent 回到 LOCAL_ONLY,不以其他模型或新帳戶補洞。
Try for Free 是官方的免費範圍
Replicate 的 Try for Free collection 目前列出可在建立帳戶後、不購買 credit 就執行的指定模型,類型包含短影片、圖片生成、圖片放大與修復等。這是第一方的免費 surface,比社群貼文或模型作者口頭說「免費」更有資格進入候選清單;但 collection 只說列出的模型可 free run,不代表 Replicate 上所有 public、official 或 community model 都免費。
function classifyReplicateCollection(model, collection) {
if (!collection || collection.kind !== 'try-for-free') return 'MODEL_SCOPE_UNKNOWN';
if (!collection.models.includes(model)) return 'BILLING_REQUIRED_OR_UNKNOWN';
if (collection.freeRunsLimited !== true) return 'DOC_REVERIFY_REQUIRED';
return 'CONDITIONAL_FREE_RUN_CANDIDATE';
}
免費不是永久,也不是 unlimited API quota
官方 FAQ 對「free forever」的回答是否定的:Try for Free collection 的模型只提供 limited number of runs,碰到 free-use limit 後,必須 add billing 並 purchase credit。這個界線要寫在 agent 的 route policy,而不是埋在文章末尾。只要 free-run counter 不明、模型不在 collection、或 account 已經碰到 billing prompt,就停止自動請求。
「有限次數」也不能自行換算成固定 tokens、固定圖片數或固定美元。不同模型可能有不同輸入、輸出、運算時間與 license;官方頁面只給 collection 層級的免費條件,個別模型頁仍要檢查 schema、成本、內容政策與第三方條款。文章可以說有條件 free runs,不能捏造每日、每月或每個帳戶的數字。
function guardFreeRun(state) {
if (state.modelInCollection !== true) return 'MODEL_NOT_FREE_SCOPE';
if (state.freeRunsRemaining === undefined) return 'COUNTER_READBACK_REQUIRED';
if (state.freeRunsRemaining <= 0) return 'BILLING_REQUIRED_STOP';
if (state.billingPrompt === true) return 'BILLING_PROMPT_HUMAN_HANDOFF';
return 'FREE_RUN_OWNER_REVIEW';
}
free run 和免費 token credits 要分兩欄
主要 agent 的燃料資料結構不應只有 isFree。Replicate 這個候選至少要分成 freeRunAccess、tokenCreditGrant、modelScope、runLimitKnown、billingRequiredAfterLimit、checkedAt 和 licenseReview。這樣能避免把「可免費跑幾次模型」誤標成「有免費 API token」,也能避免下游 scheduler 期待每月補充額度。
本篇將 Replicate 標成 multimodal sidecar,而不是主要文字 agent 的無限燃料。Try for Free 集合目前偏向 image、video、upscale、restoration 與 creative utility;若主要 agent 需要長篇對話、長上下文、工具呼叫或穩定 JSON,不能僅因 collection 有圖片模型就宣稱已取得通用 LLM quota。
function buildReplicateFuelRecord(input) {
return {
provider: 'replicate',
model: input.model,
freeRunAccess: input.modelInTryForFree === true,
tokenCreditGrant: input.tokenCreditGrant === true,
modelScope: input.modelScope || 'unknown',
billingAfterLimit: input.freeRunsLimited === true,
checkedAt: input.checkedAt
};
}
建立帳戶後才能使用免費模型
官方 Try for Free 流程是先建立 Replicate account,再挑選 collection 內的模型,提供文字、圖片或影片輸入,執行並查看 output。文章中的建立帳戶只是操作說明,不是本回合授權去註冊;主要 agent 不能代學生登入 GitHub、接受 terms、建立 token 或代傳輸入資料。未來若 owner 明確批准,仍要由帳戶 owner 讀回 model scope、free-run 狀態與資料政策。
Replicate Terms 目前要求使用者至少 18 歲或達所在地法定成年年齡;未滿 18 歲時,父母或監護人承擔如同 end user 的責任。學生課程不能把免費模型誤當成可以由未成年者自行建立雲端帳戶的通行證。教學上可先用 local fixture,真正的帳戶與輸入資料由合資格 owner 管理。
function allowReplicateAccount(user, owner) {
if (!owner || owner.approved !== true) return 'OWNER_APPROVAL_REQUIRED';
if (user.ageVerified !== true && owner.guardianReview !== true) return 'AGE_REVIEW_REQUIRED';
if (user.accountOwner !== owner.id) return 'ACCOUNT_OWNER_MISMATCH';
return 'ACCOUNT_ACTION_MAY_PROCEED_MANUALLY';
}
API token 仍是 secret,不是免費資產
Replicate API tokens 文件說 token 用來驗證 HTTP API,token 是 secrets、應像 password 一樣處理,請求要在 Authorization Bearer header 中傳送。文件也建議用 environment variables、不同環境使用不同 token、定期 refresh,並可用 dedicated secret manager。這些要求不因 free run 而消失;免費候選仍需要與 paid provider 相同的 secret hygiene。
如果 token 意外曝光,官方文件提供 disable token 的操作,並說 Replicate 會掃描公開 GitHub repository、偵測疑似 compromise,必要時自動停用。主要 agent 不應把 token 寫進文章、範例輸出、前端 bundle、notebook 或學生群組;範例只放 process.env.REPLICATE_API_TOKEN,不放看似可用的字串。
function validateReplicateSecret(secretState) {
if (secretState.inSource || secretState.inClientBundle) return 'SECRET_EXPOSURE_STOP';
if (secretState.sharedWithStudents) return 'SHARED_SECRET_STOP';
if (!secretState.serverSide) return 'SERVER_SIDE_REQUIRED';
if (secretState.revoked === true) return 'TOKEN_REVOKED_HANDOFF';
return 'SECRET_SCOPE_OK_FOR_MANUAL_REVIEW';
}
模型頁與 collection 不是同一個保證
Try for Free collection 是 provider 的免費入口,但模型本身仍可能由 Replicate、第三方作者或 Marketplace 提供。官方 Terms 說 Third-Party Offerings 可能有額外 terms、license restrictions 和 Additional Terms,且 Replicate 不控制 Marketplace Models 的安全、功能、可用性或其如何使用 Content。學生因此要在 model card 上補查 license、輸入權利、輸出用途與模型專屬條款。
免費執行不等於免費商用。官方 Try for Free 頁面說 output 是否可以 commercial use 要看模型 license;即使 model free to run,仍可能限制商業使用。主要 agent 只把 synthetic、公開授權或 owner 已確認可用的素材放進 canary,不把 customer image、未公開影片、肖像、聲音或受限資料送進第三方模型。
function reviewReplicateModel(model) {
if (!model.inTryForFree) return 'FREE_SCOPE_NOT_CONFIRMED';
if (!model.licenseUrl || model.licenseChecked !== true) return 'LICENSE_REVIEW_REQUIRED';
if (model.thirdPartyTerms !== true) return 'THIRD_PARTY_TERMS_REQUIRED';
if (model.inputRights !== true) return 'INPUT_RIGHTS_REQUIRED';
return 'SYNTHETIC_CANARY_ALLOWED';
}
prediction route 有 sync 與 async 差異
Replicate prediction 文件列出 community models、official models 與 deployments 三類 prediction endpoint,並區分 sync 與 async。Sync 會在指定時間內等待 output,預設等待 60 秒;async 是預設行為,立即回傳 prediction id,再由 worker 查狀態或接 webhook。這是生命週期差異,不是免費與付費差異;free-run 仍要受 model scope 與 counter 控制。
主要 agent 的最小 free canary 應設定短 deadline、單一 input、禁止無限 polling、固定 output size 與人工 stop。若 sync 逾時,不應立刻重送第二次;先保存 prediction id hash、status、error、output metadata 與 counter read-back,再判斷是否仍在允許的 free-run scope。超出次數後回 billing handoff。
function chooseReplicateMode(job) {
if (job.freeRunAllowed !== true) return 'FREE_SCOPE_STOP';
if (job.deadlineSeconds <= 60 && job.outputSize === 'small') return 'SYNC_CANARY';
if (job.deadlineSeconds <= 300) return 'ASYNC_WITH_DEADLINE';
return 'LOCAL_OR_OWNER_REVIEW';
}
不要用 retry 放大有限免費次數
Replicate Billing 文件說 failed run 不收費,但官方的 free-run collection 是以 limited runs 為邊界;兩件事不能混成「失敗就可以無限重試」。失敗仍可能消耗免費執行機會、造成 queue 與 output side effect,或讓輸入品質問題持續重複。agent 只允許一次受控 retry,且必須有不同的本地修正與人工 review。
function handleReplicateResult(result, state) {
if (result.status === 'succeeded') return 'RECORD_FREE_RUN_RESULT';
if (result.status === 'failed' && state.retryCount === 0) return 'LOCAL_FIX_BEFORE_ONE_RETRY';
if (result.status === 'failed') return 'MANUAL_HANDOFF_NO_RETRY';
if (result.status === 'starting' || result.status === 'processing') return 'POLL_WITH_DEADLINE';
return 'UNKNOWN_PREDICTION_STATE_STOP';
}
免費 collection 不會自動包括 deployment
Replicate Billing 說某些功能只有 billing set up 的客戶可用;Terms 也把 deployments 描述為可以控制 hardware、scaling、minimum/maximum instances 的服務。這些 steady endpoint、warm instance、custom hardware 和 private model 能力不能從 Try for Free collection 推導出來。若學生只需少量 sidecar 影像測試,應停在 collection model;不因 latency 或穩定性需求自動建立 deployment。
一旦從 free collection 跨到 deployment、private model、training 或 custom hardware,分類就要切換為 paid owner review。這不只是費用增加,也會改變資料保留、instance idle time、模型權利、scaling 和 shutdown 責任。provider manifest 要保存 surface,讓 fallback 不會從 free run 偷渡到 paid infrastructure。
Prepaid credit 需要付款與期限
Replicate Prepaid Credit 文件說一般使用要先 purchase credit upfront,並從 balance 扣除使用量;購買 credit 要先加入 payment method。文件目前也說 purchased credit 自購買日起一年有效且不可退款,auto reload 可在低於 threshold 時自動 top up,最低 threshold 是 USD 5、最低 reload balance 是 USD 15。這些條件都屬於 paid path,不可併入 free-run fuel。
Balance 歸零時,官方說會阻止新工作並關閉正在執行的 infrastructure;少數 prediction 可能超過 balance,月底會對 default payment method 收取 outstanding balance。主要 agent 因此不能自動補款、不能替 owner 啟用 auto reload,也不能把「免費結束後可購買」寫成無需信用卡的延續方案。
function guardReplicateBilling(billing) {
if (billing.freeRunsRemaining > 0 && billing.billingPrompt !== true) return 'FREE_SCOPE_ONLY';
if (billing.paymentMethodPresent !== true) return 'BILLING_REQUIRED_STOP';
if (billing.autoReloadEnabled) return 'AUTO_RELOAD_OWNER_ONLY';
if (billing.balanceUnknown) return 'BALANCE_READBACK_REQUIRED';
return 'PAID_ROUTE_OWNER_REVIEW';
}
每次 recheck 都要確認 collection 仍在
Try for Free 是動態 collection,不應把今天看到的 model list 永久寫死在 scheduler。下一次執行前要重新確認 model 仍在官方 collection、頁面仍寫明不需先購買 credit、free-run limit 尚未觸發 billing prompt,而且 model card 的 license、input schema 與 output 行為沒有重大變更。任何一項無法回讀,就把該 model 從 free queue 移到 review queue。
這個 recheck 也要分辨「collection 還在」與「帳戶還能免費跑」:collection 頁存在,不代表個別帳戶的免費次數尚未用完;模型仍列在清單,不代表當下 region、account、rate 或 model policy 沒有額外限制。agent 只能使用 owner read-back 的當前狀態,不可從昨天的成功 output 推論今天仍有免費 run。
在沒有帳戶 read-back 的情況下,manifest 只能標記「官方 collection 候選」,不能標記「目前可呼叫」。這個差異讓文章、scheduler 與學生報告保持一致,也避免把一次免費體驗誤傳成可長期供應的燃料。
真正的放行單位是一次有邊界的 canary,而不是一個可以被所有學生任意消耗的共享 token 燃料池額度證據。
function recheckReplicateFreeScope(snapshot) {
if (snapshot.collectionReachable !== true) return 'COLLECTION_RECHECK_STOP';
if (snapshot.modelListed !== true) return 'MODEL_REMOVED_STOP';
if (snapshot.purchaseRequired === true || snapshot.billingPrompt === true) return 'PAID_UPGRADE_STOP';
if (snapshot.licenseChanged === true || snapshot.schemaChanged === true) return 'MODEL_REVIEW_REQUIRED';
return 'FREE_SCOPE_RECHECK_PASSED_FOR_ONE_CANARY';
}
免費 runs 要有本地 ledger
即使 provider 沒有讓學生看到明確的免費次數數字,主要 agent 仍應建立本地 ledger:model、collection membership、checkedAt、request hash、input class、prediction id hash、status、output size、retry count、free-run counter read-back、billing prompt、license result 和 human reviewer。ledger 的目標不是猜測剩餘 quota,而是在 evidence 不完整時安全停止。
免費 runs 與 paid credits 分開記錄。Free run ledger 不填入虛構美元值;paid ledger 則只在 owner read-back 後保存 masked balance、actual cost、payment state 與 expiry。兩者不能用一個 total fuel number 相加,否則 scheduler 會把尚未批准的 prepaid money 當成學生可用的 token。
function recordReplicateRun(event) {
const safe = {
model: event.model,
requestHash: event.requestHash,
predictionHash: event.predictionHash,
status: event.status,
retryCount: event.retryCount,
checkedAt: event.checkedAt
};
return event.billingPath === 'free-run'
? { ...safe, ledger: 'FREE_RUN_LEDGER', usd: null }
: { ...safe, ledger: 'PAID_LEDGER', usd: event.actualUsdReadback };
}
資料輸入要先做權利與保留判斷
Replicate HTTP API 文件說小型檔案可以用 data URL,較大的檔案或需要重複使用的檔案可用 HTTP URL;data URL 不會由 Replicate 儲存,但 HTTP URL 讓 prediction metadata 可以與輸入檔案關聯。這是 API 行為資訊,不是資料安全保證。學生仍要確認 URL 權限、內容 license、是否含個資、是否會被第三方讀取,以及 output retention 與刪除責任。
Terms 要求 customer 對 Inputs、Outputs、Customer Data 與第三方 model terms 負責,並要求取得必要的 disclosure、notice、rights、consent 和 permission。主要 agent 第一輪只接受 synthetic prompt、公開授權素材或 owner 已批准的測試資料;不要因為 run 是免費就降低 data review。
function classifyReplicateInput(input) {
if (input.secret || input.pii || input.privateCode) return 'LOCAL_ONLY';
if (input.rightsConfirmed !== true) return 'INPUT_RIGHTS_REVIEW';
if (input.modelTermsChecked !== true) return 'MODEL_TERMS_REVIEW';
if (input.retentionKnown !== true) return 'RETENTION_REVIEW';
return input.synthetic === true ? 'SYNTHETIC_FREE_CANARY' : 'OWNER_APPROVAL_REQUIRED';
}
Terms 與第三方 model license 不可省略
Replicate Terms 目前說 customer 要遵守 Community Guidelines、Acceptable Use Policy、第三方 model license 與 Additional Terms,也禁止分享 Login Credentials、繞過 security、輸入違法或有害內容、侵犯第三方權利和未經同意冒充他人。這些限制直接影響 agent 的 prompt、素材、output publication 與學生共享方式。
即使是官方 collection,也不代表每個 model 都有相同 license。文章可以列出官方當天看到的候選模型類型,但不能承諾所有 output 可商用、可訓練、可重散布或可用在客戶專案。將 model license snapshot、source URL 與 reviewer 存在 ledger,才能在 collection 更新後重新檢查。
主要 agent 不可靜默切 Replicate
當文字 provider 回傳 429、timeout 或 model unavailable 時,agent 不可因為 Replicate collection 看起來免費就自動把文字任務改送影像模型,亦不可把圖片 sidecar 的免費 runs 當成全域 fallback quota。不同 modality 的輸入、輸出與 license 不同,任務語義也不相容。正確結果是 REPLICATE_MODEL_SCOPE_REVIEW,交給 owner 選擇 approved route 或 local model。
若 owner 明確要使用 Replicate,先指定一個 collection model、一個 synthetic input、一個 free-run canary、一次結果 read-back 和明確 stop time。免費 counter 未回讀、billing prompt 出現、model 離開 collection、license 未確認或輸入權利不明時,立即回 local-only,不用 retry 或新帳戶延長。
function chooseReplicateFallback(task, manifest) {
if (task.type !== manifest.modelScope) return 'MODEL_SCOPE_MISMATCH';
if (manifest.freeRunRemainingKnown !== true) return 'LOCAL_ONLY';
if (manifest.billingPrompt || manifest.licenseChecked !== true) return 'OWNER_REVIEW';
if (manifest.freeRunRemaining <= 0) return 'BILLING_REQUIRED_STOP';
return 'REPLICATE_FREE_CANARY_ONLY';
}
學生交接要交證據,不交 token
學生可以交接 model name、官方 collection URL、查核日期、local fixture 結果、request hash、status、license review 結果、remaining counter 是否已讀回與下一個 stop condition;不能交接 API token、GitHub login、billing screenshot、完整輸入、私人 output URL 或含 secret 的 log。這樣下一位學生能重做判定,不需要繼承上一位的權限。
交接資料還要標明「free run」與「paid route」的分界。若上一位學生在免費上限後按了 add billing,下一位不能把新 balance 當成免費燃料;若上一位只在 playground 或 collection UI 看了 model,也不能說 API token 已驗證。所有未完成欄位以 UNKNOWN_STOP 傳遞。
本篇的條件式收錄判定
Replicate Try for Free 目前可作為學生主要 agent 的受限 multimodal sidecar:官方明確提供指定模型的 free runs,且不必先購買 credits;但 runs 數量有限,使用到上限後要加入 billing 和購買 credits。它不能被標成永久免費 API token、無限 quota、每月 reset、通用 LLM fuel 或可共享的帳戶資產。
收錄條件是 model 仍在官方 Try for Free collection、owner 明確同意帳戶操作、token 保存在 server-side、輸入權利與 model license 通過、free-run counter 有 read-back、billing prompt 尚未出現、retry 有上限,且 prediction 有 deadline 與 output cleanup。任何條件失效就移出 free queue,交給人工或 local fallback。
function finalReplicateDecision(evidence) {
const gates = [
evidence.inTryForFree,
evidence.freeRunsLimited,
evidence.ownerApproved,
evidence.tokenServerSide,
evidence.licenseChecked,
evidence.counterReadback,
evidence.noBillingPrompt,
evidence.deadlineSet
];
if (gates.some(value => value !== true)) return 'KEEP_OUT_OF_FREE_QUEUE';
return 'CONDITIONAL_FREE_MULTIMODAL_CANARY';
}
本篇完成閘門
完成本篇只代表 Replicate 的官方 free-run surface 已整理,不代表已取得 Replicate API token 或完成 live smoke。驗收內容包括:Try for Free collection、limited runs、billing gate、model scope、account age、token secret、prediction sync/async、retry、prepaid credits、auto reload、balance zero、data rights、third-party license、student handoff 與 fallback policy。
未完成項目包括:沒有 Replicate 註冊、沒有 GitHub 登入、沒有建立或取得 API token、沒有 live prediction、沒有上傳資料、沒有加入 payment method、沒有購買或 auto-reload credits、沒有保存 output、沒有做商業用途判定、沒有外部 publication 或 WordPress 寫入。這些是安全完成條件,不是缺少的操作步驟。
官方來源與下一篇
本篇主要依據 Replicate 官方 Try AI models for free、Billing、Prepaid credit、API tokens、Create a prediction、HTTP API、Terms of Service 與 Privacy policy。正式使用前以當日 collection、model card、license、counter、billing、Terms 與 owner read-back 為準。
第 101 篇完成後,下一篇會繼續尋找官方明確免費 API quota、合法 promotional credits 或教育方案。Replicate 先保留為有限 runs 的條件式候選,不會把 free collection、免費 output 或 API token 本身誇大成永久 token fuel。
KEEP READING
接著讀什麼?
從同一主題繼續閱讀,或回到 YOLO LAB 的完整文章索引,找到下一個值得投入時間的問題。


發表迴響