n8n Integration
Create and poll Seedance generations from n8n.
Create an n8n Header Auth Credential with name Authorization and value Bearer sd_live_.... Never paste the Key directly into a node or exported workflow.
Use this workflow:
Trigger → HTTP Create → Completed? → Result
|
└ queued/processing → Wait 20–30s → HTTP Get status → Switch
↑ |
└ queued/processing┘The Create node uses POST https://api.seedance2video.io/v1/videos or /images, JSON body, and an Idempotency-Key such as seedance-{{$execution.id}}-1. If a business operation can resume in a different execution, persist the Key outside n8n.
For image-to-video, send an approved HTTPS storage URL in inputs[].url. Phase one does not include an upload endpoint.
Save status_url from the Create response. If Create already returns completed, use that result without another request. Otherwise, wait and GET the URL with the same Credential. Switch on {{$json.status}}: loop for queued or processing, stop for failed or canceled, and continue for completed.
Choose the larger of Retry-After and the interval required by your Key's RPM budget. For example, use a 20–30 second Wait for an RPM 5 test Key; 30 seconds also preserves a small daily request allowance.
The first video is {{$json.output.video_url}}. Image URLs are in {{$json.output.image_urls}}.
Enable retries only with the unchanged body and Idempotency-Key. Respect Retry-After; never create a replacement automatically after an uncertain timeout.