HeyGen: Avatar IV vs TBC: mischief 1
A side-by-side comparison of HeyGen: Avatar IV ($0.18 / second) and TBC: mischief 1 ($0.02 / second) using current USD prices and capabilities from the api14 catalog. Both run through the same OpenAI-compatible API.
Specifications
| HeyGen: Avatar IV | TBC: mischief 1 | |
|---|---|---|
| Provider | HeyGen | TBC |
| duration_seconds | $0.18 / second | - |
| cents_per_video_output_second_480p | - | $0.02 / second |
| cents_per_video_output_second_720p | - | $0.04 / second |
| Context window | - | - |
| Max output | - | - |
| Input | text, image, audio | text, image |
| Output | video | video |
| Tool calling | ||
| Structured output | ||
| Reasoning control | ||
| Added | Aug 24, 2026 | Oct 30, 2026 |
Switch with one string
Both models use the same endpoint and request shape. Change the model value from "heygen/avatar-iv" to "tbc/mischief-1" and prompts, streaming and tools keep working.
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api14.com/api/v1",
apiKey: process.env.API14_API_KEY,
});
// Video generation is asynchronous: submit, then poll until completed.
let job = await client.post("/videos", { body: {
"model": "tbc/mischief-1",
"prompt": "A drone shot over turquoise ocean waves at sunrise",
"duration": 8,
"resolution": "720p",
"aspect_ratio": "16:9"
} });
while (!["completed", "failed"].includes(job.status)) {
await new Promise((r) => setTimeout(r, 5000));
job = await client.get(`/videos/${job.id}`);
}
console.log(job.status, job.unsigned_urls);
More comparisons
- Google: Gemini Omni 1.1 Flash vs Google: Gemini Omni 1.2 Flash
- Google: Gemini Omni 1.1 Flash vs HeyGen: HeyGen Video
- Google: Gemini Omni 1.1 Flash vs TBC: mischief 1
- Google: Gemini Omni 1.1 Flash vs SpaceXAI: Grok Imagine Video 1.5 Lite
- Google: Gemini Omni 1.2 Flash vs HeyGen: HeyGen Video
- Google: Gemini Omni 1.2 Flash vs TBC: mischief 1
- Google: Gemini Omni 1.2 Flash vs SpaceXAI: Grok Imagine Video 1.5 Lite
- HeyGen: HeyGen Video vs TBC: mischief 1