MCPcopy Create free account
hub / github.com/HisMax/RedInk / OpenAICompatibleGenerator

Class OpenAICompatibleGenerator

backend/generators/openai_compatible.py:11–134  ·  view source on GitHub ↗

OpenAI 兼容接口图片生成器

Source from the content-addressed store, hash-verified

9
10
11class OpenAICompatibleGenerator(ImageGeneratorBase):
12 """OpenAI 兼容接口图片生成器"""
13
14 def __init__(self, config: Dict[str, Any]):
15 super().__init__(config)
16 logger.debug("初始化 OpenAICompatibleGenerator...")
17
18 if not self.api_key:
19 logger.error("OpenAI 兼容 API Key 未配置")
20 raise ValueError(
21 "OpenAI 兼容 API Key 未配置。\n"
22 "解决方案:在系统设置页面编辑该服务商,填写 API Key"
23 )
24
25 if not self.base_url:
26 logger.error("OpenAI 兼容 API Base URL 未配置")
27 raise ValueError(
28 "OpenAI 兼容 API Base URL 未配置。\n"
29 "解决方案:在系统设置页面编辑该服务商,填写 Base URL"
30 )
31
32 self.policy = ImageProviderPolicy.from_config(
33 config,
34 default_model='gpt-image-2',
35 default_endpoint='/v1/images/generations',
36 )
37 self.client = ImageApiClient(self.policy)
38 self.base_url = self.policy.base_url
39 self.default_model = self.policy.model
40 self.endpoint_type = self.policy.endpoint_type
41
42 logger.info(f"OpenAICompatibleGenerator 初始化完成: base_url={self.base_url}, model={self.default_model}, endpoint={self.endpoint_type}")
43
44 def validate_config(self) -> bool:
45 """验证配置"""
46 return bool(self.api_key and self.base_url)
47
48 def generate_image(
49 self,
50 prompt: str,
51 size: str = "1024x1024",
52 model: str = None,
53 quality: str = "standard",
54 **kwargs
55 ) -> bytes:
56 """
57 生成图片
58
59 Args:
60 prompt: 提示词
61 size: 图片尺寸 (如 "1024x1024", "2048x2048", "4096x4096")
62 model: 模型名称
63 quality: 质量 ("standard""hd")
64 **kwargs: 其他参数
65
66 Returns:
67 图片二进制数据
68 """

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected