ACE Step Audio Outpaint
Integrasikan
ace-step/audio-outpaint
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.ru/v1/run/ace-step/audio-outpaint?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"audio": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3",
"tags": "lofi, hiphop, drum and bass, trap, chill"
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.ru/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/ace-step/audio-outpaint?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"audio": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3",
"tags": "lofi, hiphop, drum and bass, trap, chill"
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://api.doitong.ru/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"audio": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3",
"tags": "lofi, hiphop, drum and bass, trap, chill",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/ace-step/audio-outpaint", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
# 1. Connect once (Claude Code; Cursor, VS Code, Claude Desktop: https://doitong.com/ms/developers/docs/mcp)
claude mcp add --transport http doitong-models https://api.doitong.ru/v1/mcp \
--header "Authorization: Bearer $DOITONG_API_KEY"
# 2. Your agent calls the "run" tool with:
{
"model_id": "ace-step/audio-outpaint",
"input": {
"audio": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3",
"tags": "lofi, hiphop, drum and bass, trap, chill"
}
}
Panggil model ACE Step Audio Outpaint (ace-step/audio-outpaint) melalui Doitong API. Dokumentasi untuk ejen: https://doitong.com/ms/developers/models/ace-step/audio-outpaint.md
POST https://api.doitong.ru/v1/run/ace-step/audio-outpaint?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"audio": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3",
"tags": "lofi, hiphop, drum and bass, trap, chill"
}
Jika status respons ialah "queued" atau "running", tinjau GET https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20 sehingga statusnya menjadi "succeeded"; fail berada dalam outputs[].url. POST https://api.doitong.ru/v1/quote/ace-step/audio-outpaint dengan badan yang sama mengembalikan harga tepat sebelum dijalankan.
Fail seperti contoh: $0.006 6 kredit API · ≈ ₽0.64 fail anda diukur sebelum dijalankan Jalankan pada halaman ini
Kunci API baharu anda. Ia hanya dipaparkan sekarang dan sudah dimasukkan dalam kod serta medan kunci API di bawah. Simpan secara rahsia: jangan sekali-kali letakkannya dalam kod yang berjalan dalam pelayar.
Hasil pertama anda akan muncul di sini
Bina permintaan di bawah dan jalankannya dengan kunci API anda. Output disalin ke storan kami, disimpan selama-lamanya atau 7 hari secara percuma.
Bina permintaan
Kawalan dijana daripada skema model. Kod dan harga dikemas kini apabila anda mengubahnya.
/run/ace-step/audio-outpaint?wait=20
sebut harga → $0.006
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.ru/v1/run/ace-step/audio-outpaint?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"audio": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3",
"tags": "lofi, hiphop, drum and bass, trap, chill"
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.ru/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/ace-step/audio-outpaint?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"audio": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3",
"tags": "lofi, hiphop, drum and bass, trap, chill"
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://api.doitong.ru/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"audio": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3",
"tags": "lofi, hiphop, drum and bass, trap, chill",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/ace-step/audio-outpaint", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "run",
"arguments": {
"model_id": "ace-step/audio-outpaint",
"input": {
"audio": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3",
"tags": "lofi, hiphop, drum and bass, trap, chill"
},
"wait_seconds": 20
}
}
}
Jalankan permintaan ini
Kunci anda kekal dalam pelayar ini: ia hanya dihantar kepada Doitong API dan disimpan (localStorage) hanya jika anda menanda Ingat. Dapatkan kunci API
Tentang ACE Step Audio Outpaint
Meneruskan trek yang dibekalkan melalui `audio_url`. `extend_before_duration` dan `extend_after_duration` masing-masing menambah sehingga 107 saat pada permulaan atau penghujung, dan nilai lalai ialah 30 saat selepas penghujung. Gaya datang daripada `tags`, dengan `lyrics` pilihan untuk bahagian tambahan. Bilangan langkah, penjadual dan tetapan panduan adalah sama seperti model ACE Step yang lain.
Parameter
Hantar sama ada nama kanonik atau nama natif, bukan kedua-duanya. Nama kanonik
audio_urldiperlukan
audio
extend_before_durationpilihan
extend_after_durationpilihan
tagsdiperlukan
lyricspilihan
number_of_stepspilihan
seedpilihan
schedulerpilihan
guidance_typepilihan
granularity_scalepilihan
guidance_intervalpilihan
guidance_interval_decaypilihan
guidance_scalepilihan
minimum_guidance_scalepilihan
tag_guidance_scalepilihan
lyric_guidance_scalepilihan
Parameter fail menerima URL awam https://, URI data: sehingga 10 MB, atau file_url bagi muat naik. Fail
Output
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "ace-step/audio-outpaint",
"status": "succeeded",
"created_at": "2026-10-20T12:00:00Z",
"started_at": "2026-10-20T12:00:02Z",
"completed_at": "2026-10-20T12:00:09Z",
"queue_position": null,
"cost": {
"credits": 6,
"usd": "0.006",
"charged": 6,
"refunded": 0
},
"input": {
"tags": "lofi, hiphop, drum and bass, trap, chill",
"audio_url": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3"
},
"output": {
"audio": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp3",
"content_type": "audio/mpeg",
"file_name": "0-output.mp3",
"file_size": 1843200
},
"seed": 42,
"tags": "lofi, hiphop, drum and bass, trap, chill",
"lyrics": "[inst]"
},
"outputs": [
{
"type": "audio",
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp3",
"content_type": "audio/mpeg",
"file_size": 1843200,
"duration": 12,
"stored": true
}
],
"error": null,
"metrics": {
"inference_seconds": 6.8
},
"urls": {
"self": "https://api.doitong.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
"cancel": "https://api.doitong.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
}
}
Medan output
- audio
- object {url, content_type, file_name, file_size}Fail audio yang dihasilkan oleh penjanaan.
- seed
- integerSeed rawak yang digunakan semasa penjanaan.
- tags
- stringTag genre yang digunakan semasa penjanaan.
- lyrics
- stringLirik yang digunakan semasa penjanaan.
Varian ACE Step lain
Lebih banyak model: Teks ke Muzik
Untuk ejen AI: halaman ini dalam Markdown tersedia di https://doitong.com/ms/developers/models/ace-step/audio-outpaint.md. Semua model dan panduan: https://doitong.com/developers/llms.txt