Seedance 2.5 Video Generation ใหม่
ตัวอย่างวิดีโออ้างอิง: คลิป 720p ยาว 5 วินาที พร้อมอินพุตข้อความเท่านั้น ≈ 33 IC ≈ 33 บาท
ฟีเจอร์ระดับพรีเมียม Seedance 2.0 สงวนไว้สำหรับบัญชีที่เคยซื้อแพ็กเกจ iApp เครดิต (IC) อย่างน้อยหนึ่งครั้ง เครดิตลงทะเบียนฟรีไม่สามารถปลดล็อกได้ — ซื้อแพ็กเกจแบบครั้งเดียวเพื่อเข้าถึง API ระดับพรีเมียมทั้งหมด
ยินดีต้อนรับสู่ iApp Seedance 2.0 ตัวแทนจำหน่ายของ BytePlus Ark Dreamina Seedance 2.0 คุณจะได้รับความเร็วเท่าเดิมในภูมิภาคสิงคโปร์ คุณภาพโมเดลเดียวกัน และช่องทางการเรียกเก็บเงินแบบ OpenAI เ ดียวผ่าน iApp API key ที่คุณมีอยู่ — ไม่ต้องมีบัญชี BytePlus แยก, ไม่ต้องมีใบแจ้งหนี้สกุลเงินต่างประเทศ, ข้อมูลส่วนบุคคลจะไม่ถูกส่งออกนอกประเทศไทยสำหรับการเรียกเก็บเงินที่ออกแบบมาเพื่อประเทศไทย
ทดลองใช้งานเดโมสด
Try Seedance 2.0 Video Generation
Login to your iApp account to use this premium video-generation demo.
Example Prompts
การเลือกโมเดล
| โมเดล | ความละเอียดสูงสุด | เสียง | เหมาะสำหรับ | ราคาโดยประมาณ (5 วินาที, 720p, ไม่มีวิดีโออินพุต) |
|---|---|---|---|---|
dreamina-seedance-2-0-260128 | 1080p | ✅ | โฆษณาหลัก, คลิปการตลาด, สิ่งที่ต้องการผลลัพธ์คมชัดที่สุด | ~41 IC |
dreamina-seedance-2-0-fast-260128 | สูงสุด 720p | ✅ | งานร่าง, เนื้อหาสำหรับโซเชียล, การสร้างแบบกลุ่ม, การทดสอบ A/B | ~33 IC |
โมเดลทั้งสองใช้สัญญา JSON เดียวกัน — สลับระดับต่อการเรียกใช้ผ่านช่อง model
ราคา (ต่อ 1,000 output tokens)
Seedance คิดค่าบริการตาม output token โดยโทเค็นจะประมาณค่าได้จาก (ระยะเวลาวิดีโออินพุต + ระยะเวลาวิดีโอเอาต์พุต) × ความกว้าง × ความสูง × อัตราเฟรม / 1024 วิดีโอที่ยาวขึ้นหรือมีความละเอียดสูงขึ้นจะใช้โทเค็นมากขึ้น ไม่มีการคิดค่าบริการสำหรับโทเค็น prompt อินพุตแยกต่างหาก
| โมเดล | ความละเอียด | มีวิดีโออินพุตหรือไม่? | อัตรา iApp (IC / 1K tokens) | ข้อมูลอ้างอิง BytePlus (USD / M tokens) |
|---|---|---|---|---|
| Seedance 2.0 | 480p / 720p | ไม่ | 0.302 IC | $7.00 |
| Seedance 2.0 | 480p / 720p | ใช่ | 0.186 IC | $4.30 |
| Seedance 2.0 | 1080p | ไม่ | 0.333 IC | $7.70 |
| Seedance 2.0 | 1080p | ใช่ | 0.203 IC | $4.70 |
| Seedance 2.0 Fast | 480p / 720p | ไม่ | 0.242 IC | $5.60 |
| Seedance 2.0 Fast | 480p / 720p | ใช่ | 0.143 IC | $3.30 |
| Seedance 2.5 | 480p / 720p | ไม่ | 0.45 IC | $10.70 |
| Seedance 2.5 | 480p / 720p | ใช่ | 0.28 IC | $6.40 |
อัตราใช้ระดับ BytePlus สูงสุดภายในแต่ละแถว โดยมีส่วนต่างเล็กน้อยเพื่อครอบคลุมค่าใช้จ่ายด้านอัตราแลกเปลี่ยนและค่าธรรมเนียมเกตเวย์ คุณจะจ่ายเฉพาะเมื่อสร้างสำเร็จเท่านั้น — งานที่ล้มเหลว (เช่น ถูกปฏิเสธโดยระบบตรวจสอบเนื้อหา) คิดค่าบริการ 0 IC การตรวจสอบสถานะผ่าน endpoint ก็ฟรีเช่นกัน
Endpoints
API นี้ทำงานแบบอะซิงโครนัส: คุณ POST เพื่อส่งงาน จากนั้นจึง GET เพื่อตรวจสอบสถานะจนกว่าจะสำเร็จ
POST /v3/store/video/seedance/tasks — ส่งงาน
Headers:
| Header | Value |
|---|---|
apikey | รหัส API ของ iApp ของคุณ |
Content-Type | application/json |
โครงสร้าง Body:
{
"model": "dreamina-seedance-2-0-fast-260128",
"content": [
{ "type": "text", "text": "<your prompt>" },
{ "type": "image_url", "image_url": { "url": "https://..." }, "role": "reference_image" },
{ "type": "video_url", "video_url": { "url": "https://..." }, "role": "reference_video" },
{ "type": "audio_url", "audio_url": { "url": "https://..." }, "role": "reference_audio" }
],
"generate_audio": true,
"ratio": "16:9",
"duration": 5,
"watermark": false,
"resolution": "720p"
}
| Field | Type | Default | หมายเหตุ |
|---|---|---|---|
model | string | จำเป็น | dreamina-seedance-2-0-260128 หรือ dreamina-seedance-2-0-fast-260128 |
content | array | จำเป็น | อย่างน้อยหนึ่งบล็อก text บล็อก image_url / video_url / audio_url ที่เป็นทางเลือกสามารถเพิ่มสื่ออ้างอิงได้ |
content[].role | string | — | สำหรับรูปภาพ: reference_image (หัวข้อ/สไตล์), first_frame, หรือ last_frame สำหรับวิดีโอ: reference_video สำหรับเสียง: reference_audio |
generate_audio | boolean | true | สร้างเพลงประกอบพร้อมกับวิดีโอ |
ratio | string | 16:9 | หนึ่งใน 16:9, 9:16, 1:1, 4:3, 3:4, 21:9 |
duration | integer | 5 | วินาที ช่วง 4–15 (ขั้นต่ำของ BytePlus คือ 4 สำหรับ Seedance 2.0) |
watermark | boolean | false | หากเป็น true, BytePlus จะประทับลายน้ำบนผลลัพธ์ |
resolution | string | ค่าเริ่มต้นของโมเดล | 480p, 720p, หรือ 1080p (โมเดล Fast ไม่รองรับ 1080p) |
การตอบสนอง (HTTP 200):
{ "id": "task_abc123" }
GET /v3/store/video/seedance/tasks/{task_id} — ตรวจสอบสถานะ
เรียกใช้งานฟรี; คืนค่าสถานะปัจจุบันของงาน ช่วงเวลาที่แนะนำในการตรวจสอบ: 5 วินาที
การตอบสนองเมื่อเสร็จสมบูรณ์:
{
"id": "task_abc123",
"status": "succeeded",
"content": {
"video_url": "https://...mp4"
},
"usage": { "completion_tokens": 135000 }
}
ค่าสถานะ: queued, processing, succeeded, failed, cancelled, expired
⚠️
video_urlจะหมดอายุหลังจากประมาณ 24 ชั่วโมง ดาวน์โหลด MP4 ทันทีและโฮสต์เองหากคุณต้องการเก็บไว้
การยืนยันตัวตน
ใช้คีย์ที่ใช้งานอยู่ใดๆ จาก แดชบอร์ด API Keys ของคุณ คีย์เดียวกันนี้ใช้ได้กับ API ขอ ง iApp ทุกตัว
ตัวอย่างโค้ด
cURL
# 1. ส่งงาน
curl -X POST 'https://api.iapp.co.th/v3/store/video/seedance/tasks' \
-H "apikey: $IAPP_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "dreamina-seedance-2-0-fast-260128",
"content": [{ "type": "text", "text": "แมวโต้คลื่นในมหาสมุทรตอนพระอาทิตย์ตก, cinematic, 24fps" }],
"duration": 5,
"ratio": "16:9",
"resolution": "720p",
"generate_audio": true
}'
# → {"id":"task_abc123"}
# 2. ตรวจสอบจนกว่าจะสำเร็จ
curl -s 'https://api.iapp.co.th/v3/store/video/seedance/tasks/task_abc123' \
-H "apikey: $IAPP_API_KEY" | jq .
Python
import os, time, requests
API = "https://api.iapp.co.th/v3/store/video/seedance/tasks"
HEADERS = {"apikey": os.environ["IAPP_API_KEY"], "Content-Type": "application/json"}
# 1. ส่งงาน
r = requests.post(API, headers=HEADERS, json={
"model": "dreamina-seedance-2-0-fast-260128",
"content": [{"type": "text", "text": "แมวโต้คลื่นในมหาสมุทรตอนพระอาทิตย์ตก, cinematic, 24fps"}],
"duration": 5,
"ratio": "16:9",
"resolution": "720p",
"generate_audio": True,
})
r.raise_for_status()
task_id = r.json()["id"]
print("submitted:", task_id)
# 2. ตรวจสอบ
while True:
s = requests.get(f"{API}/{task_id}", headers=HEADERS).json()
print("status:", s["status"])
if s["status"] == "succeeded":
video_url = s["content"]["video_url"]
break
if s["status"] in ("failed", "cancelled", "expired"):
raise SystemExit(f"task ended: {s}")
time.sleep(5)
# 3. ดาวน์โหลด
mp4 = requests.get(video_url).content
open("output.mp4", "wb").write(mp4)
print("saved output.mp4")
Node.js
const apiKey = process.env.IAPP_API_KEY;
const base = "https://api.iapp.co.th/v3/store/video/seedance/tasks";
const sub = await fetch(base, {
method: "POST",
headers: { "apikey": apiKey, "Content-Type": "application/json" },
body: JSON.stringify({
model: "dreamina-seedance-2-0-fast-260128",
content: [{ type: "text", text: "แมวโต้คลื่นในมหาสมุทรตอนพระอาทิตย์ตก, cinematic" }],
duration: 5, ratio: "16:9", resolution: "720p", generate_audio: true,
}),
});
const { id } = await sub.json();
let result;
while (true) {
await new Promise(r => setTimeout(r, 5000));
result = await (await fetch(`${base}/${id}`, { headers: { apikey: apiKey } })).json();
if (result.status === "succeeded") break;
if (["failed", "cancelled", "expired"].includes(result.status)) throw result;
}
console.log("video:", result.content.video_url);
Go
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
"os"
"time"
)
func main() {
api := "https://api.iapp.co.th/v3/store/video/seedance/tasks"
key := os.Getenv("IAPP_API_KEY")
body, _ := json.Marshal(map[string]any{
"model": "dreamina-seedance-2-0-fast-260128",
"content": []map[string]string{{"type": "text", "text": "แมวโต้คลื่น"}},
"duration": 5,
"ratio": "16:9",
"resolution": "720p",
"generate_audio": true,
})
req, _ := http.NewRequest("POST", api, bytes.NewReader(body))
req.Header.Set("apikey", key)
req.Header.Set("Content-Type", "application/json")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
var sub struct{ ID string }
json.NewDecoder(resp.Body).Decode(&sub)
for {
time.Sleep(5 * time.Second)
r2, _ := http.NewRequest("GET", fmt.Sprintf("%s/%s", api, sub.ID), nil)
r2.Header.Set("apikey", key)
res, _ := http.DefaultClient.Do(r2)
var p struct {
Status string
Content struct{ VideoURL string `json:"video_url"` }
}
json.NewDecoder(res.Body).Decode(&p)
res.Body.Close()
if p.Status == "succeeded" {
fmt.Println("video:", p.Content.VideoURL)
return
}
if p.Status == "failed" || p.Status == "cancelled" || p.Status == "expired" {
io.Copy(os.Stderr, res.Body)
return
}
}
}
กรณีการใช้งาน
- คลิปการตลาด — สร้างคลิปสั้นขนาด 9:16 / 1:1 / 16:9 ที่เข้ากันได้จากฉากเดียวกันสำหรับ Instagram, TikTok, YouTube Shorts ในชุดเดียว
- เดโมผลิตภัณฑ์ — ให้ภาพหลักเป็น
first_frameและให้โมเดลเคลื่อนไหวกล้องรอบภาพนั้น - ครีเอทีฟโฆษณาที่ปรับให้เข้ากับท้องถิ่น — ป้อน prompt ภาษาไทยโดยตรง ไม่ต้องมีการแปล
- ตัวอย่าง Storyboard — ใช้โมเดล Fast ที่ราคาถูกกว่าที่ 480p เพื่อปรับปรุงทิศทาง จากนั้นจึงสร้างภาพที่เลือกใหม่ที่ 1080p
คำถามที่พบบ่อย
ทำไม Seedance จึงจำกัดเฉพาะบัญชีที่ชำระเงิน? การเรนเดอร์ 1080p เพียงครั้งเดียวอาจมีค่าใช้จ่าย 60–100 IC ซึ่งสูงกว่า API อื่นๆ ในแพลตฟอร์มอย่างมาก เพื่อป้องกันไม่ให้การลงทะเบียนฟรีใช้จ่ายเงิน จำนวนมากโดยไม่ได้ตั้งใจ (หรือเจตนาร้าย) จุดปลายนี้จึงต้องการการซื้อ IC อย่างน้อยหนึ่งครั้งก่อนหน้านี้ในบัญชี ผู้ใช้ใหม่สามารถปลดล็อกทุกอย่างได้ด้วยการเติมเงินครั้งเดียว — ดู ซื้อ IC
จะเกิดอะไรขึ้นหากการสร้างล้มเหลว? คุณจะไม่ถูกเรียกเก็บเงิน BytePlus จะคิดค่าบริการเฉพาะการเรนเดอร์ที่สำเร็จเท่านั้น และเราก็ใช้นโยบายเดียวกันนี้ การปฏิเสธจากระบบตรวจสอบเนื้อหา, ตัวกรอง NSFW, และการหมดเวลาของโครงสร้างพื้นฐาน จะคืนค่า 0 IC ทั้งหมด
การเรนเดอร์ใช้เวลานานเท่าใด? โดยทั่วไป 30–120 วินาทีสำหรับคลิป 720p ยาว 5 วินาทีบนโมเดล Fast และ 1–4 นาทีสำหรับคลิป 1080p บนโมเดลเต็มรูปแบบ ไคลเอ็นต์ของคุณควรตรวจสอบทุกๆ 5 วินาที โดยมีระยะเวลารอคอยสูงสุด 15 นาที
วิดีโอที่สร้างขึ้นเป็นของฉันหรือไม่? ใช่ — เช่นเดียวกับลูกค้า BytePlus โ ดยตรง คุณยังคงสิทธิ์ทางการค้าสำหรับทุกสิ่งที่คุณสร้าง หลีกเลี่ยง prompt ที่แสดงถึงบุคคลสาธารณะจริง, ตัวละครที่มีลิขสิทธิ์, หรือทรัพย์สินทางปัญญาที่ได้รับการคุ้มครอง
API โฮสต์อยู่ที่ไหน?
ต้นทางคือ BytePlus Ark ใน ap-southeast-1 (สิงคโปร์) คำขอผ่าน api.iapp.co.th จะเพิ่มความหน่วงของเกตเวย์ประมาณ 10–30 มิลลิวินาที
ฉันสามารถใช้สิ่งนี้สำหรับวิดีโอสด / แบบเรียลไทม์ได้หรือไม่? ไม่ได้ Seedance เป็นเครื่องมือสร้างแบบออฟไลน์และอะซิงโครนัส แต่ละคลิปจะถูกเรนเดอร์ครั้งเดียว และ URL ผลลัพธ์จะใช้งานได้ 24 ชั่วโมง
การสนับสนุน
- คำถามเกี่ยวกับราคาหรือการเรียกเก็บเงิน: sale@iapp.co.th
- คำถามทางเทคนิคเกี่ยวกับ API: Discord
- การรายงานข้อบกพร่อง: โปรดระบุ
task_idจากการตอบสนองการส่ง — เราสามารถติดตามทุกการเรียกใช้ได้