Skip to content

Provider for the Higgsfield API (Seedance 2.0 and 2.5) #333

Description

@siddiqss

The production need

Higgsfield serves Seedance 2.0 and 2.5 through its own API (https://api.higgsfield.ai), with
pay-per-generation billing and no subscription. For a production that already authors
@hypit/seedance requests, it is another BYOK route alongside TokenDance, HiAPI, Pollo, BeatAPI and
Monid — the Model is unchanged, only the service differs.

Its API shape is different enough from the bundled Providers to be worth stating:

  • One endpoint path per model and workflow (POST /bytedance/seedance-2.5/image-to-video) rather
    than one task endpoint carrying a model field, so the authored ports select the path.
  • Input media is accepted only as a public URL. References go through a presigned upload
    (POST /files/generate-upload-url, then PUT to the returned storage URL), so no inline data
    URLs and no publicAssetUrl requirement for the ordinary case.
  • Submission returns request_id with a status_url to poll; terminal states are completed,
    failed, nsfw and canceled.

Its documented range is also narrower than the Seedance Model in specific places, which belongs in
supports rather than in the Model: no web_search field on any workflow, no automatic duration,
Seedance 2.5 at 480p/720p, and image-to-video framing from the supplied image with no
aspect_ratio field.

Proposed approach

packages/provider-higgsfield, following the existing gateway Providers: a GenerationWireMapping
per capability with one route per workflow, supports reporting the documented limits before
submission, and the start/poll/collect lifecycle with the presigned upload in the URL resolver.
Capabilities: @hypit/seedance@1#seedance-2 and @hypit/seedance@1#seedance-2.5 — the two models
the Distribution already describes and Higgsfield documents publicly. Kling 3.0, Wan 3.0 and the
image models it also documents have no matching Model in the Distribution today.

Docs: a section in docs/guide/service-partners.md and its docs/zh counterpart. Happy to move or
reword that if the partners page is meant for formal partners only — Higgsfield is not one as far as
I know, so say the word and I will put it elsewhere.

I have this implemented and tested against the documented protocol (route selection, the limit
refusals, and one full upload/submit/poll/collect against a stub transport). Opening this first as
CONTRIBUTING asks; PR to follow.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions