Ir al contenido
Guía de la API

Archivos

Ver como Markdown Actualizado

Los modelos que aceptan imágenes, vídeo o audio los admiten en 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 estar disponible sin cookies ni inicio de sesión y seguir estando disponible hasta que se inicie 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 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 las cabeceras devueltas
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 sigue siendo 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 y después se eliminan de nuestro almacenamiento.

Establece el valor predeterminado con el interruptor «Conservar archivos para siempre» del panel de control 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 solicitudes nuevas; 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 dispones de 30 días para hacer una recarga antes de que los archivos conservados pasen a ser temporales.