Medios
Las imágenes y los videos de tus anuncios: generados a partir de una descripción, al precio vigente del catálogo, con cargo a tu Saldo publicitario (
amount_charged
; la imagen está incluida en la tarifa de gestión; si el saldo no alcanza,
402
con
deposit_url
; si la generación falla, se devuelve), o imágenes subidas por ti. Consulta el medio hasta que
status
sea
ready
y úsalo en
creatives
.
Generar una imagen o un video#
/api/v1/media/generate
Bearer
Cobra la generación a tu Saldo publicitario y la genera aparte: una imagen, o un video de 5, 10 o 15 segundos cuya fotografía dibuja el modelo de imagen y el renderizador de video pone en movimiento, con las palabras que nombres.
Content-Type: application/json
prompt
string
requerido
Qué mostrar, hasta 2000 caracteres.
type
string
image
(por defecto) o
video
.
imagevideo
aspect_ratio
string
Imagen:
1:1
,
4:3
(por defecto),
3:4
,
16:9
,
9:16
o
4:5
.
duration_seconds
integer
Video:
5
,
10
(por defecto) o
15
.
resolution
string
Video: horizontal (por defecto), vertical o cuadrado.
1920x10801080x19201080x1080
reference_media_ids
array
Hasta 3 imágenes tuyas (
/media
,
ready
) de las que el modelo compone.
headline
string
Video: el título en pantalla, hasta 40 caracteres.
text
string
Video: el texto en pantalla, hasta 90 caracteres.
call_to_action_text
string
Video: el llamado a la acción en pantalla, hasta 25 caracteres.
Devuelve
·
201
con el medio (
pending
) ·
402 insufficient_balance
con
details.deposit_url
·
400 media_not_priced
(el precio se define en Consola › Productos) ·
400 video_model_not_configured
·
422
con
errors
.
curl -X POST https://edge.datil.com/api/v1/media/generate \
-H "Authorization: Bearer $DATIL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Una notaria sonriente firmando en su tableta, luz cálida"
}'
{
"id": "6e7f8a9b-0c1d-4e2f-8a3b-4c5d6e7f8a9b",
"object": "media",
"type": "image",
"source": "generated",
"status": "pending",
"prompt": "Una notaria sonriente firmando en su tableta, luz cálida",
"mime": null,
"width": null,
"height": null,
"amount_charged": "0.50",
"refunded": false,
"error": null,
"created_at": "2026-09-27T14:03:01Z",
"updated_at": "2026-09-27T14:03:01Z"
}
Subir una imagen#
/api/v1/media
Bearer
Guarda una imagen PNG o JPEG de hasta 10 MB, lista al instante.
Content-Type: application/json
data
string
requerido
La imagen en base64.
Devuelve
·
201
con el medio (
ready
) ·
422
con
errors
.
curl -X POST https://edge.datil.com/api/v1/media \
-H "Authorization: Bearer $DATIL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"data": "iVBORw0KGgoAAAANSUhEUgAA…"
}'
{
"id": "6e7f8a9b-0c1d-4e2f-8a3b-4c5d6e7f8a9b",
"object": "media",
"type": "image",
"source": "uploaded",
"status": "ready",
"prompt": null,
"mime": "image/png",
"width": 1024,
"height": 768,
"amount_charged": "0.00",
"refunded": false,
"error": null,
"created_at": "2026-09-27T14:03:01Z",
"updated_at": "2026-09-27T14:03:01Z"
}
Listar medios#
/api/v1/media
Bearer
De la más antigua a la más reciente, por páginas:
limit
(1 a 100, 25 por defecto) y
after
(el
next_cursor
de la página anterior).
status
string
pending
,
processing
,
ready
o
failed
.
limit
integer
Cuántos por página, de 1 a 100.
after
string
El
next_cursor
de la página anterior.
Devuelve
·
200
con la lista (
data
,
has_more
,
next_cursor
) ·
422
con un filtro inválido.
curl "https://edge.datil.com/api/v1/media" \
-H "Authorization: Bearer $DATIL_API_KEY"
{
"object": "list",
"data": [
{
"id": "6e7f8a9b-0c1d-4e2f-8a3b-4c5d6e7f8a9b",
"object": "media",
"type": "image",
"source": "generated",
"status": "ready",
"prompt": "Una notaria sonriente firmando en su tableta, luz cálida",
"mime": "image/png",
"width": 1024,
"height": 768,
"amount_charged": "0.50",
"refunded": false,
"error": null,
"created_at": "2026-09-27T14:03:01Z",
"updated_at": "2026-09-27T14:03:01Z"
}
],
"has_more": false,
"next_cursor": null
}
Consultar un medio#
/api/v1/media/:id
Bearer
Un objeto de tu organización, con su estado de entrega.
id
string
requerido
El
id
del objeto.
Devuelve
·
200
con el objeto ·
404 not_found
para uno que no es de tu organización.
curl "https://edge.datil.com/api/v1/media/7b0f6a52-3c1e-4d7e-9a57-0c1f5c2e9b10" \
-H "Authorization: Bearer $DATIL_API_KEY"
{
"id": "6e7f8a9b-0c1d-4e2f-8a3b-4c5d6e7f8a9b",
"object": "media",
"type": "image",
"source": "generated",
"status": "ready",
"prompt": "Una notaria sonriente firmando en su tableta, luz cálida",
"mime": "image/png",
"width": 1024,
"height": 768,
"amount_charged": "0.50",
"refunded": false,
"error": null,
"created_at": "2026-09-27T14:03:01Z",
"updated_at": "2026-09-27T14:03:01Z"
}