Google Colab 为实验稳定扩散等人工智能模型提供了一个绝佳的环境。 Civitai 是共享和发现这些模型的热门中心。这篇文章介绍了如何使用由 Colab 的 Secrets 功能管理的 API 令牌直接在 Colab 笔记本中从 Civitai 下载需要登录的模型。
下载示例:使用 Colab Secrets
要正确管理您的 API 令牌,请使用 Google Colab 的内置 Secrets 管理器。
-
将您的代币添加到 Colab Secrets:
- 在 Colab 笔记本中,单击左侧边栏中的钥匙图标(🔑)。
- 单击“+ 添加新秘密”。
- 输入密钥的名称,例如
CIVITAI_API_TOKEN
。 - 将您的实际 Civitai API 令牌粘贴到值字段中。
- 确保“笔记本访问”开关已启用。
- 关闭“秘密”面板。
-
访问秘密并下载:在 Colab 中运行以下代码块。它将访问您存储的令牌并将其用于下载。
# 1. Import the secrets module and access your stored token from google.colab import userdata try : CIVITAI_TOKEN = userdata.get( 'CIVITAI_API_TOKEN' ) if not CIVITAI_TOKEN: raise ValueError( "Civitai token not found or empty in Colab Secrets. Please add it." ) except userdata.SecretNotFoundError: print ( "Secret 'CIVITAI_API_TOKEN' not found. Please add it to Colab Secrets (key icon 🔑)." ) raise # Stop execution if the secret isn't found except ValueError as e: print (e) raise # Stop execution if the secret is empty # 2. Construct and run the wget command using the retrieved token # Example URL - replace with the actual model URL and desired filename # Ensure the URL includes the necessary parameters (type, format, etc.) for your desired file # Note: The URL is enclosed in double quotes for the shell command. !wget "https://civitai.com/api/download/models/351306?type=Model&format=SafeTensor&size=full&fp=fp16&token=$CIVITAI_TOKEN" -O dreamshaperXL_v21TurboDPMSDE.safetensors print ( "Download command executed." )
(如果您还没有令牌,请参阅下面的“获取您的 Civita API 令牌”;有关查找正确 URL 和参数的详细信息,请参阅“重要注意事项”)。
问题(为什么直接下载失败)
当您尝试在未经身份验证的情况下直接在 Colab 中使用wget
等工具下载某些模型时,如果模型需要用户帐户才能访问,则下载可能会失败。 Civitai 限制注册用户进行某些下载。
解决方案:通过 Colab Secrets 获取 Civitai API 令牌
解决方案是使用从您的 Civita 帐户生成并通过 Colab Secrets 管理的个人 API 令牌来验证您的下载请求。
获取您的 Civitai API 令牌
如果您还没有 API 令牌,请按照以下步骤获取 API 令牌:
- 访问帐户设置:
- 访问Civitai 网站。
- 单击您的个人资料图标(通常位于右上角)。
- 从下拉菜单中选择“帐户设置”。
- 生成 API 密钥:
- 在“帐户设置”中,查找名为“API 密钥”(或类似内容)的部分。
- 单击“添加 API 密钥”。
- 为您的密钥指定一个描述性名称(例如“Colab Downloads”),然后单击“保存”。
- 保存您的密钥:
- Civita 将生成并显示您的 API 密钥。立即复制此密钥。您将将此密钥粘贴到 Colab Secrets 管理器中(如“下载示例”部分中所述)。将其视为密码 – 不要公开共享。
重要考虑因素
- 令牌管理(使用 Colab Secrets):
- 建议使用 Colab Secrets 管理器(钥匙图标 🔑)来存储 API 密钥等敏感信息。这使您的令牌与代码分开。示例代码展示了如何访问它。
- 查找下载 URL/参数:最具挑战性的部分仍然是为您需要的特定模型文件找到准确的 API 下载 URL 和正确的参数(
type
、format
、size
、fp
等)。您可能需要:- 登录后在浏览器中开始下载,并使用浏览器的开发人员工具(“网络”选项卡)检查所请求的实际 URL。
- 在 Civita 页面上查找模型创建者提供的 API 信息或下载链接。示例中的参数 (
?type=Model&format=SafeTensor&size=full&fp=fp16
) 特定于该模型文件,对于其他模型文件可能会有所不同。
- 速率限制:请注意 Civita 可能强制执行的潜在 API 速率限制。避免过于频繁的下载。
通过 Colab Secrets 使用 Civitai API 令牌,您可以将需要登录的模型直接无缝下载到您的 Google Colab 环境中。
原文: https://atlassc.net/2025/05/06/downloading-login-required-civitai-models-in-google-colab