Seedance 1.0 Pro API: professionell endpoint för videogenerering
Komplett guide till Seedance 1.0 Pro API för professionell videogenerering. Lär dig endpoint-integration, autentisering, parametrar, felhantering och bästa praxis för att bygga in AI-video i dina applikationer.

Om du bygger in video i en produkt, ett arbetsflöde eller en pipeline blir webbgränssnittet förr eller senare en flaskhals. Seedance 1.0 Pro API är samma modell som ligger bakom gränssnittet, exponerad som en ren REST-endpoint med bearer-token-autentisering, förutsägbar prissättning per sekund och enkel jobbpolling. Den här guiden täcker allt du behöver för att driftsätta det i produktion.
TL;DR
- REST API för Seedance 1.0 Pro nativ 1080p-videogenerering
- Auth: bearer-token från ditt kontouppsättning
- Fakturering: per sekund till ungefär $0.12/sek, avrundat uppåt till hela krediter
- Mönster: skicka jobb → polla status → ladda ner MP4
- Passar bäst för: SaaS-integrationer, batchpipelines, automation, white label-produkter
Vad API:et ger dig
Allt som Seedance 1.0 Pro-webbgränssnittet erbjuder, tillgängligt programmatiskt:
- Bild-till-video-generering med en källbilds-URL
- Rörelseprompt för att styra animationen
- Varaktighetskontroll från 2 till 12 sekunder
- Slutbildskontroll för styrda övergångar
- Kameralås som växel
- Jobbpolling för status och resultat-URL
- MP4-utdata i nativ 1080p
Använd det för SaaS-produkter som behöver inbyggd videogenerering, interna byråpipelines, batchproduktionsarbetsflöden eller automatisering av repetitiva videouppdrag.
Generera 1080p-video i sändningskvalitet
Professionell bild-till-video-AI. Standard 1080p-utdata, överlägsen rörelse. Gratis krediter.
Prova Seedance 1.0 Pro gratis5 gratis generationer · Inget kreditkort krävs
Autentisering
Alla API-anrop autentiseras med en bearer-token. Generera en från din Arteza-kontopanel på arteza.ai.
Authorization: Bearer YOUR_API_KEY
Säkerhetsregler:
- Lägg aldrig API-nycklar i källkodshantering
- Rotera nycklar regelbundet
- Använd miljövariabler eller en hemlighetshanterare
- Begränsa nycklar till specifika ursprung om möjligt
Kärnendpointerna
Skicka ett genereringsjobb
POST /v1/seedance-1-pro/generate
Request-kropp:
{
"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
}
Parametrar:
| Fält | Typ | Krävs | Beskrivning |
|---|---|---|---|
source_image_url | sträng | ja | Offentligt tillgänglig URL till källbilden |
prompt | sträng | ja | Rörelsebeskrivning |
duration_seconds | heltal | ja | 2-12 sekunder |
camera_lock | boolean | nej | Standard false |
end_frame_url | sträng | nej | Valfri slutbilds-URL |
Svar:
{
"job_id": "job_abc123xyz",
"status": "queued",
"created_at": "2026-04-10T12:00:00Z",
"estimated_seconds": 90
}
Kontrollera jobbstatus
GET /v1/seedance-1-pro/status/{job_id}
Svar (pågår):
{
"job_id": "job_abc123xyz",
"status": "processing",
"progress": 0.45,
"created_at": "2026-04-10T12:00:00Z"
}
Svar (klart):
{
"job_id": "job_abc123xyz",
"status": "completed",
"video_url": "https://arteza.ai/videos/abc123xyz.mp4",
"duration_seconds": 6,
"resolution": "1920x1080",
"credits_charged": 144
}
Möjliga statusvärden: queued, processing, completed, failed
Ladda ner resultatet
När statusen är completed pekar video_url på en 1080p MP4-fil. Ladda ner den omedelbart och lagra den i din egen infrastruktur. Förlita dig inte på att URL:en är giltig hur länge som helst.
Ett komplett Python-exempel
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"Jobbet misslyckades: {data.get('error', 'okänt')}")
time.sleep(poll_interval)
raise TimeoutError(f"Jobbet {job_id} slutfördes inte inom {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)
# Använd det
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 sparad till output.mp4")
Ett komplett Node.js-exempel
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(`Jobbet misslyckades: ${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);
}
// Använd det
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('Sparade output.mp4');

Vill du ha sändningskvalitet som den här? Prova Seedance 1.0 Pro gratis →
Prissättning och fakturering
Pris: ungefär $0.12 per sekund utdatavideo, avrundat uppåt till närmaste hela kredit
| Varaktighet | Krediter | Kostnad |
|---|---|---|
| 2s | 4 | $0.40 |
| 4s | 8 | $0.80 |
| 6s | 11 | $1.10 |
| 8s | 15 | $1.50 |
| 10s | 18 | $1.80 |
| 12s | 22 | $2.20 |
Krediter dras bara av vid lyckade genereringar. Misslyckade jobb förbrukar inga krediter.
Planerna är desamma som i webbgränssnittet: $5 Starter, $25 Creator, $50 Pro, $120 Studio. Se prissättningssida.
Hastighetsgränser och samtidighet
Standardkonton har hastighetsgränser lämpliga för typiska integrationsarbetsbelastningar. För hög volym i produktion, kontakta supporten för höjda gränser.
Allmän vägledning:
- 5-10 samtidiga jobb är tillförlitligt för de flesta konton
- Exponentiell backoff vid HTTP 429-svar
- Omförsök på jobbnivå vid tillfälliga fel (upp till 3 försök)
- Webhook-callbacks finns tillgängliga för att undvika överdriven polling
Webhooks (valfritt)
Istället för polling registrerar du en webhook-URL i dina kontoinställningar eller per förfrågan. När ett jobb slutförs skickar Arteza en POST till 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 signeras med en HMAC-signatur i headern X-Seedance-Signature. Verifiera innan du litar på nyttolasten.
Leverera 1080p-video från din backend
Bearer-token REST API, nativ 1080p-utdata, webhooks och förutsägbar fakturering per sekund. Gratis krediter.
Hämta din API-nyckelFelhantering
API:et returnerar standard HTTP-statuskoder:
| Kod | Betydelse |
|---|---|
200 | Lyckades |
400 | Felaktig förfrågan. Kontrollera din nyttolast |
401 | Obehörig. Felaktig API-nyckel |
402 | Otillräckliga krediter |
429 | Hastighetsbegränsad |
500 | Serverfel. Försök igen med backoff |
Felsvars-kroppar innehåller ett error-fält med ett läsbart meddelande och ett code-fält för programmatisk hantering.
{
"error": "Source image URL could not be fetched",
"code": "source_image_unreachable"
}
Krav på indatabild
- Format: PNG, JPEG, WebP
- Storlek: upp till 10 MB per bild
- Upplösning: minst 512x512, högre är bättre (1080p+ rekommenderas)
- URL-åtkomst: måste vara offentligt nåbar av Arteza-servrarna (ingen localhost, ingen autentiseringsskyddad)
För privata bilder laddar du upp dem till en signerad S3-URL, CloudFront eller liknande och skickar den signerade URL:en i förfrågan.
Bästa praxis
- Lagra utdata i din egen infrastruktur. Förlita dig inte på Arteza-URL:er på lång sikt.
- Logga allt. Jobb-ID:n, prompter, tidsåtgångar, statusövergångar, fel.
- Försök igen vid tillfälliga fel. Nätverksstörningar och 5xx-svar bör försökas igen med exponentiell backoff.
- Validera indata tidigt. Kontrollera bild-URL:er och parameterområden innan du skickar.
- Övervaka kreditbalansen. Skicka en varning när du sjunker under ett tröskelvärde.
- Använd webhooks i produktion. Polling fungerar för små arbetsbelastningar men är ineffektivt i stor skala.
- Cacha identiska genereringar. Om en användare skickar samma bild och prompt två gånger returnerar du den cachade URL:en.
Testning och staging
Börja varje integration med $5 Starter-planen (60 krediter i månaden). Det räcker för tjugo 2-sekunders testgenereringar. Bygg och testa din integration från början till slut innan du förbinder dig till en plan med högre volym.
Användningsfall
- SaaS-plattformar: låt dina användare generera video från sina egna tillgångar
- E-handel: generera produktrörelsevideor från katalogbilder
- Fastigheter: automatisera produktion av annonsvideor från foton
- Marknadsföringsautomation: personaliserad video i stor skala
- Innehållsplattformar: berika artiklar, annonser eller sociala inlägg med genererad video
- White label-videoverktyg: bygg din egen AI-videoprodukt på Arteza-backenden
Vidare läsning
- Arbetsflöden för batchbearbetning
- Komplett guide för Seedance 1.0 Pro
- Seedance 1.0 Pro för byråer
- API-guide för Seedance 2.0
Vanliga frågor
Kan jag använda API:et för kommersiella tillämpningar? Ja, alla utdata är godkända för kommersiellt bruk.
Vad händer om genereringen misslyckas? Inga krediter debiteras vid misslyckade genereringar.
Hur länge är genererade videor värdade? Videor är tillgängliga för nedladdning under ett tidsfönster efter genereringen. Ladda ner och lagra dem omgående.
Stöder ni SDK-bibliotek? Community-SDK:er för Python och Node finns tillgängliga. Se utvecklardokumentationen på arteza.ai.
Kan jag avbryta ett pågående jobb? Ja, skicka DELETE /v1/seedance-1-pro/jobs/{job_id}. Inga krediter debiteras för avbrutna jobb.
Hur får jag support? Kontakta e-postsupporten via din kontopanel för API-specifika frågor.
Seedance 1.0 Pro API är den produktionsklara vägen för att bygga in 1080p AI-videogenerering i din produkt eller pipeline.
Hämta din API-nyckel och börja bygga → med 10 gratis krediter inkluderade vid registrering.
Prova Seedance 1.0 Pro - Just nu
5 gratis generationer · Inget kreditkort krävs