Ir al contenido
Guía de la API

Archivos

Ver como Markdown Actualizado

Los modelos que aceptan imágenes, video o audio admiten cualquiera de estas tres formas. Cada página de modelo marca sus parámetros de archivo (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 ser accesible sin cookies ni inicio de sesión y permanecer accesible hasta que la solicitud haya comenzado. 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 en línea 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 es preferible subir los archivos grandes.

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 con exactamente 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 establece el tipo; content_type debe coincidir.
  • La URL de carga es válida durante una hora. file_url permanece válido.
  • 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 y después se eliminan de nuestro almacenamiento.

Establece el valor predeterminado con el interruptor "Conservar archivos para siempre" del panel o con PATCH /account/storage, y sobrescríbelo 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 electrónico y tienes 30 días para hacer una recarga antes de que los archivos conservados pasen a ser temporales.