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 praktiker för att bygga in AI-video i dina applikationer.

Om du bygger video in i en produkt, ett arbetsflöde eller en pipeline, blir webgränssnittet så småningom en flaskhals. Seedance 1.0 Pro API är samma modell bakom gränssnittet, exponerad som en ren REST-slutpunkt med bearer-token-autentisering, förutsägbar per-sekund-prissättning och enkelt jobpolling. Den här guiden täcker allt du behöver för att leverera det i produktion.
TL;DR
- REST API för Seedance 1.0 Pro native 1080p videogenerering
- Autentisering: bearer token från ditt kontokontrollpanel
- Fakturering: per sekund till $0.24/sek ($0.12 bas × 2x marginal)
- Mönster: skicka in jobb → poll status → ladda ned MP4
- Bäst för: SaaS-integrationer, batch-pipelines, automatisering, white-label-produkter
Vad API:n ger dig
Allt som Seedance 1.0 Pro webgränssnittet erbjuder, tillgängligt programmatiskt:
- Bild-till-video-generering med en källbildsadress
- Motion prompt för att styra animationen
- Längdkontroll från 2 till 12 sekunder
- Sluttavlakontroll för riktad övergång
- Kameralås växlingsomkopplare
- Jobpolling för status och resultat-URL
- MP4-utmatning vid native 1080p
Använd det för SaaS-produkter som behöver inbäddad videogenerering, interna byrågränssnittsgenereringsrörledningar, batch-produktionsarbetsflöden eller automatisering av repetitiva videouppgifter.
Generera broadcast-quality 1080p video
Professionell bild-till-video AI. Standard 1080p utmatning, överlägsen rörelse. 50 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-kontoinstrumentpanel på arteza.ai.
Authorization: Bearer YOUR_API_KEY
Säkerhetsregler:
- Implementera aldrig API-nycklar i källkontroll
- Rotera nycklar regelbundet
- Använd miljövariabler eller en hemligheterna manager
- Begränsa nycklar till specifika ursprung om möjligt
Kärnslutpunkterna
Skicka in ett genereringsjobb
POST /v1/seedance-1-pro/generate
Begärandekropp:
{
"source_image_url": "https://your-cdn.com/source.jpg",
"prompt": "Långsam kamerapush-in på ämnet, varm gyllene timme ljus, grund skärpedjup",
"duration_seconds": 6,
"camera_lock": false,
"end_frame_url": null
}
Parametrar:
| Fält | Typ | Obligatoriskt | Beskrivning |
|---|---|---|---|
source_image_url | string | ja | Offentligt tillgänglig URL till källbilden |
prompt | string | ja | Motionbeskrivning |
duration_seconds | integer | ja | 2, 12 sekunder |
camera_lock | boolean | nej | Standard false |
end_frame_url | string | nej | Valfri sluttavl-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ående):
{
"job_id": "job_abc123xyz",
"status": "processing",
"progress": 0.45,
"created_at": "2026-04-10T12:00:00Z"
}
Svar (slutfört):
{
"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 ned resultatet
När statusen är completed, pekar video_url på en 1080p MP4-fil. Ladda ned den omedelbar och lagra den i din egen infrastruktur - förlita dig inte på att URL:en är giltig på obestämd tid.
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"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)
# Använd det
job_id = generate_video(
source_image_url="https://example.com/product.jpg",
prompt="Långsam kamerabana runt produkten, studiebelysning, 6 sekunder",
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(`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);
}
// Använd det
const jobId = await generateVideo({
source_image_url: 'https://example.com/product.jpg',
prompt: 'Långsam kamerabana runt produkten, studiebelysning, 6 sekunder',
duration_seconds: 6,
camera_lock: true
});
const videoUrl = await waitForCompletion(jobId);
await downloadVideo(videoUrl, 'output.mp4');
console.log('Sparad output.mp4');

Vill du ha broadcast quality som det här? Prova Seedance 1.0 Pro gratis →
Prissättning och fakturering
Tariff: $0.24 per sekund utmatningsvideo (24 krediter/sekund)
| Längd | Krediter | Kostnad |
|---|---|---|
| 2s | 48 | $0.48 |
| 4s | 96 | $0.96 |
| 6s | 144 | $1.44 |
| 8s | 192 | $1.92 |
| 10s | 240 | $2.40 |
| 12s | 288 | $2.88 |
Krediter dras endast på lyckade genereringar. Misslyckade jobb förbrukar inte krediter.
Kreditpaket är desamma som webgränssnittet: $10 / $25 / $50 / $100. Se prissida.
Takgränser och samtidighet
Standardkonton har takgränser lämpliga för typiska integreringsarbetsbelastningar. För högvolymig 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 på HTTP 429-svar
- Jobbnivå-försök på transienta fel (upp till 3 försök)
- Webhook-motringningar är tillgängliga för att undvika överdriven polling
Webhooks (Valfritt)
Istället för polling, registrera en webhook-URL i dina kontoinställningar eller per begäran. När ett jobb är klart 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 är signerade med en HMAC-signatur i X-Seedance-Signature headern. Verifiera innan du litar på nyttolasten.
Skicka 1080p video från din backend
Bearer-token REST API, native 1080p utmatning, webhooks och förutsägbar per-sekund fakturering. 50 gratis krediter.
Få din API-nyckelFelhantering
API:n returnerar standard HTTP-statuskoder:
| Kod | Betydelse |
|---|---|
200 | Framgång |
400 | Felaktig begäran - kontrollera din nyttolast |
401 | Obehörig - felaktig API-nyckel |
402 | Otillräckliga krediter |
429 | Hastighetsbegränsad |
500 | Serverskål - försök igen med backoff |
Felarssvarstextrar inkluderar ett error-fält med ett människoläsligt meddelande och ett code-fält för programmatisk hantering.
{
"error": "Källbildsadressen kunde inte hämtas",
"code": "source_image_unreachable"
}
Krav på indatabild
- Format: PNG, JPEG, WebP
- Storlek: upp till 10 MB per bild
- Upplösning: 512x512 minimum, högre är bättre (1080p+ rekommenderas)
- URL-åtkomst: måste vara offentligt nåbar av Arteza-servrarna (ingen localhost, ingen autentiseringskyddad)
För privata bilder, ladda upp dem till en signerad S3-URL, CloudFront eller liknande, och skicka den signerade URL:en i begäran.
Bästa praxis
- Lagra utmatningar i din egen infrastruktur. Förlita dig inte på Arteza-URL:er på lång sikt.
- Logga allt. Jobb-ID, prompts, tidtagning, statusövergångar, fel.
- Försök igen transienta fel. Nätverkshiccup och 5xx-svar bör försöka igen med exponentiell backoff.
- Validera indata tidigt. Kontrollera bild-URL:er och parameterområden innan inlämning.
- Övervaka kreditsaldo. Avisera när du faller under en tröskel.
- Använd webhooks för produktion. Polling är bra för små arbetsbelastningar men ineffektiv i stor skala.
- Lagra identiska genereringar i cache. Om en användare skickar samma bild + prompt två gånger, returnera den cachade URL:en.
Testning och mellanlagring
Börja varje integration med $10 kredittier (1 050 krediter). Det är tillräckligt för flera dussin testgenereringar. Bygg och testa din integration från början till slut innan du förbinder dig till högre volym nivåer.
Användarfall
- SaaS-plattformar - låt dina användare generera video från sina egna tillgångar
- E-handel - generera produktmotionvideor från katalogbilder
- Fastigheter - automatisera filmningsproduktion från foton
- Marknadsföringsautomation - personlig video i stor skala
- Innehållsplattformar - berika artiklar, listor eller sociala inlägg med genererad video
- White-label videoverktygdel - bygg ditt eget AI-videoproduka på Arteza-servern
Relaterad läsning
- Batchbearbetningsarbetsflöden
- Seedance 1.0 Pro fullständig guide
- Seedance 1.0 Pro för byråer
- Seedance 2.0 API-guide
Vanliga frågor
Kan jag använda API:n för kommersiella applikationer? Ja, alla utmatningar är godkända för kommersiell användning.
Vad händer om genereringen misslyckas? Inga krediter debiteras vid misslyckade genereringar.
Hur länge lagras genererade videor? Videor är tillgängliga för nedladdning under ett tidsfönster efter generering. Ladda ned och lagra snabbt.
Stödjer du SDK-bibliotek? Communityn SDKs för Python och Node är 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}. Krediter debiteras inte på avbrytna jobb.
Hur får jag support? E-post support via din kontoinstrumentpanel för API-specifika problem.
Seedance 1.0 Pro API är den produktionsklar vägen för att bädda in 1080p AI-videogenerering i din produkt eller pipeline.
Hämta din API-nyckel och börja bygga → med 50 gratis krediter inkluderade på registrering.
Try Seedance 1.0 Pro - Right Now
5 free generations · No credit card needed