- Asset: /api/v1/volcengine/asset → /api/v1/multimodal/sd/assets
- Create video task: /api/v1/videos → /api/v1/multimodal/sd/videos/contents/generations/tasks
- Query video task: /api/v1/videos/{id} → /api/v1/multimodal/sd/videos/contents/generations/tasks/{id}
Co-Authored-By: Claude <noreply@anthropic.com>
master
| @@ -54,7 +54,7 @@ func buildDoubaoAssetURL(channel *model.Channel, action string, version string) | |||||
| return "", fmt.Errorf("invalid Doubao asset base URL: %s", baseURL) | return "", fmt.Errorf("invalid Doubao asset base URL: %s", baseURL) | ||||
| } | } | ||||
| u.Path = strings.TrimRight(u.Path, "/") + "/api/v1/volcengine/asset" | |||||
| u.Path = strings.TrimRight(u.Path, "/") + "/api/v1/multimodal/sd/assets" | |||||
| u.RawQuery = "" | u.RawQuery = "" | ||||
| u.Fragment = "" | u.Fragment = "" | ||||
| @@ -70,7 +70,7 @@ func TestBuildDoubaoAssetURLDefaultBaseAndEscapedQuery(t *testing.T) { | |||||
| got, err := buildDoubaoAssetURL(&model.Channel{}, "ApplyUploadInner&Space", "") | got, err := buildDoubaoAssetURL(&model.Channel{}, "ApplyUploadInner&Space", "") | ||||
| require.NoError(t, err) | require.NoError(t, err) | ||||
| assert.Equal(t, defaultDoubaoAssetBaseURL+"/api/v1/volcengine/asset?Action=ApplyUploadInner%26Space&Version=2024-01-01", got) | |||||
| assert.Equal(t, defaultDoubaoAssetBaseURL+"/api/v1/multimodal/sd/assets?Action=ApplyUploadInner%26Space&Version=2024-01-01", got) | |||||
| } | } | ||||
| func TestBuildDoubaoAssetURLExplicitBaseURLOverridesDefault(t *testing.T) { | func TestBuildDoubaoAssetURLExplicitBaseURLOverridesDefault(t *testing.T) { | ||||
| @@ -79,7 +79,7 @@ func TestBuildDoubaoAssetURLExplicitBaseURLOverridesDefault(t *testing.T) { | |||||
| got, err := buildDoubaoAssetURL(&model.Channel{BaseURL: &baseURL}, "CommitUploadInner", "2025-02-03") | got, err := buildDoubaoAssetURL(&model.Channel{BaseURL: &baseURL}, "CommitUploadInner", "2025-02-03") | ||||
| require.NoError(t, err) | require.NoError(t, err) | ||||
| assert.Equal(t, "https://example.com/custom/api/v1/volcengine/asset?Action=CommitUploadInner&Version=2025-02-03", got) | |||||
| assert.Equal(t, "https://example.com/custom/api/v1/multimodal/sd/assets?Action=CommitUploadInner&Version=2025-02-03", got) | |||||
| } | } | ||||
| func TestEffectiveDoubaoAssetGroupUsesUsingGroupBeforeBlankTokenGroup(t *testing.T) { | func TestEffectiveDoubaoAssetGroupUsesUsingGroupBeforeBlankTokenGroup(t *testing.T) { | ||||
| @@ -119,7 +119,7 @@ func (a *TaskAdaptor) BuildRequestURL(info *relaycommon.RelayInfo) (string, erro | |||||
| if strings.TrimSpace(baseURL) == "" && info != nil { | if strings.TrimSpace(baseURL) == "" && info != nil { | ||||
| baseURL = strings.TrimRight(info.ChannelBaseUrl, "/") | baseURL = strings.TrimRight(info.ChannelBaseUrl, "/") | ||||
| } | } | ||||
| return fmt.Sprintf("%s/api/v1/videos", baseURL), nil | |||||
| return fmt.Sprintf("%s/api/v1/multimodal/sd/videos/contents/generations/tasks", baseURL), nil | |||||
| } | } | ||||
| func (a *TaskAdaptor) BuildRequestHeader(c *gin.Context, req *http.Request, info *relaycommon.RelayInfo) error { | func (a *TaskAdaptor) BuildRequestHeader(c *gin.Context, req *http.Request, info *relaycommon.RelayInfo) error { | ||||
| @@ -204,7 +204,7 @@ func (a *TaskAdaptor) buildFetchRequest(baseUrl, key string, body map[string]any | |||||
| if !ok || strings.TrimSpace(taskID) == "" { | if !ok || strings.TrimSpace(taskID) == "" { | ||||
| return nil, fmt.Errorf("invalid task_id") | return nil, fmt.Errorf("invalid task_id") | ||||
| } | } | ||||
| uri := fmt.Sprintf("%s/api/v1/videos/%s", strings.TrimRight(baseUrl, "/"), taskID) | |||||
| uri := fmt.Sprintf("%s/api/v1/multimodal/sd/videos/contents/generations/tasks/%s", strings.TrimRight(baseUrl, "/"), taskID) | |||||
| req, err := http.NewRequest(http.MethodGet, uri, nil) | req, err := http.NewRequest(http.MethodGet, uri, nil) | ||||
| if err != nil { | if err != nil { | ||||
| return nil, err | return nil, err | ||||
| @@ -30,7 +30,7 @@ func TestBuildRequestURLUsesAipingVideosEndpoint(t *testing.T) { | |||||
| }) | }) | ||||
| require.NoError(t, err) | require.NoError(t, err) | ||||
| require.Equal(t, "https://aiping.example.com/api/v1/videos", got) | |||||
| require.Equal(t, "https://aiping.example.com/api/v1/multimodal/sd/videos/contents/generations/tasks", got) | |||||
| } | } | ||||
| func TestFetchTaskUsesAipingVideosEndpoint(t *testing.T) { | func TestFetchTaskUsesAipingVideosEndpoint(t *testing.T) { | ||||
| @@ -39,7 +39,7 @@ func TestFetchTaskUsesAipingVideosEndpoint(t *testing.T) { | |||||
| require.NoError(t, err) | require.NoError(t, err) | ||||
| require.Equal(t, http.MethodGet, req.Method) | require.Equal(t, http.MethodGet, req.Method) | ||||
| require.Equal(t, "https://aiping.example.com/api/v1/videos/cgt-123", req.URL.String()) | |||||
| require.Equal(t, "https://aiping.example.com/api/v1/multimodal/sd/videos/contents/generations/tasks/cgt-123", req.URL.String()) | |||||
| require.Equal(t, "Bearer sk-test", req.Header.Get("Authorization")) | require.Equal(t, "Bearer sk-test", req.Header.Get("Authorization")) | ||||
| } | } | ||||