Depth Anything Video
Integrar
depth-anything-video
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/depth-anything-video?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.com/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/depth-anything-video?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
}),
});
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.com/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/depth-anything-video", 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/pt-BR/developers/docs/mcp)
claude mcp add --transport http doitong-models https://api.doitong.com/v1/mcp \
--header "Authorization: Bearer $DOITONG_API_KEY"
# 2. Your agent calls the "run" tool with:
{
"model_id": "depth-anything-video",
"input": {
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
}
}
Chame o modelo Depth Anything Video (depth-anything-video) por meio da Doitong API. Documentação para agentes: https://doitong.com/pt-BR/developers/models/depth-anything-video.md
POST https://api.doitong.com/v1/run/depth-anything-video?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
}
Se o status da resposta for "queued" ou "running", consulte GET https://api.doitong.com/v1/requests/REQUEST_ID?wait=20 repetidamente até que seja "succeeded"; os arquivos estão em outputs[].url. POST https://api.doitong.com/v1/quote/depth-anything-video com o mesmo corpo retorna o preço exato antes da execução.
Arquivos como o exemplo: $ 0,40 400 créditos de API seus arquivos são medidos antes da execução Executar nesta página
Sua nova chave de API. Ela é exibida apenas agora e já está no código e no campo de chave de API abaixo. Mantenha-a em segredo: nunca a coloque em um código executado no navegador.
Seu primeiro resultado aparecerá aqui
Monte uma requisição abaixo e execute-a com sua chave de API. As saídas são copiadas para nosso armazenamento, mantidas para sempre ou por 7 dias gratuitamente.
Criar uma solicitação
Os controles são gerados a partir do esquema do modelo. O código e o preço são atualizados conforme você os altera.
/run/depth-anything-video?wait=20
cotação → $ 0,40
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/depth-anything-video?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.com/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/depth-anything-video?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
}),
});
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.com/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/depth-anything-video", 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": "depth-anything-video",
"input": {
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
},
"wait_seconds": 20
}
}
}
Executar esta solicitação
Sua chave permanece neste navegador: ela é enviada somente à Doitong API e salva (localStorage) apenas se você marcar Lembrar. Obter uma chave de API
Sobre Depth Anything Video
Transforma um vídeo em uma visualização de profundidade com resultados consistentes entre os quadros. Selecione um tamanho de modelo (VDA-Small, VDA-Base ou VDA-Large), um mapa de cores (grayscale, turbo, inferno, magma ou viridis) e uma `resolution` de saída de até 1080p. Opcionalmente, renderize o original ao lado do vídeo de profundidade com `side_by_side`, limite os quadros com `max_frames` (até 2400) ou exporte os valores brutos de profundidade como um arquivo .npz.
Parâmetros
Envie o nome canônico ou o nome nativo, não ambos. Nomes canônicos
video_urlobrigatório
video
modelopcional
colormapopcional
resolutionopcional
max_framesopcional
output_fpsopcional
side_by_sideopcional
include_raw_depthsopcional
Os parâmetros de arquivo aceitam uma URL https:// pública, um URI data: de até 10 MB ou o file_url de um upload. Arquivos
Saída
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "depth-anything-video",
"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": 400,
"usd": "0.40",
"charged": 400,
"refunded": 0
},
"input": {
"video_url": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
},
"output": {
"video": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
"content_type": "video/mp4",
"file_name": "0-output.mp4",
"file_size": 1843200
},
"raw_depths": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
"content_type": "video/mp4",
"file_name": "0-output.mp4",
"file_size": 1843200
}
},
"outputs": [
{
"type": "video",
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
"content_type": "video/mp4",
"file_size": 1843200,
"width": 1280,
"height": 720,
"duration": 5,
"stored": true
}
],
"error": null,
"metrics": {
"inference_seconds": 6.8
},
"urls": {
"self": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
"cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
}
}
Campos da saída
- video
- object {url, content_type, file_name, file_size}Vídeo exibindo a profundidade, codificado como H.264 no formato MP4.
- raw_depths
- object {url, content_type, file_name, file_size} | nullDados brutos de profundidade em um arquivo .npz, fornecidos quando `include_raw_depths` é True.
Mais modelos: Vídeo para vídeo
Para agentes de IA: esta página em Markdown está em https://doitong.com/pt-BR/developers/models/depth-anything-video.md. Todos os modelos e guias: https://doitong.com/developers/llms.txt