Ir al contenido
Guía de la API

Archivos

Ver como Markdown Actualizado

Los modelos que aceptan imágenes, video o audio los admiten en cualquiera de estas tres formas. Cada página de modelo indica sus parámetros de archivos (por ejemplo, image, images, videos, audios).

1. Una URL pública

Cualquier URL https:// (o http://) que el modelo pueda descargar:

JSON
{ "image": "https://example.com/photos/product.jpg" }

El archivo debe estar disponible sin cookies ni inicio de sesión y seguir disponible hasta que comience la solicitud. Cada página de modelo enumera los límites de tamaño y dimensiones de sus parámetros de archivo.

2. Un URI de datos

Los archivos pequeños pueden incluirse directamente como un URI data: de hasta 10 MB:

JSON
{ "image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." }

Base64 hace que el cuerpo sea aproximadamente un tercio más grande que el archivo, así que prefiere cargas para cualquier archivo grande.

3. Una carga

Para archivos locales, solicita una URL de carga, haz PUT de los bytes allí y pasa el file_url devuelto al modelo. Crear la URL de carga es gratis.

1 · Obtener una URL de carga
curl -X POST "https://api.doitong.com/v1/files" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"filename": "product.jpg", "content_type": "image/jpeg", "size": 482113}'
201 Created · carga
{
  "object": "upload",
  "upload_url": "https://…signed upload URL…",
  "file_url": "https://content.doitong.com/…/product.jpg",
  "method": "PUT",
  "headers": { "Content-Type": "image/jpeg" },
  "content_type": "image/jpeg",
  "expires_in": 3600,
  "max_bytes": 15728640
}
2 · Cargar los bytes exactamente con los encabezados devueltos
curl -X PUT "<upload_url>" -H "Content-Type: image/jpeg" --data-binary @product.jpg
3 · Usar file_url como entrada del modelo
curl -X POST "https://api.doitong.com/v1/run/{model_id}?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"image": "https://content.doitong.com/…/product.jpg", "prompt": "..."}'
  • Cargas compatibles: .jpg, .jpeg, .png, .webp (hasta 15 MB) y .mp4, .mov, .webm (hasta 200 MB). La extensión define el tipo; content_type debe coincidir.
  • La URL de carga es válida durante una hora. file_url permanece válida.
  • Para audio, usa una URL pública o un URI de datos.

Archivos de salida

Tú eliges cuánto tiempo se conservan los archivos de salida:

  • Para siempre (permanent, el predeterminado): hasta que los elimines, por 100 créditos de API ($0.10) por GB al mes, cobrados una vez al día del saldo de API (1 GB = 1024³ bytes).
  • 7 días (temporary): gratis; luego se eliminan de nuestro almacenamiento.

Establece el valor predeterminado con el interruptor "Conservar archivos para siempre" en el panel o con PATCH /account/storage, y anúlalo por ejecución con ?storage=temporary (o permanent):

terminal
curl -X PATCH "https://api.doitong.com/v1/account/storage" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"mode": "temporary"}'

Cada solicitud muestra su propio storage (mode, bytes, expires_at, expired). La configuración se aplica a las nuevas solicitudes; los archivos que ya conservas para siempre permanecen hasta que los elimines con DELETE /requests/{id}/files (consulta Solicitudes). Si el saldo de API no puede pagar el almacenamiento, recibes un correo y tienes 30 días para hacer una recarga antes de que los archivos conservados se vuelvan temporales.