API Seedance 1.0 Pro : Endpoint de Génération Vidéo Professionnel
Guide complet de l'API Seedance 1.0 Pro pour la génération vidéo professionnelle. Apprenez l'intégration des endpoints, l'authentification, les paramètres, la gestion des erreurs et les meilleures pratiques pour intégrer la vidéo IA dans vos applications.

Si vous intégrez la vidéo à un produit, un flux de travail ou un pipeline, l'interface web devient inévitablement un goulot d'étranglement. L'API Seedance 1.0 Pro est le même modèle que celui utilisé par l'interface, exposé comme un endpoint REST propre avec authentification par jeton porteur, une tarification prévisible par seconde, et un interrogation simple des tâches. Ce guide couvre tout ce dont vous avez besoin pour le déployer en production.
TL;DR
- API REST pour la génération vidéo native 1080p avec Seedance 1.0 Pro
- Auth : jeton porteur depuis votre tableau de bord du compte
- Facturation : par seconde à 0,24 dollar/sec (0,12 dollar de base × 2x marge)
- Modèle : soumettre tâche → interroger le statut → télécharger MP4
- Idéal pour : intégrations SaaS, pipelines par lots, automatisation, produits white-label
Ce que l'API vous offre
Tout ce que l'interface web Seedance 1.0 Pro propose, disponible par programmation :
- Génération d'image vers vidéo à partir d'une URL d'image source
- Prompt de mouvement pour diriger l'animation
- Contrôle de la durée de 2 à 12 secondes
- Contrôle de la dernière image pour les transitions dirigées
- Verrouillage de caméra
- Interrogation des tâches pour le statut et l'URL du résultat
- Sortie MP4 en 1080p natif
Utilisez-le pour les produits SaaS nécessitant une génération vidéo intégrée, les pipelines internes d'agence, les flux de production par lots, ou l'automatisation de tâches vidéo répétitives.
Générez une vidéo 1080p de qualité diffusion
IA image vers vidéo professionnelle. Sortie 1080p par défaut, mouvement supérieur. 50 crédits gratuits.
Essayez Seedance 1.0 Pro Gratuitement5 générations gratuites · Aucune carte de crédit requise
Authentification
Tous les appels API s'authentifient avec un jeton porteur. Générez-en un depuis le tableau de bord de votre compte Arteza sur arteza.ai.
Authorization: Bearer YOUR_API_KEY
Règles de sécurité :
- Ne commitez jamais les clés API dans le contrôle de source
- Faites pivoter les clés régulièrement
- Utilisez des variables d'environnement ou un gestionnaire de secrets
- Restreignez les clés à des origines spécifiques si possible
Les endpoints centraux
Soumettre une tâche de génération
POST /v1/seedance-1-pro/generate
Corps de la requête :
{
"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
}
Paramètres :
| Champ | Type | Requis | Description |
|---|---|---|---|
source_image_url | string | oui | URL accessible publiquement vers l'image source |
prompt | string | oui | Description du mouvement |
duration_seconds | integer | oui | 2, 12 secondes |
camera_lock | boolean | non | Par défaut false |
end_frame_url | string | non | URL optionnelle de la dernière image |
Réponse :
{
"job_id": "job_abc123xyz",
"status": "queued",
"created_at": "2026-04-10T12:00:00Z",
"estimated_seconds": 90
}
Vérifier le statut de la tâche
GET /v1/seedance-1-pro/status/{job_id}
Réponse (en cours) :
{
"job_id": "job_abc123xyz",
"status": "processing",
"progress": 0.45,
"created_at": "2026-04-10T12:00:00Z"
}
Réponse (terminée) :
{
"job_id": "job_abc123xyz",
"status": "completed",
"video_url": "https://arteza.ai/videos/abc123xyz.mp4",
"duration_seconds": 6,
"resolution": "1920x1080",
"credits_charged": 144
}
Valeurs de statut possibles : queued, processing, completed, failed
Télécharger le résultat
Une fois le statut completed, l'URL video_url pointe vers un fichier MP4 1080p. Téléchargez-le immédiatement et stockez-le dans votre propre infrastructure - ne comptez pas sur la validité infinie de l'URL.
Un exemple Python complet
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")
Un exemple Node.js complet
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');

Vous voulez une qualité diffusion comme ceci ? Essayez Seedance 1.0 Pro gratuitement →
Tarification et facturation
Tarif : 0,24 dollar par seconde de vidéo générée (24 crédits/seconde)
| Durée | Crédits | Coût |
|---|---|---|
| 2s | 48 | 0,48 dollar |
| 4s | 96 | 0,96 dollar |
| 6s | 144 | 1,44 dollar |
| 8s | 192 | 1,92 dollar |
| 10s | 240 | 2,40 dollars |
| 12s | 288 | 2,88 dollars |
Les crédits ne sont déduits que pour les générations réussies. Les tâches échouées ne consomment pas de crédits.
Les packs de crédits sont identiques à l'interface web : 10 dollars / 25 dollars / 50 dollars / 100 dollars. Consultez le page tarifaire.
Limites de débit et concurrence
Les comptes standard ont des limites de débit adaptées aux charges de travail d'intégration typiques. Pour un volume de production élevé, contactez le support pour augmenter les limites.
Orientations générales :
- 5, 10 tâches simultanées est fiable pour la plupart des comptes
- Recul exponentiel sur les réponses HTTP 429
- Nouvelles tentatives au niveau de la tâche en cas de défaillances transitoires (jusqu'à 3 tentatives)
- Les rappels webhook sont disponibles pour éviter l'interrogation excessive
Webhooks (Optionnel)
Au lieu d'interroger, enregistrez une URL webhook dans les paramètres de votre compte ou par requête. Quand une tâche se termine, Arteza envoie un POST à votre 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"
}
Les webhooks sont signés avec une signature HMAC dans l'en-tête X-Seedance-Signature. Vérifiez avant de faire confiance à la charge utile.
Déployez une vidéo 1080p depuis votre backend
API REST avec jeton porteur, sortie 1080p native, webhooks, et tarification prévisible par seconde. 50 crédits gratuits.
Obtenez Votre Clé APIGestion des erreurs
L'API retourne les codes d'état HTTP standard :
| Code | Signification |
|---|---|
200 | Succès |
400 | Mauvaise requête - vérifiez votre charge utile |
401 | Non autorisé - clé API invalide |
402 | Crédits insuffisants |
429 | Limite de débit atteinte |
500 | Erreur serveur - recommencez avec recul |
Les corps de réponse d'erreur incluent un champ error avec un message lisible et un champ code pour la gestion programmatique.
{
"error": "Source image URL could not be fetched",
"code": "source_image_unreachable"
}
Exigences relatives à l'image d'entrée
- Formats : PNG, JPEG, WebP
- Taille : jusqu'à 10 Mo par image
- Résolution : 512x512 minimum, plus élevé c'est mieux (1080p+ recommandé)
- Accès URL : doit être accessible publiquement par les serveurs Arteza (pas localhost, pas d'auth)
Pour les images privées, téléchargez-les vers une URL S3 signée, CloudFront, ou similaire, et transmettez l'URL signée dans la requête.
Bonnes pratiques
- Stockez les résultats dans votre propre infrastructure. Ne comptez pas sur les URLs Arteza à long terme.
- Consignez tout. IDs de tâche, prompts, timings, transitions de statut, erreurs.
- Recommencez les erreurs transitoires. Les hoquet réseau et les réponses 5xx doivent recommencer avec recul exponentiel.
- Validez les entrées tôt. Vérifiez les URLs d'image et les plages de paramètres avant de soumettre.
- Surveillez le solde de crédits. Alertez quand vous tombez sous un seuil.
- Utilisez les webhooks en production. L'interrogation est correct pour les petites charges de travail mais inefficace à l'échelle.
- Mettez en cache les générations identiques. Si un utilisateur soumet la même image + prompt deux fois, retournez l'URL en cache.
Test et intermédiaire
Commencez chaque intégration avec le niveau de crédit de 10 dollars (1 050 crédits). C'est suffisant pour plusieurs douzaines de générations de test. Construisez et testez votre intégration bout en bout avant de vous engager à des niveaux de volume plus élevés.
Cas d'utilisation
- Plateformes SaaS - permettez à vos utilisateurs de générer des vidéos à partir de leurs propres actifs
- Commerce électronique - générez des vidéos de mouvement produit à partir d'images de catalogue
- Immobilier - automatisez la production vidéo d'annonces à partir de photos
- Automatisation marketing - vidéo personnalisée à l'échelle
- Plateformes de contenu - enrichissez les articles, listes, ou posts sociaux avec des vidéos générées
- Outils vidéo white-label - construisez votre propre produit vidéo IA sur le backend Arteza
Lectures connexes
- Flux de traitement par lot
- Guide complet Seedance 1.0 Pro
- Seedance 1.0 Pro pour les agences
- Guide API Seedance 2.0
FAQ
Puis-je utiliser l'API pour des applications commerciales ? Oui, toutes les sorties sont approuvées pour un usage commercial.
Que se passe-t-il si la génération échoue ? Aucun crédit n'est facturé en cas d'échec de génération.
Pendant combien de temps les vidéos générées sont-elles hébergées ? Les vidéos sont disponibles au téléchargement pendant une fenêtre de temps après la génération. Téléchargez et stockez rapidement.
Supportez-vous les bibliothèques SDK ? Les SDK communautaires pour Python et Node sont disponibles. Consultez la documentation développeur sur arteza.ai.
Puis-je annuler une tâche en cours ? Oui, envoyez DELETE /v1/seedance-1-pro/jobs/{job_id}. Les crédits ne sont pas facturés en cas d'annulation de tâche.
Comment puis-je obtenir du support ? Contactez le support via votre tableau de bord de compte pour les problèmes spécifiques à l'API.
L'API Seedance 1.0 Pro est le chemin prêt pour la production afin d'intégrer la génération vidéo IA 1080p dans votre produit ou pipeline.
Obtenez votre clé API et commencez à créer → avec 50 crédits gratuits inclus à l'inscription.
Try Seedance 1.0 Pro - Right Now
5 free generations · No credit card needed