api-server 增加 Tripo 生成的环境配置
- AppConfig 新增 tripo_base_url / tripo_api_key / 请求超时 / 重试四个字段 - 默认网关指向 Tripo 官方 v3 地址,可由 TRIPO_BASE_URL 覆盖 - 环境变量沿用 provider 示例的 TRIPO_* 口径,API Key 缺省为空 - 默认值断言补进配置测试
This commit is contained in:
@@ -19,6 +19,10 @@ const DEFAULT_EXTERNAL_GENERATION_WORKER_JOB_TIMEOUT_SECONDS: u64 = 900;
|
||||
const DEFAULT_EXTERNAL_GENERATION_WORKER_LONG_JOB_TIMEOUT_SECONDS: u64 = 1_800;
|
||||
pub(crate) const DEFAULT_VECTOR_ENGINE_IMAGE_REQUEST_TIMEOUT_MS: u64 = 1_000_000;
|
||||
pub(crate) const DEFAULT_ELEVENLABS_REQUEST_TIMEOUT_MS: u64 = 180_000;
|
||||
/// Tripo 官方网关地址;只作为默认值,部署可用 `TRIPO_BASE_URL` 覆盖。
|
||||
const DEFAULT_TRIPO_BASE_URL: &str = "https://openapi.tripo3d.com/v3";
|
||||
pub(crate) const DEFAULT_TRIPO_REQUEST_TIMEOUT_MS: u64 = 60_000;
|
||||
const DEFAULT_TRIPO_RETRIES: u32 = 2;
|
||||
const DEFAULT_EDITOR_BGFILTER_BASE_URL: &str = "http://58.87.105.82/bgfilter";
|
||||
const DEFAULT_EDITOR_BGFILTER_SINGLE_IMAGE_ESTIMATE_MS: u64 = 5_000;
|
||||
const BGFILTER_ATTEMPT_SAFETY_FACTOR: u64 = 2;
|
||||
@@ -219,6 +223,10 @@ pub struct AppConfig {
|
||||
pub hyper3d_base_url: String,
|
||||
pub hyper3d_api_key: Option<String>,
|
||||
pub hyper3d_model_request_timeout_ms: u64,
|
||||
pub tripo_base_url: String,
|
||||
pub tripo_api_key: Option<String>,
|
||||
pub tripo_request_timeout_ms: u64,
|
||||
pub tripo_retries: u32,
|
||||
pub volcengine_speech_api_key: Option<String>,
|
||||
pub volcengine_speech_app_id: Option<String>,
|
||||
pub volcengine_speech_access_key: Option<String>,
|
||||
@@ -529,6 +537,10 @@ impl Default for AppConfig {
|
||||
hyper3d_base_url: "https://api.hyper3d.com/api/v2".to_string(),
|
||||
hyper3d_api_key: None,
|
||||
hyper3d_model_request_timeout_ms: 180_000,
|
||||
tripo_base_url: DEFAULT_TRIPO_BASE_URL.to_string(),
|
||||
tripo_api_key: None,
|
||||
tripo_request_timeout_ms: DEFAULT_TRIPO_REQUEST_TIMEOUT_MS,
|
||||
tripo_retries: DEFAULT_TRIPO_RETRIES,
|
||||
volcengine_speech_api_key: None,
|
||||
volcengine_speech_app_id: None,
|
||||
volcengine_speech_access_key: None,
|
||||
@@ -1347,6 +1359,22 @@ impl AppConfig {
|
||||
config.hyper3d_model_request_timeout_ms = hyper3d_model_request_timeout_ms;
|
||||
}
|
||||
|
||||
if let Some(tripo_base_url) = read_first_non_empty_env(&["TRIPO_BASE_URL"]) {
|
||||
config.tripo_base_url = tripo_base_url;
|
||||
}
|
||||
|
||||
config.tripo_api_key = read_first_non_empty_env(&["TRIPO_API_KEY"]);
|
||||
|
||||
if let Some(tripo_request_timeout_ms) =
|
||||
read_first_positive_u64_env(&["TRIPO_REQUEST_TIMEOUT_MS"])
|
||||
{
|
||||
config.tripo_request_timeout_ms = tripo_request_timeout_ms;
|
||||
}
|
||||
|
||||
if let Some(tripo_retries) = read_first_u32_env(&["TRIPO_RETRIES"]) {
|
||||
config.tripo_retries = tripo_retries;
|
||||
}
|
||||
|
||||
config.volcengine_speech_api_key =
|
||||
read_first_non_empty_env(&["VOLCENGINE_SPEECH_API_KEY", "VOLCENGINE_API_KEY"]);
|
||||
config.volcengine_speech_app_id =
|
||||
@@ -1837,6 +1865,13 @@ mod tests {
|
||||
);
|
||||
assert!(config.ark_character_video_base_url.is_empty());
|
||||
assert_eq!(config.hyper3d_base_url, "https://api.hyper3d.com/api/v2");
|
||||
assert_eq!(config.tripo_base_url, DEFAULT_TRIPO_BASE_URL);
|
||||
assert!(config.tripo_api_key.is_none());
|
||||
assert_eq!(
|
||||
config.tripo_request_timeout_ms,
|
||||
DEFAULT_TRIPO_REQUEST_TIMEOUT_MS
|
||||
);
|
||||
assert_eq!(config.tripo_retries, DEFAULT_TRIPO_RETRIES);
|
||||
assert!(config.ark_character_video_model.is_empty());
|
||||
assert!(config.dashscope_scene_image_model.is_empty());
|
||||
assert!(config.dashscope_reference_image_model.is_empty());
|
||||
|
||||
Reference in New Issue
Block a user