Seedance 1.0 Pro API: Professionel videogenerering endpoint
Komplet guide til Seedance 1.0 Pro API til professionel videogenerering. Lær endpoint-integration, godkendelse, parametre, fejlhåndtering og bedste praksis for at bygge AI-video ind i dine applikationer.

Hvis du bygger video ind i et produkt, en workflow eller en pipeline, bliver web-UI'en til sidst en flaskehals. Seedance 1.0 Pro API'en er den samme model bag UI'en, eksponeret som et rent REST-endpoint med bearer-token-godkendelse, forudsigelig prisbedst og ligetil job-polling. Denne guide dækker alt, hvad du har brug for til at udrullet det i produktion.
TL;DR
- REST API til Seedance 1.0 Pro indfødt 1080p-videogenerering
- Godkendelse: bearer-token fra din kontopanel
- Fakturering: pr. sekund til $0,24/sek ($0,12 base × 2x margin)
- Mønster: indsend job → poll status → download MP4
- Bedst til: SaaS-integrationer, batch-pipelines, automatisering, white-label-produkter
Hvad API'en giver dig
Alt hvad Seedance 1.0 Pro web-UI tilbyder, tilgængeligt programmatisk:
- Billede-til-video-generering med en kilde-billede-URL
- Motion prompt for at styre animationen
- Varighed kontrol fra 2 til 12 sekunder
- Slut-frame kontrol til dirigerede overgange
- Kamera lock toggle
- Job polling for status og resultat-URL
- MP4 output ved indfødt 1080p
Brug det til SaaS-produkter, der har brug for indlejret videogenerering, interne bureau-pipelines, batch-produktionsworkflows eller automatisering af gentagne video-opgaver.
Generer broadcast-kvalitet 1080p-video
Professionel billede-til-video AI. Standard 1080p output, superior motion. 50 gratis credits.
Prøv Seedance 1.0 Pro gratis5 gratis generationer · Intet kreditkort påkrævet
Godkendelse
Alle API-kald godkendes med et bearer-token. Generer et fra dit Arteza-kontodashboard på arteza.ai.
Authorization: Bearer YOUR_API_KEY
Sikkerhedsregler:
- Commit aldrig API-nøgler til versionskontrol
- Roter nøgler regelmæssigt
- Brug miljøvariabler eller en secrets manager
- Begræns nøgler til specifikke kilder hvis muligt
Kerne-endepunkterne
Indsend et genererings-job
POST /v1/seedance-1-pro/generate
Anmodningens brødtekst:
{
"source_image_url": "https://your-cdn.com/source.jpg",
"prompt": "Slow camera push-in on the subject, warm golden hour light, shallow depth of field",
"duration_seconds": 6,
"camera_lock": false,
"end_frame_url": null
}
Parametre:
| Felt | Type | Påkrævet | Beskrivelse |
|---|---|---|---|
source_image_url | string | ja | Offentligt tilgængelig URL til kildebilledet |
prompt | string | ja | Motion beskrivelse |
duration_seconds | integer | ja | 2, 12 sekunder |
camera_lock | boolean | nej | Standard false |
end_frame_url | string | nej | Valgfri slut-frame-URL |
Svar:
{
"job_id": "job_abc123xyz",
"status": "queued",
"created_at": "2026-04-10T12:00:00Z",
"estimated_seconds": 90
}
Tjek job-status
GET /v1/seedance-1-pro/status/{job_id}
Svar (i gang):
{
"job_id": "job_abc123xyz",
"status": "processing",
"progress": 0.45,
"created_at": "2026-04-10T12:00:00Z"
}
Svar (færdig):
{
"job_id": "job_abc123xyz",
"status": "completed",
"video_url": "https://arteza.ai/videos/abc123xyz.mp4",
"duration_seconds": 6,
"resolution": "1920x1080",
"credits_charged": 144
}
Mulige status værdier: queued, processing, completed, failed
Download resultatet
Når status er completed, peger video_url til en 1080p MP4-fil. Download den øjeblikkeligt og opbevar den i din egen infrastruktur - stol ikke på, at URL'en er gyldig på ubestemt tid.
Et komplet Python-eksempel
import os
import time
import requests
API_KEY = os.environ["SEEDANCE_API_KEY"]
BASE_URL = "https://api.arteza.ai/v1/seedance-1-pro"
HEADERS = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
def generate_video(source_image_url, prompt, duration=6, camera_lock=False, end_frame=None):
payload = {
"source_image_url": source_image_url,
"prompt": prompt,
"duration_seconds": duration,
"camera_lock": camera_lock,
}
if end_frame:
payload["end_frame_url"] = end_frame
response = requests.post(f"{BASE_URL}/generate", headers=HEADERS, json=payload)
response.raise_for_status()
return response.json()["job_id"]
def wait_for_completion(job_id, poll_interval=5, timeout=300):
start = time.time()
while time.time() - start < timeout:
r = requests.get(f"{BASE_URL}/status/{job_id}", headers=HEADERS)
r.raise_for_status()
data = r.json()
if data["status"] == "completed":
return data["video_url"]
if data["status"] == "failed":
raise RuntimeError(f"Job failed: {data.get('error', 'unknown')}")
time.sleep(poll_interval)
raise TimeoutError(f"Job {job_id} did not complete within {timeout}s")
def download_video(url, output_path):
response = requests.get(url, stream=True)
response.raise_for_status()
with open(output_path, "wb") as f:
for chunk in response.iter_content(chunk_size=8192):
f.write(chunk)
# Use it
job_id = generate_video(
source_image_url="https://example.com/product.jpg",
prompt="Slow camera orbit around the product, studio lighting, 6 seconds",
duration=6,
camera_lock=True
)
video_url = wait_for_completion(job_id)
download_video(video_url, "output.mp4")
print(f"Video saved to output.mp4")
Et komplet Node.js-eksempel
import fs from 'fs';
import fetch from 'node-fetch';
const API_KEY = process.env.SEEDANCE_API_KEY;
const BASE_URL = 'https://api.arteza.ai/v1/seedance-1-pro';
const HEADERS = {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json'
};
async function generateVideo(opts) {
const response = await fetch(`${BASE_URL}/generate`, {
method: 'POST',
headers: HEADERS,
body: JSON.stringify(opts)
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const data = await response.json();
return data.job_id;
}
async function waitForCompletion(jobId, { pollInterval = 5000, timeout = 300000 } = {}) {
const start = Date.now();
while (Date.now() - start < timeout) {
const r = await fetch(`${BASE_URL}/status/${jobId}`, { headers: HEADERS });
const data = await r.json();
if (data.status === 'completed') return data.video_url;
if (data.status === 'failed') throw new Error(`Job failed: ${data.error}`);
await new Promise(res => setTimeout(res, pollInterval));
}
throw new Error('Timeout');
}
async function downloadVideo(url, path) {
const response = await fetch(url);
const buffer = await response.buffer();
fs.writeFileSync(path, buffer);
}
// Use it
const jobId = await generateVideo({
source_image_url: 'https://example.com/product.jpg',
prompt: 'Slow camera orbit around the product, studio lighting, 6 seconds',
duration_seconds: 6,
camera_lock: true
});
const videoUrl = await waitForCompletion(jobId);
await downloadVideo(videoUrl, 'output.mp4');
console.log('Saved output.mp4');

Vil du have broadcast-kvalitet som denne? Prøv Seedance 1.0 Pro gratis →
Prissætning og fakturering
Takst: $0,24 pr. sekund af output-video (24 credits/sekund)
| Varighed | Credits | Pris |
|---|---|---|
| 2s | 48 | $0,48 |
| 4s | 96 | $0,96 |
| 6s | 144 | $1,44 |
| 8s | 192 | $1,92 |
| 10s | 240 | $2,40 |
| 12s | 288 | $2,88 |
Credits bliver kun trukket ved succesfulde generinger. Mislykkede jobs forbruger ikke credits.
Credit-pakker er de samme som web-UI'en: $10 / $25 / $50 / $100. Se prisside.
Rategrænser og samtidighed
Standard-konti har rategrænser, der passer til typiske integrations-workloads. Kontakt support for forhøjede grænser til høj-volumens produktion.
Generel vejledning:
- 5, 10 samtidige jobs er pålidelige for de fleste konti
- Eksponentiel backoff på HTTP 429-svar
- Job-niveau-retrials ved forbigående fejl (op til 3 forsøg)
- Webhook-callbacks er tilgængelige for at undgå overdreven polling
Webhooks (Valgfrit)
I stedet for at poll, registrer en webhook-URL i dine kontoindstillinger eller pr. anmodning. Når et job fuldføres, sender Arteza en POST til din URL:
{
"event": "job.completed",
"job_id": "job_abc123xyz",
"status": "completed",
"video_url": "https://arteza.ai/videos/abc123xyz.mp4",
"duration_seconds": 6,
"credits_charged": 144,
"timestamp": "2026-04-10T12:02:15Z"
}
Webhooks er signeret med en HMAC-signatur i X-Seedance-Signature-headeren. Verificer før du stoler på payloaden.
Udrullet 1080p video fra din backend
Bearer-token REST API, indfødt 1080p output, webhooks og forudsigelig per-sekund fakturering. 50 gratis credits.
Få din API-nøgleFejlhåndtering
API'en returnerer standard HTTP-statuskoder:
| Kode | Betydning |
|---|---|
200 | Succes |
400 | Dårlig anmodning - tjek din payload |
401 | Uautoriseret - dårlig API-nøgle |
402 | Utilstrækkelige credits |
429 | Rategrænse overskredet |
500 | Serverfejl - retry med backoff |
Fejl-svar-kroppe inkluderer et error-felt med en menneske-læsbar besked og et code-felt til programmatisk håndtering.
{
"error": "Source image URL could not be fetched",
"code": "source_image_unreachable"
}
Input-billede krav
- Formater: PNG, JPEG, WebP
- Størrelse: op til 10 MB pr. billede
- Opløsning: 512x512 minimum, højere er bedre (1080p+ anbefalet)
- URL-adgang: skal være offentligt tilgængelig af Arteza-serverne (ingen localhost, ingen auth-væg)
For private billeder, upload dem til en signeret S3-URL, CloudFront eller lignende, og pass den signerede URL i anmodningen.
Bedste praksis
- Opbevar outputs i din egen infrastruktur. Stol ikke på Arteza-URL'er på lang sigt.
- Log alt. Job-ID'er, prompts, timinger, status-overgange, fejl.
- Retry forbigående fejl. Netværksproblemer og 5xx-svar skal retry med eksponentiel backoff.
- Valider inputs tidligt. Tjek billede-URL'er og parameter-intervaller før indsendelse.
- Overvåg credit-saldo. Alert når du falder under en grænse.
- Brug webhooks til produktion. Polling er OK for små workloads men ineffektivt i stor skala.
- Cache identiske generinger. Hvis en bruger indsender det samme billede + prompt to gange, returner den cachede URL.
Test og staging
Start hver integration med $10 credit-niveauet (1.050 credits). Det er nok til flere dusin test-generinger. Byg og test din integration fra ende til anden før du forpligter dig til højer-volumen niveauer.
Brugstilfælde
- SaaS-platforme - lad dine brugere generere video fra deres egne aktiver
- E-handel - generer product motion-videoer fra katalog-billeder
- Fast ejendom - automatiser listing-videoproduktion fra fotos
- Marketing-automatisering - personaliseret video i stor skala
- Indhold-platforme - berig artikler, annoncer eller sociale indlæg med genereret video
- White-label video-værktøjer - byg dine egne AI video-produkt på Arteza backend
Relateret læsning
- Batchbehandlingsarbejdsgange
- Seedance 1.0 Pro komplet guide
- Seedance 1.0 Pro til bureauer
- Seedance 2.0 API-guide
FAQ
Kan jeg bruge API'en til kommercielle applikationer? Ja, alle output er ryddet til kommerciel brug.
Hvad sker der hvis generering mislykkes? Ingen credits bliver trukket ved mislykkede generinger.
Hvor længe er genererede videoer hostet? Videoer er tilgængelige til download i et tidsvindue efter generering. Download og opbevar prompte.
Understøtter I SDK-biblioteker? Community SDK'er til Python og Node er tilgængelige. Se udvikler-dokumenterne på arteza.ai.
Kan jeg annullere et job i gang? Ja, send DELETE /v1/seedance-1-pro/jobs/{job_id}. Credits bliver ikke trukket ved annullerede jobs.
Hvordan får jeg support? Email support gennem dit konto-dashboard for API-specifikke problemer.
Seedance 1.0 Pro API'en er den produktionsklar vej til at integrere 1080p AI-videogenerering i dit produkt eller din pipeline.
Få din API-nøgle og start med at bygge → med 50 gratis credits inkluderet ved tilmelding.
Try Seedance 1.0 Pro - Right Now
5 free generations · No credit card needed