Dia2 2B
Dia2 2B is a 2 billion parameter streaming text-to-speech model from Nari Labs designed for real-time conversational AI. It begins generating audio immediately from partial text input, supports multi-speaker dialogue via speaker tags, voice cloning from a few seconds of reference audio, and non-verbal cues like laughter, sighs, and coughs. Released under Apache 2.0 for commercial use.

Complete technical specification for integration
Ready-to-use code snippets for common workflows
Backstage Puppet Radio Rehearsal
[S1] Places, please—no, not literal places, Milo, the cardboard comet still goes stage left. [sigh] We open in twelve seconds. [S2] I know, I know! The comet is left, the papier-mache whale is right, and the tiny king enters through the cookie tin. [laughs] [S1] Good. Give me the line again, but less heroic and more... worried librarian. [S2] "Your Majesty, the stars have misplaced their map, and the sea is reading from the wrong page." [S1] Better. Now the gasp cue. [S2] [gasp] Like that? [S1] Perfect. And if the pulley sticks— [S2] I improvise, blame the whale, and keep smiling. [S1] Exactly. That's why you're indispensable. [S2] Aww. After the show, you owe me a sandwich. [S1] Two sandwiches if the moon prop doesn't fall this time. [S2] No promises. [both laugh]
import { createClient } from '@runware/sdk'
const client = await createClient({ apiKey: process.env.RUNWARE_API_KEY })
await client.connect()
const [result] = await client.run({
model: 'runware:dia2@2b',
seed: 28693,
CFGScale: 3,
speech: {
text: '[S1] Places, please—no, not literal places, Milo, the cardboard comet still goes stage left. [sigh] We open in twelve seconds. [S2] I know, I know! The comet is left, the papier-mache whale is right, and the tiny king enters through the cookie tin. [laughs] [S1] Good. Give me the line again, but less heroic and more... worried librarian. [S2] "Your Majesty, the stars have misplaced their map, and the sea is reading from the wrong page." [S1] Better. Now the gasp cue. [S2] [gasp] Like that? [S1] Perfect. And if the pulley sticks— [S2] I improvise, blame the whale, and keep smiling. [S1] Exactly. That\'s why you\'re indispensable. [S2] Aww. After the show, you owe me a sandwich. [S1] Two sandwiches if the moon prop doesn\'t fall this time. [S2] No promises. [both laugh]'
},
settings: {
temperature: 0.7,
audioTemperature: 0.9,
includePrefix: false,
topK: 60
},
inputs: {
audios: [
'https://assets.runware.ai/assets/inputs/9785d0df-e5e6-4c42-b452-ce28b9b25986.mp3',
'https://assets.runware.ai/assets/inputs/61d5e230-81f4-4dea-b905-0c3ae4e680b0.mp3'
]
}
})import asyncio
import os
from runware import Runware
async def main():
async with Runware(api_key=os.environ["RUNWARE_API_KEY"]) as client:
results = await client.run({
"model": "runware:dia2@2b",
"seed": 28693,
"CFGScale": 3,
"speech": {
"text": "[S1] Places, please—no, not literal places, Milo, the cardboard comet still goes stage left. [sigh] We open in twelve seconds. [S2] I know, I know! The comet is left, the papier-mache whale is right, and the tiny king enters through the cookie tin. [laughs] [S1] Good. Give me the line again, but less heroic and more... worried librarian. [S2] \"Your Majesty, the stars have misplaced their map, and the sea is reading from the wrong page.\" [S1] Better. Now the gasp cue. [S2] [gasp] Like that? [S1] Perfect. And if the pulley sticks— [S2] I improvise, blame the whale, and keep smiling. [S1] Exactly. That's why you're indispensable. [S2] Aww. After the show, you owe me a sandwich. [S1] Two sandwiches if the moon prop doesn't fall this time. [S2] No promises. [both laugh]"
},
"settings": {
"temperature": 0.7,
"audioTemperature": 0.9,
"includePrefix": False,
"topK": 60
},
"inputs": {
"audios": [
"https://assets.runware.ai/assets/inputs/9785d0df-e5e6-4c42-b452-ce28b9b25986.mp3",
"https://assets.runware.ai/assets/inputs/61d5e230-81f4-4dea-b905-0c3ae4e680b0.mp3"
]
}
})
asyncio.run(main())curl https://api.runware.ai/v1 \
-H "Authorization: Bearer $RUNWARE_API_KEY" \
-H "Content-Type: application/json" \
-d '[
{
"taskType": "audioInference",
"taskUUID": "47c00812-b2c7-4f2f-9ddd-1500a8ecd259",
"model": "runware:dia2@2b",
"seed": 28693,
"CFGScale": 3,
"speech": {
"text": "[S1] Places, please—no, not literal places, Milo, the cardboard comet still goes stage left. [sigh] We open in twelve seconds. [S2] I know, I know! The comet is left, the papier-mache whale is right, and the tiny king enters through the cookie tin. [laughs] [S1] Good. Give me the line again, but less heroic and more... worried librarian. [S2] \"Your Majesty, the stars have misplaced their map, and the sea is reading from the wrong page.\" [S1] Better. Now the gasp cue. [S2] [gasp] Like that? [S1] Perfect. And if the pulley sticks— [S2] I improvise, blame the whale, and keep smiling. [S1] Exactly. That's why you're indispensable. [S2] Aww. After the show, you owe me a sandwich. [S1] Two sandwiches if the moon prop doesn't fall this time. [S2] No promises. [both laugh]"
},
"settings": {
"temperature": 0.7,
"audioTemperature": 0.9,
"includePrefix": false,
"topK": 60
},
"inputs": {
"audios": [
"https://assets.runware.ai/assets/inputs/9785d0df-e5e6-4c42-b452-ce28b9b25986.mp3",
"https://assets.runware.ai/assets/inputs/61d5e230-81f4-4dea-b905-0c3ae4e680b0.mp3"
]
}
}
]'runware run runware:dia2@2b \
seed=28693 \
CFGScale=3 \
speech.text="[S1] Places, please—no, not literal places, Milo, the cardboard comet still goes stage left. [sigh] We open in twelve seconds. [S2] I know, I know! The comet is left, the papier-mache whale is right, and the tiny king enters through the cookie tin. [laughs] [S1] Good. Give me the line again, but less heroic and more... worried librarian. [S2] \"Your Majesty, the stars have misplaced their map, and the sea is reading from the wrong page.\" [S1] Better. Now the gasp cue. [S2] [gasp] Like that? [S1] Perfect. And if the pulley sticks— [S2] I improvise, blame the whale, and keep smiling. [S1] Exactly. That's why you're indispensable. [S2] Aww. After the show, you owe me a sandwich. [S1] Two sandwiches if the moon prop doesn't fall this time. [S2] No promises. [both laugh]" \
settings.temperature=0.7 \
settings.audioTemperature=0.9 \
settings.includePrefix=false \
settings.topK=60 \
inputs.audios.0=https://assets.runware.ai/assets/inputs/9785d0df-e5e6-4c42-b452-ce28b9b25986.mp3 \
inputs.audios.1=https://assets.runware.ai/assets/inputs/61d5e230-81f4-4dea-b905-0c3ae4e680b0.mp3{
"taskType": "audioInference",
"taskUUID": "47c00812-b2c7-4f2f-9ddd-1500a8ecd259",
"model": "runware:dia2@2b",
"seed": 28693,
"CFGScale": 3,
"speech": {
"text": "[S1] Places, please—no, not literal places, Milo, the cardboard comet still goes stage left. [sigh] We open in twelve seconds. [S2] I know, I know! The comet is left, the papier-mache whale is right, and the tiny king enters through the cookie tin. [laughs] [S1] Good. Give me the line again, but less heroic and more... worried librarian. [S2] \"Your Majesty, the stars have misplaced their map, and the sea is reading from the wrong page.\" [S1] Better. Now the gasp cue. [S2] [gasp] Like that? [S1] Perfect. And if the pulley sticks— [S2] I improvise, blame the whale, and keep smiling. [S1] Exactly. That's why you're indispensable. [S2] Aww. After the show, you owe me a sandwich. [S1] Two sandwiches if the moon prop doesn't fall this time. [S2] No promises. [both laugh]"
},
"settings": {
"temperature": 0.7,
"audioTemperature": 0.9,
"includePrefix": false,
"topK": 60
},
"inputs": {
"audios": [
"https://assets.runware.ai/assets/inputs/9785d0df-e5e6-4c42-b452-ce28b9b25986.mp3",
"https://assets.runware.ai/assets/inputs/61d5e230-81f4-4dea-b905-0c3ae4e680b0.mp3"
]
}
}{
"taskType": "audioInference",
"taskUUID": "47c00812-b2c7-4f2f-9ddd-1500a8ecd259",
"audioUUID": "545bfd36-c40c-4472-8513-1aa71160da7c",
"audioURL": "https://am.runware.ai/audio/os/a09dlim3/ws/5/ai/545bfd36-c40c-4472-8513-1aa71160da7c.mp3",
"seed": 28693,
"cost": 0.02685
}Midnight Aquarium Maintenance Log
[S1] Maintenance log, 02:17 a.m. The west tank is finally quiet. [sigh] The ribbon eels have tucked themselves into the coral pipes, and the jellyfish nursery is pulsing like a row of tiny umbrellas. I thought I heard a loose valve behind the filtration wall, but... no. Just the old pumps humming in harmony again. [soft laugh] One silver gourami is still awake, watching me through the glass like I'm the strange creature here. Note to morning shift: replace the blue hose clamp, lower the nursery lights by five percent, and please tell Mara the rescued seahorse ate on its own tonight.
import { createClient } from '@runware/sdk'
const client = await createClient({ apiKey: process.env.RUNWARE_API_KEY })
await client.connect()
const [result] = await client.run({
model: 'runware:dia2@2b',
seed: 37604,
CFGScale: 3,
speech: {
text: '[S1] Maintenance log, 02:17 a.m. The west tank is finally quiet. [sigh] The ribbon eels have tucked themselves into the coral pipes, and the jellyfish nursery is pulsing like a row of tiny umbrellas. I thought I heard a loose valve behind the filtration wall, but... no. Just the old pumps humming in harmony again. [soft laugh] One silver gourami is still awake, watching me through the glass like I\'m the strange creature here. Note to morning shift: replace the blue hose clamp, lower the nursery lights by five percent, and please tell Mara the rescued seahorse ate on its own tonight.'
},
settings: {
temperature: 0.7,
audioTemperature: 0.9,
includePrefix: false,
topK: 60
},
inputs: {
audios: [
'https://assets.runware.ai/assets/inputs/5253038f-0084-45c9-9724-c584e2547545.mp3'
]
}
})import asyncio
import os
from runware import Runware
async def main():
async with Runware(api_key=os.environ["RUNWARE_API_KEY"]) as client:
results = await client.run({
"model": "runware:dia2@2b",
"seed": 37604,
"CFGScale": 3,
"speech": {
"text": "[S1] Maintenance log, 02:17 a.m. The west tank is finally quiet. [sigh] The ribbon eels have tucked themselves into the coral pipes, and the jellyfish nursery is pulsing like a row of tiny umbrellas. I thought I heard a loose valve behind the filtration wall, but... no. Just the old pumps humming in harmony again. [soft laugh] One silver gourami is still awake, watching me through the glass like I'm the strange creature here. Note to morning shift: replace the blue hose clamp, lower the nursery lights by five percent, and please tell Mara the rescued seahorse ate on its own tonight."
},
"settings": {
"temperature": 0.7,
"audioTemperature": 0.9,
"includePrefix": False,
"topK": 60
},
"inputs": {
"audios": [
"https://assets.runware.ai/assets/inputs/5253038f-0084-45c9-9724-c584e2547545.mp3"
]
}
})
asyncio.run(main())curl https://api.runware.ai/v1 \
-H "Authorization: Bearer $RUNWARE_API_KEY" \
-H "Content-Type: application/json" \
-d '[
{
"taskType": "audioInference",
"taskUUID": "cc20a7c4-02b9-48fc-9592-38cfd0d04e0d",
"model": "runware:dia2@2b",
"seed": 37604,
"CFGScale": 3,
"speech": {
"text": "[S1] Maintenance log, 02:17 a.m. The west tank is finally quiet. [sigh] The ribbon eels have tucked themselves into the coral pipes, and the jellyfish nursery is pulsing like a row of tiny umbrellas. I thought I heard a loose valve behind the filtration wall, but... no. Just the old pumps humming in harmony again. [soft laugh] One silver gourami is still awake, watching me through the glass like I'm the strange creature here. Note to morning shift: replace the blue hose clamp, lower the nursery lights by five percent, and please tell Mara the rescued seahorse ate on its own tonight."
},
"settings": {
"temperature": 0.7,
"audioTemperature": 0.9,
"includePrefix": false,
"topK": 60
},
"inputs": {
"audios": [
"https://assets.runware.ai/assets/inputs/5253038f-0084-45c9-9724-c584e2547545.mp3"
]
}
}
]'runware run runware:dia2@2b \
seed=37604 \
CFGScale=3 \
speech.text="[S1] Maintenance log, 02:17 a.m. The west tank is finally quiet. [sigh] The ribbon eels have tucked themselves into the coral pipes, and the jellyfish nursery is pulsing like a row of tiny umbrellas. I thought I heard a loose valve behind the filtration wall, but... no. Just the old pumps humming in harmony again. [soft laugh] One silver gourami is still awake, watching me through the glass like I'm the strange creature here. Note to morning shift: replace the blue hose clamp, lower the nursery lights by five percent, and please tell Mara the rescued seahorse ate on its own tonight." \
settings.temperature=0.7 \
settings.audioTemperature=0.9 \
settings.includePrefix=false \
settings.topK=60 \
inputs.audios.0=https://assets.runware.ai/assets/inputs/5253038f-0084-45c9-9724-c584e2547545.mp3{
"taskType": "audioInference",
"taskUUID": "cc20a7c4-02b9-48fc-9592-38cfd0d04e0d",
"model": "runware:dia2@2b",
"seed": 37604,
"CFGScale": 3,
"speech": {
"text": "[S1] Maintenance log, 02:17 a.m. The west tank is finally quiet. [sigh] The ribbon eels have tucked themselves into the coral pipes, and the jellyfish nursery is pulsing like a row of tiny umbrellas. I thought I heard a loose valve behind the filtration wall, but... no. Just the old pumps humming in harmony again. [soft laugh] One silver gourami is still awake, watching me through the glass like I'm the strange creature here. Note to morning shift: replace the blue hose clamp, lower the nursery lights by five percent, and please tell Mara the rescued seahorse ate on its own tonight."
},
"settings": {
"temperature": 0.7,
"audioTemperature": 0.9,
"includePrefix": false,
"topK": 60
},
"inputs": {
"audios": [
"https://assets.runware.ai/assets/inputs/5253038f-0084-45c9-9724-c584e2547545.mp3"
]
}
}{
"taskType": "audioInference",
"taskUUID": "cc20a7c4-02b9-48fc-9592-38cfd0d04e0d",
"audioUUID": "29e35320-85c4-430a-93af-c6417e2f63d1",
"audioURL": "https://am.runware.ai/audio/os/a04d20/ws/5/ai/29e35320-85c4-430a-93af-c6417e2f63d1.mp3",
"seed": 37604,
"cost": 0.0201
}Emergency Orbital Greenhouse Briefing
[S1] Status check. Section C lost humidity twelve minutes ago, and the citrus wall is starting to curl at the edges. [sigh] Tell me you found the fault. [S2] I found three faults. The good news is only one of them is exciting. [nervous laugh] A pollination drone wedged itself into the intake grille and overheated the circulation loop. [S1] Of course it did. Is the pump still alive? [S2] Barely. It's making a noise like it has personal grievances, but yes, it spins. If I reroute through the nursery line, we can mist the upper racks long enough to save the root trays. [S1] Do it. Prioritize the graft shelf and the medicinal bed. We can replant herbs; we cannot regrow six months of edited fruit stock. [S2] Copy that. Wait—hold on. [cough] Sorry, got a face full of nutrient vapor. Valve B is stuck at forty percent. [S1] Then don't fight Valve B. Bypass it and open the manual manifold under the yellow panel. [S2] The panel with the handwritten sticker that says 'definitely not haunted'? [S1] The very same. I wrote that after the midnight alarm incident. [S2] Comforting. [pause] Manual manifold is open. Humidity climbing... thirty-six... forty-two... okay, the leaves are uncurling. [S1] Good. Listen carefully: once the airflow stabilizes, collect the rogue drone and bring it to diagnostics. I want to know why a pollinator was anywhere near the intake. [S2] You think this was a software glitch? [S1] I think a machine crossed half a habitat ring carrying peach pollen and bad intentions. [S2] That's the most dramatic way anyone has ever asked me to file a maintenance report. [S1] And yet you'll file it. [S2] Yes, chief. [exhale] Crisis downgraded. The greenhouse smells like hot metal and oranges, but it's alive. [S1] Then we are, for the moment, victorious.
import { createClient } from '@runware/sdk'
const client = await createClient({ apiKey: process.env.RUNWARE_API_KEY })
await client.connect()
const [result] = await client.run({
model: 'runware:dia2@2b',
seed: 99086,
CFGScale: 3,
speech: {
text: '[S1] Status check. Section C lost humidity twelve minutes ago, and the citrus wall is starting to curl at the edges. [sigh] Tell me you found the fault.\n[S2] I found three faults. The good news is only one of them is exciting. [nervous laugh] A pollination drone wedged itself into the intake grille and overheated the circulation loop.\n[S1] Of course it did. Is the pump still alive?\n[S2] Barely. It\'s making a noise like it has personal grievances, but yes, it spins. If I reroute through the nursery line, we can mist the upper racks long enough to save the root trays.\n[S1] Do it. Prioritize the graft shelf and the medicinal bed. We can replant herbs; we cannot regrow six months of edited fruit stock.\n[S2] Copy that. Wait—hold on. [cough] Sorry, got a face full of nutrient vapor. Valve B is stuck at forty percent.\n[S1] Then don\'t fight Valve B. Bypass it and open the manual manifold under the yellow panel.\n[S2] The panel with the handwritten sticker that says \'definitely not haunted\'?\n[S1] The very same. I wrote that after the midnight alarm incident.\n[S2] Comforting. [pause] Manual manifold is open. Humidity climbing... thirty-six... forty-two... okay, the leaves are uncurling.\n[S1] Good. Listen carefully: once the airflow stabilizes, collect the rogue drone and bring it to diagnostics. I want to know why a pollinator was anywhere near the intake.\n[S2] You think this was a software glitch?\n[S1] I think a machine crossed half a habitat ring carrying peach pollen and bad intentions.\n[S2] That\'s the most dramatic way anyone has ever asked me to file a maintenance report.\n[S1] And yet you\'ll file it.\n[S2] Yes, chief. [exhale] Crisis downgraded. The greenhouse smells like hot metal and oranges, but it\'s alive.\n[S1] Then we are, for the moment, victorious.'
},
settings: {
temperature: 0.7,
audioTemperature: 0.9,
includePrefix: false,
topK: 60
},
inputs: {
audios: [
'https://assets.runware.ai/assets/inputs/c241efe8-657d-4518-9115-3ce52ab6b356.mp3',
'https://assets.runware.ai/assets/inputs/51dee1c1-bc1c-4ae3-813b-2dc8aad3376d.mp3'
]
}
})import asyncio
import os
from runware import Runware
async def main():
async with Runware(api_key=os.environ["RUNWARE_API_KEY"]) as client:
results = await client.run({
"model": "runware:dia2@2b",
"seed": 99086,
"CFGScale": 3,
"speech": {
"text": "[S1] Status check. Section C lost humidity twelve minutes ago, and the citrus wall is starting to curl at the edges. [sigh] Tell me you found the fault.\n[S2] I found three faults. The good news is only one of them is exciting. [nervous laugh] A pollination drone wedged itself into the intake grille and overheated the circulation loop.\n[S1] Of course it did. Is the pump still alive?\n[S2] Barely. It's making a noise like it has personal grievances, but yes, it spins. If I reroute through the nursery line, we can mist the upper racks long enough to save the root trays.\n[S1] Do it. Prioritize the graft shelf and the medicinal bed. We can replant herbs; we cannot regrow six months of edited fruit stock.\n[S2] Copy that. Wait—hold on. [cough] Sorry, got a face full of nutrient vapor. Valve B is stuck at forty percent.\n[S1] Then don't fight Valve B. Bypass it and open the manual manifold under the yellow panel.\n[S2] The panel with the handwritten sticker that says 'definitely not haunted'?\n[S1] The very same. I wrote that after the midnight alarm incident.\n[S2] Comforting. [pause] Manual manifold is open. Humidity climbing... thirty-six... forty-two... okay, the leaves are uncurling.\n[S1] Good. Listen carefully: once the airflow stabilizes, collect the rogue drone and bring it to diagnostics. I want to know why a pollinator was anywhere near the intake.\n[S2] You think this was a software glitch?\n[S1] I think a machine crossed half a habitat ring carrying peach pollen and bad intentions.\n[S2] That's the most dramatic way anyone has ever asked me to file a maintenance report.\n[S1] And yet you'll file it.\n[S2] Yes, chief. [exhale] Crisis downgraded. The greenhouse smells like hot metal and oranges, but it's alive.\n[S1] Then we are, for the moment, victorious."
},
"settings": {
"temperature": 0.7,
"audioTemperature": 0.9,
"includePrefix": False,
"topK": 60
},
"inputs": {
"audios": [
"https://assets.runware.ai/assets/inputs/c241efe8-657d-4518-9115-3ce52ab6b356.mp3",
"https://assets.runware.ai/assets/inputs/51dee1c1-bc1c-4ae3-813b-2dc8aad3376d.mp3"
]
}
})
asyncio.run(main())curl https://api.runware.ai/v1 \
-H "Authorization: Bearer $RUNWARE_API_KEY" \
-H "Content-Type: application/json" \
-d '[
{
"taskType": "audioInference",
"taskUUID": "02aaf23c-78fd-45a7-a404-7d5df0ebd534",
"model": "runware:dia2@2b",
"seed": 99086,
"CFGScale": 3,
"speech": {
"text": "[S1] Status check. Section C lost humidity twelve minutes ago, and the citrus wall is starting to curl at the edges. [sigh] Tell me you found the fault.\n[S2] I found three faults. The good news is only one of them is exciting. [nervous laugh] A pollination drone wedged itself into the intake grille and overheated the circulation loop.\n[S1] Of course it did. Is the pump still alive?\n[S2] Barely. It's making a noise like it has personal grievances, but yes, it spins. If I reroute through the nursery line, we can mist the upper racks long enough to save the root trays.\n[S1] Do it. Prioritize the graft shelf and the medicinal bed. We can replant herbs; we cannot regrow six months of edited fruit stock.\n[S2] Copy that. Wait—hold on. [cough] Sorry, got a face full of nutrient vapor. Valve B is stuck at forty percent.\n[S1] Then don't fight Valve B. Bypass it and open the manual manifold under the yellow panel.\n[S2] The panel with the handwritten sticker that says 'definitely not haunted'?\n[S1] The very same. I wrote that after the midnight alarm incident.\n[S2] Comforting. [pause] Manual manifold is open. Humidity climbing... thirty-six... forty-two... okay, the leaves are uncurling.\n[S1] Good. Listen carefully: once the airflow stabilizes, collect the rogue drone and bring it to diagnostics. I want to know why a pollinator was anywhere near the intake.\n[S2] You think this was a software glitch?\n[S1] I think a machine crossed half a habitat ring carrying peach pollen and bad intentions.\n[S2] That's the most dramatic way anyone has ever asked me to file a maintenance report.\n[S1] And yet you'll file it.\n[S2] Yes, chief. [exhale] Crisis downgraded. The greenhouse smells like hot metal and oranges, but it's alive.\n[S1] Then we are, for the moment, victorious."
},
"settings": {
"temperature": 0.7,
"audioTemperature": 0.9,
"includePrefix": false,
"topK": 60
},
"inputs": {
"audios": [
"https://assets.runware.ai/assets/inputs/c241efe8-657d-4518-9115-3ce52ab6b356.mp3",
"https://assets.runware.ai/assets/inputs/51dee1c1-bc1c-4ae3-813b-2dc8aad3376d.mp3"
]
}
}
]'runware run runware:dia2@2b \
seed=99086 \
CFGScale=3 \
speech.text="[S1] Status check. Section C lost humidity twelve minutes ago, and the citrus wall is starting to curl at the edges. [sigh] Tell me you found the fault.
[S2] I found three faults. The good news is only one of them is exciting. [nervous laugh] A pollination drone wedged itself into the intake grille and overheated the circulation loop.
[S1] Of course it did. Is the pump still alive?
[S2] Barely. It's making a noise like it has personal grievances, but yes, it spins. If I reroute through the nursery line, we can mist the upper racks long enough to save the root trays.
[S1] Do it. Prioritize the graft shelf and the medicinal bed. We can replant herbs; we cannot regrow six months of edited fruit stock.
[S2] Copy that. Wait—hold on. [cough] Sorry, got a face full of nutrient vapor. Valve B is stuck at forty percent.
[S1] Then don't fight Valve B. Bypass it and open the manual manifold under the yellow panel.
[S2] The panel with the handwritten sticker that says 'definitely not haunted'?
[S1] The very same. I wrote that after the midnight alarm incident.
[S2] Comforting. [pause] Manual manifold is open. Humidity climbing... thirty-six... forty-two... okay, the leaves are uncurling.
[S1] Good. Listen carefully: once the airflow stabilizes, collect the rogue drone and bring it to diagnostics. I want to know why a pollinator was anywhere near the intake.
[S2] You think this was a software glitch?
[S1] I think a machine crossed half a habitat ring carrying peach pollen and bad intentions.
[S2] That's the most dramatic way anyone has ever asked me to file a maintenance report.
[S1] And yet you'll file it.
[S2] Yes, chief. [exhale] Crisis downgraded. The greenhouse smells like hot metal and oranges, but it's alive.
[S1] Then we are, for the moment, victorious." \
settings.temperature=0.7 \
settings.audioTemperature=0.9 \
settings.includePrefix=false \
settings.topK=60 \
inputs.audios.0=https://assets.runware.ai/assets/inputs/c241efe8-657d-4518-9115-3ce52ab6b356.mp3 \
inputs.audios.1=https://assets.runware.ai/assets/inputs/51dee1c1-bc1c-4ae3-813b-2dc8aad3376d.mp3{
"taskType": "audioInference",
"taskUUID": "02aaf23c-78fd-45a7-a404-7d5df0ebd534",
"model": "runware:dia2@2b",
"seed": 99086,
"CFGScale": 3,
"speech": {
"text": "[S1] Status check. Section C lost humidity twelve minutes ago, and the citrus wall is starting to curl at the edges. [sigh] Tell me you found the fault.\n[S2] I found three faults. The good news is only one of them is exciting. [nervous laugh] A pollination drone wedged itself into the intake grille and overheated the circulation loop.\n[S1] Of course it did. Is the pump still alive?\n[S2] Barely. It's making a noise like it has personal grievances, but yes, it spins. If I reroute through the nursery line, we can mist the upper racks long enough to save the root trays.\n[S1] Do it. Prioritize the graft shelf and the medicinal bed. We can replant herbs; we cannot regrow six months of edited fruit stock.\n[S2] Copy that. Wait—hold on. [cough] Sorry, got a face full of nutrient vapor. Valve B is stuck at forty percent.\n[S1] Then don't fight Valve B. Bypass it and open the manual manifold under the yellow panel.\n[S2] The panel with the handwritten sticker that says 'definitely not haunted'?\n[S1] The very same. I wrote that after the midnight alarm incident.\n[S2] Comforting. [pause] Manual manifold is open. Humidity climbing... thirty-six... forty-two... okay, the leaves are uncurling.\n[S1] Good. Listen carefully: once the airflow stabilizes, collect the rogue drone and bring it to diagnostics. I want to know why a pollinator was anywhere near the intake.\n[S2] You think this was a software glitch?\n[S1] I think a machine crossed half a habitat ring carrying peach pollen and bad intentions.\n[S2] That's the most dramatic way anyone has ever asked me to file a maintenance report.\n[S1] And yet you'll file it.\n[S2] Yes, chief. [exhale] Crisis downgraded. The greenhouse smells like hot metal and oranges, but it's alive.\n[S1] Then we are, for the moment, victorious."
},
"settings": {
"temperature": 0.7,
"audioTemperature": 0.9,
"includePrefix": false,
"topK": 60
},
"inputs": {
"audios": [
"https://assets.runware.ai/assets/inputs/c241efe8-657d-4518-9115-3ce52ab6b356.mp3",
"https://assets.runware.ai/assets/inputs/51dee1c1-bc1c-4ae3-813b-2dc8aad3376d.mp3"
]
}
}{
"taskType": "audioInference",
"taskUUID": "02aaf23c-78fd-45a7-a404-7d5df0ebd534",
"audioUUID": "a630a823-d34f-4aad-92ef-f87429bd6337",
"audioURL": "https://am.runware.ai/audio/os/a06dlim3/ws/5/ai/a630a823-d34f-4aad-92ef-f87429bd6337.mp3",
"seed": 99086,
"cost": 0.05085
}Subway Platform Lost Announcement
[S1] Attention please. A small red notebook has been found on the eastbound platform near the third pillar. [sigh] If you believe it is yours, please come to the service booth beside track two. [S2] Excuse me—oh! [short laugh] That might be mine. Does it have a paper crane tucked inside? [S1] Yes, it does. Blue paper, folded neatly between the pages. [S2] That's definitely it. I thought I'd lost it when the train doors opened. Thank you so much. [S1] You're very welcome. Please bring some identification when you collect it. [S2] Of course. And, uh, thank you for making the announcement so quickly.
import { createClient } from '@runware/sdk'
const client = await createClient({ apiKey: process.env.RUNWARE_API_KEY })
await client.connect()
const [result] = await client.run({
model: 'runware:dia2@2b',
seed: 61852,
CFGScale: 3,
speech: {
text: '[S1] Attention please. A small red notebook has been found on the eastbound platform near the third pillar. [sigh] If you believe it is yours, please come to the service booth beside track two.\n[S2] Excuse me—oh! [short laugh] That might be mine. Does it have a paper crane tucked inside?\n[S1] Yes, it does. Blue paper, folded neatly between the pages.\n[S2] That\'s definitely it. I thought I\'d lost it when the train doors opened. Thank you so much.\n[S1] You\'re very welcome. Please bring some identification when you collect it.\n[S2] Of course. And, uh, thank you for making the announcement so quickly.'
},
settings: {
temperature: 0.7,
audioTemperature: 0.9,
includePrefix: false,
topK: 60
},
inputs: {
audios: [
'https://assets.runware.ai/assets/inputs/65c9e40f-8c45-4e11-979b-d7636333a82c.mp3',
'https://assets.runware.ai/assets/inputs/e7e43a54-3516-4a45-a21f-2dbf9e60ae85.mp3'
]
}
})import asyncio
import os
from runware import Runware
async def main():
async with Runware(api_key=os.environ["RUNWARE_API_KEY"]) as client:
results = await client.run({
"model": "runware:dia2@2b",
"seed": 61852,
"CFGScale": 3,
"speech": {
"text": "[S1] Attention please. A small red notebook has been found on the eastbound platform near the third pillar. [sigh] If you believe it is yours, please come to the service booth beside track two.\n[S2] Excuse me—oh! [short laugh] That might be mine. Does it have a paper crane tucked inside?\n[S1] Yes, it does. Blue paper, folded neatly between the pages.\n[S2] That's definitely it. I thought I'd lost it when the train doors opened. Thank you so much.\n[S1] You're very welcome. Please bring some identification when you collect it.\n[S2] Of course. And, uh, thank you for making the announcement so quickly."
},
"settings": {
"temperature": 0.7,
"audioTemperature": 0.9,
"includePrefix": False,
"topK": 60
},
"inputs": {
"audios": [
"https://assets.runware.ai/assets/inputs/65c9e40f-8c45-4e11-979b-d7636333a82c.mp3",
"https://assets.runware.ai/assets/inputs/e7e43a54-3516-4a45-a21f-2dbf9e60ae85.mp3"
]
}
})
asyncio.run(main())curl https://api.runware.ai/v1 \
-H "Authorization: Bearer $RUNWARE_API_KEY" \
-H "Content-Type: application/json" \
-d '[
{
"taskType": "audioInference",
"taskUUID": "1fc57384-77c3-43c1-be2c-c19ff7f98391",
"model": "runware:dia2@2b",
"seed": 61852,
"CFGScale": 3,
"speech": {
"text": "[S1] Attention please. A small red notebook has been found on the eastbound platform near the third pillar. [sigh] If you believe it is yours, please come to the service booth beside track two.\n[S2] Excuse me—oh! [short laugh] That might be mine. Does it have a paper crane tucked inside?\n[S1] Yes, it does. Blue paper, folded neatly between the pages.\n[S2] That's definitely it. I thought I'd lost it when the train doors opened. Thank you so much.\n[S1] You're very welcome. Please bring some identification when you collect it.\n[S2] Of course. And, uh, thank you for making the announcement so quickly."
},
"settings": {
"temperature": 0.7,
"audioTemperature": 0.9,
"includePrefix": false,
"topK": 60
},
"inputs": {
"audios": [
"https://assets.runware.ai/assets/inputs/65c9e40f-8c45-4e11-979b-d7636333a82c.mp3",
"https://assets.runware.ai/assets/inputs/e7e43a54-3516-4a45-a21f-2dbf9e60ae85.mp3"
]
}
}
]'runware run runware:dia2@2b \
seed=61852 \
CFGScale=3 \
speech.text="[S1] Attention please. A small red notebook has been found on the eastbound platform near the third pillar. [sigh] If you believe it is yours, please come to the service booth beside track two.
[S2] Excuse me—oh! [short laugh] That might be mine. Does it have a paper crane tucked inside?
[S1] Yes, it does. Blue paper, folded neatly between the pages.
[S2] That's definitely it. I thought I'd lost it when the train doors opened. Thank you so much.
[S1] You're very welcome. Please bring some identification when you collect it.
[S2] Of course. And, uh, thank you for making the announcement so quickly." \
settings.temperature=0.7 \
settings.audioTemperature=0.9 \
settings.includePrefix=false \
settings.topK=60 \
inputs.audios.0=https://assets.runware.ai/assets/inputs/65c9e40f-8c45-4e11-979b-d7636333a82c.mp3 \
inputs.audios.1=https://assets.runware.ai/assets/inputs/e7e43a54-3516-4a45-a21f-2dbf9e60ae85.mp3{
"taskType": "audioInference",
"taskUUID": "1fc57384-77c3-43c1-be2c-c19ff7f98391",
"model": "runware:dia2@2b",
"seed": 61852,
"CFGScale": 3,
"speech": {
"text": "[S1] Attention please. A small red notebook has been found on the eastbound platform near the third pillar. [sigh] If you believe it is yours, please come to the service booth beside track two.\n[S2] Excuse me—oh! [short laugh] That might be mine. Does it have a paper crane tucked inside?\n[S1] Yes, it does. Blue paper, folded neatly between the pages.\n[S2] That's definitely it. I thought I'd lost it when the train doors opened. Thank you so much.\n[S1] You're very welcome. Please bring some identification when you collect it.\n[S2] Of course. And, uh, thank you for making the announcement so quickly."
},
"settings": {
"temperature": 0.7,
"audioTemperature": 0.9,
"includePrefix": false,
"topK": 60
},
"inputs": {
"audios": [
"https://assets.runware.ai/assets/inputs/65c9e40f-8c45-4e11-979b-d7636333a82c.mp3",
"https://assets.runware.ai/assets/inputs/e7e43a54-3516-4a45-a21f-2dbf9e60ae85.mp3"
]
}
}{
"taskType": "audioInference",
"taskUUID": "1fc57384-77c3-43c1-be2c-c19ff7f98391",
"audioUUID": "17db67fb-926d-419b-a06d-86f6f9376163",
"audioURL": "https://am.runware.ai/audio/os/a01d21/ws/5/ai/17db67fb-926d-419b-a06d-86f6f9376163.mp3",
"seed": 61852,
"cost": 0.024
}