टेक्स्ट से वीडियो
स्रोत मीडिया की ज़रूरत न होने पर टेक्स्ट प्रॉम्प्ट से शुरू करें। seedance-2.0 या seedance-2.5 चुनें और मॉडल की विशिष्ट आउटपुट सेटिंग जाँचें।
वीडियो API
टेक्स्ट से वीडियो और संदर्भ आधारित वर्कफ़्लो के लिए Seedance वीडियो API की तुलना करें। समर्थित इनपुट, मूल्य, कार्य पोलिंग और पूरे वीडियो की प्राप्ति देखें।
वर्तमान Seedance मॉडल का शुल्क completion टोकन के अनुसार लिया जाता है। अवधि अनुमानित उपयोग को प्रभावित करती है; यह निपटान की इकाई नहीं है। परिणाम प्राप्त करने या विफलता रिपोर्ट करने के लिए कार्य ID रखें।
विशिष्ट कार्य के लिए बना
स्रोत मीडिया की ज़रूरत न होने पर टेक्स्ट प्रॉम्प्ट से शुरू करें। seedance-2.0 या seedance-2.5 चुनें और मॉडल की विशिष्ट आउटपुट सेटिंग जाँचें।
मोशन प्रॉम्प्ट से शुरुआती इमेज को एनिमेट करें। दूसरे इनपुट मोड के फ़ील्ड मिलाने के बजाय चुने मॉडल की इमेज से वीडियो गाइड इस्तेमाल करें।
शॉट के आरंभ और अंत को निर्देशित करने के लिए पहला फ़्रेम और आवश्यकता होने पर अंतिम फ़्रेम दें। मॉडल गाइड में फ़्रेम की भूमिकाएँ और मीडिया आवश्यकताएँ जाँचें।
दस्तावेज़ में दी गई इमेज, वीडियो और ऑडियो भूमिकाओं के अनुसार संदर्भ मिलाएँ। कम से कम एक इमेज या वीडियो संदर्भ आवश्यक है; केवल ऑडियो संदर्भ पर्याप्त नहीं है।
बिलिंग इकाई
प्रति मिलियन completion टोकन USD। लागू दर मॉडल, आउटपुट रिज़ॉल्यूशन और वीडियो संदर्भ की शर्तों पर निर्भर करती है।
संचालन की सीमाएँ
इंटीग्रेशन गाइड
मौजूदा कैटलॉग कवरेज
API ID, ऑपरेशन, प्रदाताओं और मूल्य की तुलना करें। उपयोग लागत का अनुमान लगाने से पहले कैटलॉग की तारीख और हर ऑपरेशन की बिलिंग इकाई जाँचें।
Seedance 2.0 से वीडियो बनाएँ।
POST /v1/video/seedance वीडियो कार्य भेजना संदर्भ GET /v1/jobs/{id} कार्य पोलिंग संदर्भ 480p · वीडियो संदर्भ के साथ
आधिकारिक मूल्य
API Hop मूल्य बचत 5%
480p · वीडियो संदर्भ के बिना
आधिकारिक मूल्य
API Hop मूल्य बचत 5%
720p · वीडियो संदर्भ के साथ
आधिकारिक मूल्य
API Hop मूल्य बचत 5%
720p · वीडियो संदर्भ के बिना
आधिकारिक मूल्य
API Hop मूल्य बचत 5%
1080p · वीडियो संदर्भ के साथ
आधिकारिक मूल्य
API Hop मूल्य बचत 5%
1080p · वीडियो संदर्भ के बिना
आधिकारिक मूल्य
API Hop मूल्य बचत 5%
4k · वीडियो संदर्भ के साथ
आधिकारिक मूल्य
API Hop मूल्य बचत 5%
4k · वीडियो संदर्भ के बिना
आधिकारिक मूल्य
API Hop मूल्य बचत 5%
संदर्भ मूल्य का स्वतंत्र सत्यापन नहीं हुआ है। लागत की तुलना करने से पहले प्रकाशक की वर्तमान दरें, बिलिंग इकाइयाँ और लागू शर्तें जाँचें।
Seedance 2.5 से वीडियो बनाएँ।
POST /v1/video/seedance वीडियो कार्य भेजना संदर्भ GET /v1/jobs/{id} कार्य पोलिंग संदर्भ 480p · वीडियो संदर्भ के साथ
आधिकारिक मूल्य
API Hop मूल्य बचत 2%
480p · वीडियो संदर्भ के बिना
आधिकारिक मूल्य
API Hop मूल्य बचत 2%
720p · वीडियो संदर्भ के साथ
आधिकारिक मूल्य
API Hop मूल्य बचत 2%
720p · वीडियो संदर्भ के बिना
आधिकारिक मूल्य
API Hop मूल्य बचत 2%
1080p · वीडियो संदर्भ के साथ
आधिकारिक मूल्य
API Hop मूल्य बचत 2%
1080p · वीडियो संदर्भ के बिना
आधिकारिक मूल्य
API Hop मूल्य बचत 2%
संदर्भ मूल्य का स्वतंत्र सत्यापन नहीं हुआ है। लागत की तुलना करने से पहले प्रकाशक की वर्तमान दरें, बिलिंग इकाइयाँ और लागू शर्तें जाँचें।
अनुरोध उदाहरण
ये वीडियो जनरेशन अनुरोध उदाहरण एक Seedance 2.5 टेक्स्ट से वीडियो कार्य भेजते हैं, jobId रखते हैं और समय सीमा के साथ GET /v1/jobs/{jobId} पर पोल करते हैं। outputResult केवल COMPLETED के बाद लें; FAILED और CANCELLED को अलग सँभालें। ये इंटीग्रेशन उदाहरण हैं, बनाए गए वीडियो के प्रदर्शन नहीं।
# Requires bash, curl and jq. A polling timeout does not cancel the job.
set -euo pipefail
BASE_URL="https://api.apihop.ai"
API_KEY='YOUR_API_KEY'
created=$(curl --fail-with-body --silent --show-error --max-time 30 \
"$BASE_URL/v1/video/seedance" \
-H "Authorization: Bearer $API_KEY" -H 'Content-Type: application/json' \
--data '{"model":"seedance-2.5","prompt":"A calm city street at dawn","duration":5,"resolution":"720p"}')
job_id=$(printf '%s' "$created" | jq -er '.data.jobId | select(. != null) | tostring')
deadline=$((SECONDS + 600))
while (( SECONDS < deadline )); do
job=$(curl --fail-with-body --silent --show-error --max-time 30 \
"$BASE_URL/v1/jobs/$job_id" -H "Authorization: Bearer $API_KEY")
status=$(printf '%s' "$job" | jq -er '.data.status')
case "$status" in
COMPLETED) printf '%s' "$job" | jq -e '.data.outputResult'; exit 0 ;;
FAILED|CANCELLED) printf 'Job %s: %s\n' "$job_id" "$status" >&2; exit 1 ;;
esac
sleep 5
done
printf 'Polling timed out; retain jobId for a later status check: %s\n' "$job_id" >&2
exit 1const baseUrl = "https://api.apihop.ai";
const headers = { Authorization: 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' };
async function request(path, options = {}) {
const response = await fetch(baseUrl + path, { ...options, headers, signal: AbortSignal.timeout(30000) });
if (!response.ok) throw new Error('HTTP ' + response.status);
const result = await response.json();
if (result.success === false) throw new Error(JSON.stringify(result.error));
return result.data;
}
const created = await request('/v1/video/seedance', { method: 'POST', body: JSON.stringify({"model":"seedance-2.5","prompt":"A calm city street at dawn","duration":5,"resolution":"720p"}) });
if (!created?.jobId) throw new Error('Missing data.jobId');
const deadline = Date.now() + 10 * 60 * 1000;
let completed = false;
while (Date.now() < deadline) {
const job = await request('/v1/jobs/' + encodeURIComponent(created.jobId));
if (job.status === 'COMPLETED') {
if (job.outputResult == null) throw new Error('Completed job has no outputResult');
console.log(job.outputResult);
completed = true;
break;
}
if (['FAILED', 'CANCELLED'].includes(job.status)) throw new Error('Job ' + job.status);
await new Promise(resolve => setTimeout(resolve, 5000));
}
if (!completed) throw new Error('Polling timed out; retain jobId for a later status check: ' + created.jobId);import json
import time
import urllib.request
base_url = "https://api.apihop.ai"
headers = {'Authorization': 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json'}
def request(path, body=None):
data = json.dumps(body).encode() if body is not None else None
req = urllib.request.Request(base_url + path, data=data, headers=headers)
with urllib.request.urlopen(req, timeout=30) as response:
result = json.load(response)
if result.get('success') is False:
raise RuntimeError(result.get('error'))
return result['data']
created = request('/v1/video/seedance', json.loads("{\"model\":\"seedance-2.5\",\"prompt\":\"A calm city street at dawn\",\"duration\":5,\"resolution\":\"720p\"}"))
job_id = str(created['jobId'])
deadline = time.monotonic() + 600
while time.monotonic() < deadline:
job = request('/v1/jobs/' + job_id)
if job['status'] == 'COMPLETED':
if job.get('outputResult') is None:
raise RuntimeError('Completed job has no outputResult')
print(job['outputResult'])
break
if job['status'] in ('FAILED', 'CANCELLED'):
raise RuntimeError('Job ' + job['status'])
time.sleep(5)
else:
raise TimeoutError('Polling timed out; retain jobId for a later status check: ' + job_id) खाते के दस्तावेज़ वाला API बेस URL इस्तेमाल करें और उदाहरण के प्लेसहोल्डर बदलें। API कुंजी Authorization हेडर में भेजें; उसे कभी URL या कमिट की गई फ़ाइल में न डालें।