Исследовать
Изображение
Видео
Аватар
Аудио
Редактирование
Инструменты
Студия модыПриложенияРабочие процессы
Ресурсы
Цены-25%
Arteza

Студия для всего, что вы создаете. Одно рабочее пространство, все модели.

Прочитайте наши отзывы на Trustpilot

Создать

  • Изображение
  • Видео
  • Аватар
  • Аудио
  • Редактирование
  • Студия моды

Обзор

  • Библиотека
  • Приложения
  • Модели
  • Инструменты
  • Стили
  • Примеры
  • Сравнить модели
  • Альтернативы инструментам
  • Словарь ИИ
  • Рабочие процессы
  • Редактор AI Pipeline
  • Новое

Компания

  • О нас
  • Блог
  • Цены
  • Контакты
  • Статус
  • Рекомендации и отзывы
  • Многомодельный AI чат

Юридическая информация

  • Приватность
  • Условия
  • Лицензии
  • Политика неограниченного использования
Модели отByteDanceGoogleOpenAIBlack Forest LabsMiniMaxKuaishouAlibabaStability AI
© 2026 Arteza, Inc.
Доступно на 31 языках
enEnglishesEspañolfrFrançaisdeDeutschitItalianoptPortuguêsnlNederlandsplPolskisvSvenskadaDansknoNorskfiSuomija日本語ko한국어zh中文thไทยviTiếng ViệtidBahasa IndonesiamsBahasa MelayutlFilipinoarالعربيةheעבריתfaفارسیurاردوhiहिन्दीbnবাংলাtrTürkçeruРусскийukУкраїнськаroRomânăcsČeština
arteza.ai
ГлавнаяИзображениеВидеоБиблиотекаАккаунт
Главная/Блог/Seedance 1.0 Pro API: Professional Video Generation Endpoint
Product10 апреля 2026 г.Arteza Team13 min read

Seedance 1.0 Pro API: Professional Video Generation Endpoint

Complete guide to the Seedance 1.0 Pro API for professional video generation. Learn endpoint integration, authentication, parameters, error handling, and best practices for building AI video into your applications.

Seedance 1.0 Pro API: Professional Video Generation Endpoint

If you are building video into a product, a workflow, or a pipeline, the web UI is eventually a bottleneck. The Seedance 1.0 Pro API is the same model behind the UI, exposed as a clean REST endpoint with bearer-token auth, predictable per-second pricing, and straightforward job polling. This guide covers everything you need to ship it in production.

TL;DR

TL;DR

  • REST API for Seedance 1.0 Pro native 1080p video generation
  • Auth: bearer token from your account dashboard
  • Billing: per-second at about $0.12/sec, rounded up to whole credits
  • Pattern: submit job → poll status → download MP4
  • Best for: SaaS integrations, batch pipelines, automation, white-label products

What the API Gives You

Everything the Seedance 1.0 Pro web UI offers, available programmatically:

  • Image-to-video generation with a source image URL
  • Motion prompt to direct the animation
  • Duration control from 2 to 12 seconds
  • End frame control for directed transitions
  • Camera lock toggle
  • Job polling for status and result URL
  • MP4 output at native 1080p

Use it for SaaS products that need embedded video generation, internal agency pipelines, batch production workflows, or automation of repetitive video tasks.

🎬

Generate broadcast-quality 1080p video

Professional image-to-video AI. Default 1080p output, superior motion. Free credits.

Try Seedance 1.0 Pro Free
Попробуйте сами- введите запрос и сгенерируйте

5 бесплатных генераций · Без карты требуется

Authentication

All API calls authenticate with a bearer token. Generate one from your Arteza account dashboard on arteza.ai.

Authorization: Bearer YOUR_API_KEY

Security rules:

  • Never commit API keys to source control
  • Rotate keys regularly
  • Use environment variables or a secrets manager
  • Restrict keys to specific origins if possible

The Core Endpoints

Submit a Generation Job

POST /v1/seedance-1-pro/generate

Request body:

{
  "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
}

Parameters:

FieldTypeRequiredDescription
source_image_urlstringyesPublicly accessible URL to the source image
promptstringyesMotion description
duration_secondsintegeryes2–12 seconds
camera_lockbooleannoDefault false
end_frame_urlstringnoOptional end frame URL

Response:

{
  "job_id": "job_abc123xyz",
  "status": "queued",
  "created_at": "2026-04-10T12:00:00Z",
  "estimated_seconds": 90
}

Check Job Status

GET /v1/seedance-1-pro/status/{job_id}

Response (in progress):

{
  "job_id": "job_abc123xyz",
  "status": "processing",
  "progress": 0.45,
  "created_at": "2026-04-10T12:00:00Z"
}

Response (complete):

{
  "job_id": "job_abc123xyz",
  "status": "completed",
  "video_url": "https://arteza.ai/videos/abc123xyz.mp4",
  "duration_seconds": 6,
  "resolution": "1920x1080",
  "credits_charged": 144
}

Possible status values: queued, processing, completed, failed

Download the Result

Once status is completed, the video_url points to a 1080p MP4 file. Download it immediately and store it in your own infrastructure - don't rely on the URL being valid indefinitely.

A Complete Python Example

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")

A Complete Node.js Example

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');

A 1080p cinematic still from Seedance 1.0 Pro

Want broadcast quality like this? Try Seedance 1.0 Pro free →

Pricing and Billing

Rate: about $0.12 per second of output video, rounded up to the nearest whole credit

DurationCreditsCost
2s4$0.40
4s8$0.80
6s11$1.10
8s15$1.50
10s18$1.80
12s22$2.20

Credits are deducted only on successful generations. Failed jobs do not consume credits.

Plans are the same as the web UI: $5 Starter, $25 Creator, $50 Pro, $120 Studio. See the pricing page.

Rate Limits and Concurrency

Standard accounts have rate limits suitable for typical integration workloads. For high-volume production, contact support for raised limits.

General guidance:

  • 5–10 concurrent jobs is reliable for most accounts
  • Exponential backoff on HTTP 429 responses
  • Job-level retries on transient failures (up to 3 attempts)
  • Webhook callbacks are available to avoid excessive polling

Webhooks (Optional)

Instead of polling, register a webhook URL in your account settings or per-request. When a job completes, Arteza sends a POST to your 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 are signed with an HMAC signature in the X-Seedance-Signature header. Verify before trusting the payload.

🎥

Ship 1080p video from your backend

Bearer-token REST API, native 1080p output, webhooks, and predictable per-second billing. Free credits.

Get Your API Key

Error Handling

The API returns standard HTTP status codes:

CodeMeaning
200Success
400Bad request - check your payload
401Unauthorized - bad API key
402Insufficient credits
429Rate limited
500Server error - retry with backoff

Error response bodies include an error field with a human-readable message and a code field for programmatic handling.

{
  "error": "Source image URL could not be fetched",
  "code": "source_image_unreachable"
}

Input Image Requirements

  • Formats: PNG, JPEG, WebP
  • Size: up to 10 MB per image
  • Resolution: 512x512 minimum, higher is better (1080p+ recommended)
  • URL access: must be publicly reachable by the Arteza servers (no localhost, no auth-walled)

For private images, upload them to a signed S3 URL, CloudFront, or similar, and pass the signed URL in the request.

Best Practices

  1. Store outputs in your own infrastructure. Don't rely on Arteza URLs long-term.
  2. Log everything. Job IDs, prompts, timings, status transitions, errors.
  3. Retry transient errors. Network hiccups and 5xx responses should retry with exponential backoff.
  4. Validate inputs early. Check image URLs and parameter ranges before submitting.
  5. Monitor credit balance. Alert when you drop below a threshold.
  6. Use webhooks for production. Polling is fine for small workloads but inefficient at scale.
  7. Cache identical generations. If a user submits the same image + prompt twice, return the cached URL.

Testing and Staging

Start every integration on the $5 Starter plan (60 credits a month). That is enough for twenty 2-second test generations. Build and test your integration end-to-end before committing to a higher-volume plan.

Use Cases

  • SaaS platforms - let your users generate video from their own assets
  • E-commerce - generate product motion videos from catalog imagery
  • Real estate - automate listing video production from photos
  • Marketing automation - personalized video at scale
  • Content platforms - enrich articles, listings, or social posts with generated video
  • White-label video tools - build your own AI video product on the Arteza backend

Related Reading

  • Batch processing workflows
  • Seedance 1.0 Pro complete guide
  • Seedance 1.0 Pro for agencies
  • Seedance 2.0 API guide

FAQ

Can I use the API for commercial applications? Yes, all output is cleared for commercial use.

What happens if generation fails? No credits are charged on failed generations.

How long are generated videos hosted? Videos are available for download for a time window after generation. Download and store promptly.

Do you support SDK libraries? Community SDKs for Python and Node are available. See the developer docs on arteza.ai.

Can I cancel an in-progress job? Yes, send DELETE /v1/seedance-1-pro/jobs/{job_id}. Credits are not charged on canceled jobs.

How do I get support? Email support through your account dashboard for API-specific issues.


The Seedance 1.0 Pro API is the production-ready path for embedding 1080p AI video generation into your product or pipeline.

Get your API key and start building → with 10 free credits included on signup.

Попробуйте Seedance 1.0 Pro - прямо сейчас

5 бесплатных генераций · Без карты требуется

Открыть приложение Seedance 1.0 Pro

Похожие инструменты

Генератор AI видеоВидеостудия на базе ИИГенератор AI закадровых голосов и музыкиГенератор AI изображений

Похожие статьи

Product

Google Veo 3 on Arteza: Cinema-Quality AI Video with Native Audio

Product

Complete AI Image Editing Toolkit: 6 Tools in One Platform

Product

FLUX Kontext Pro: The Best AI Image Editor for Natural Language Edits

Product

Smart Edit: Edit Images with Natural Language Instructions

Назад: AI Video Generation at Scale: Batch Processing with Arteza ProДалее: Seedance 1.0 Pro for Agencies: Client Video Production with AI