Skip to content

feat: add authorized Seedance asset library - #16

Merged
lyz52789 merged 13 commits into
Open-Yescoin:agent/fix-responses-object-argumentsfrom
lyz52789:feature/seedance-asset-library
Jul 13, 2026
Merged

feat: add authorized Seedance asset library#16
lyz52789 merged 13 commits into
Open-Yescoin:agent/fix-responses-object-argumentsfrom
lyz52789:feature/seedance-asset-library

Conversation

@lyz52789

Copy link
Copy Markdown

Summary

  • add a signed BytePlus asset client and token-authenticated Seedance 2.0 real-person asset APIs
  • bind each new-api user to the LivenessFace group returned by BytePlus H5 consent/liveness verification, with ownership checks for all asset operations
  • add safe AK/SK administration, write-only secret handling, cross-database GORM persistence, localized admin UI, and end-to-end integration documentation
  • preserve image/video asset:// references in Seedance requests and retain regression coverage for Claude inline PDF/text conversion

Why

Seedance 2.0 does not accept ordinary public URLs containing real human faces. The supported flow is BytePlus H5 consent and liveness verification, followed by asset registration in the returned private LivenessFace group and use of an active asset://<id> reference during generation.

The three Claude conversion failures were not caused by deprecated channels or unavailable models. They exposed a generic content-conversion regression: file parts were falling through the image path. The converter now handles PDF documents and plain text explicitly, skips unsupported binary files, and prevents unrelated non-text content from being treated as an image.

API and behavior

  • POST /doubao/open/CreateVisualValidateSession
  • POST /doubao/open/GetVisualValidateResult
  • POST /doubao/open/ListAssets
  • POST /doubao/open/GetAsset
  • POST /doubao/open/CreateAsset
  • POST /doubao/open/UpdateAsset
  • POST /doubao/open/DeleteAsset

All routes require new-api token authentication. Asset CRUD is unavailable until the current user has completed authorization, and detail/update/delete operations enforce group ownership.

Validation

  • go test ./... -count=1
  • bun test src/volc-asset-setting-regression.test.mjs
  • bun run build
  • focused tests for settings redaction, model persistence, request signing, service isolation, handlers, routes, Claude conversion, streaming status, and Seedance asset:// passthrough

Known tooling note

The repository's existing i18n:sync and i18n:lint commands currently fail before scanning sources because i18next-cli@1.56.7 loads react-i18next@17, which expects keyFromSelector from the installed i18next@23.16.8. The new keys were added to all configured locale catalogs manually, and the production build succeeds.

@lyz52789
lyz52789 marked this pull request as ready for review July 13, 2026 01:14
@lyz52789
lyz52789 merged commit 23a3de7 into Open-Yescoin:agent/fix-responses-object-arguments Jul 13, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant