fix: convert media URLs to dict format for create_post API

This commit is contained in:
fujie
2026-01-08 08:44:41 +08:00
parent 10d24fbfa2
commit ca2e0b4fba

View File

@@ -157,16 +157,26 @@ class OpenWebUICommunityClient:
"""
try:
url = f"{self.BASE_URL}/posts/create"
# 将字符串 URL 转换为字典格式 (API 要求)
media_list = []
if media:
for item in media:
if isinstance(item, str):
media_list.append({"url": item})
elif isinstance(item, dict):
media_list.append(item)
payload = {
"title": title,
"content": content,
"type": post_type,
"data": data or {},
"media": media or [],
"media": media_list,
}
print(f" [DEBUG] Payload keys: {list(payload.keys())}")
print(
f" [DEBUG] data.function keys: {list(payload.get('data', {}).get('function', {}).keys()) if payload.get('data') else 'N/A'}"
f" [DEBUG] media format: {media_list[:1] if media_list else 'empty'}"
)
response = requests.post(url, headers=self.headers, json=payload)
if response.status_code != 200: