fix(protocol): Seedream 声明式结果 - 裸 b64_json 补全 data URL
声明式解析把 Ark/Seedream 的裸 b64_json 写成 DataURL 时未加 data: 前缀,导致图片任务在上游成功后仍报媒体结果下载失败。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
1 parent
1e228a04dc
commit
60bad8cad4
4 files changed
+79
-1
No files matched your search
@@ -784,3 +784,27 @@ func TestOfficialOpenAIAudioSpeedDefaultsInvalidAndZeroValues(t *testing.T) {
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestOfficialArkSeedreamParsesB64JSONAsDataURL(t *testing.T) {
|
||||
for _, tc := range []struct {
|
||||
packageName, providerID string
|
||||
}{
|
||||
{"volcengine-ark-seedream.yingce-plugin", "volcengine-ark-image"},
|
||||
{"volcengine-ark-agent-plan-seedream.yingce-plugin", "volcengine-ark-agent-plan-image"},
|
||||
} {
|
||||
t.Run(tc.providerID, func(t *testing.T) {
|
||||
adapter := officialPackageAdapter(t, tc.packageName, tc.providerID)
|
||||
result, err := adapter.ParseCreate(context.Background(), []byte(`{"created":1,"data":[{"b64_json":"aW1hZ2U=","output_format":"jpeg","size":"1824x1024"}]}`))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if result.Result == nil || len(result.Result.Images) != 1 {
|
||||
t.Fatalf("result = %#v", result.Result)
|
||||
}
|
||||
dataURL := result.Result.Images[0].DataURL
|
||||
if dataURL != "data:image/jpeg;base64,aW1hZ2U=" {
|
||||
t.Fatalf("DataURL = %q, want jpeg data URL from b64_json + output_format", dataURL)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user