API
Cuatro endpoints: pedir una URL de subida, crear la tarea, consultar el resultado y reintentar una tarea fallida. Con reglas de parámetros, estados y errores.
POST
API de carga de imágenes
/api/img_upload
cURL
curl -X POST https://bigjpg.com/api/img_upload \
-H 'X-API-KEY: YOUR_API_KEY' \
-d 'filename=small.jpg' \
-d 'filetype=image/jpeg'
# Use url from the response to upload the file to R2.
curl -X PUT --upload-file small.jpg \
-H 'Content-Type: image/jpeg' \
'UPLOAD_URL'
Python
import requests
filename = 'small.jpg'
filetype = 'image/jpeg'
r = requests.post(
url='https://bigjpg.com/api/img_upload',
headers={'X-API-KEY': 'YOUR_API_KEY'},
data={'filename': filename, 'filetype': filetype}
)
upload = r.json()
with open(filename, 'rb') as image:
requests.put(
url=upload['url'],
data=image,
headers={'Content-Type': filetype}
)
print(upload['fileurl']) # use as input in the enlarge API
- Los miembros de pago pueden usar la API
- Llama a este endpoint con tu clave API para obtener una URL temporal de carga en R2 y la URL pública de la imagen
- Sube el archivo con PUT usando el mismo Content-Type y usa fileurl como input en la API de ampliación
- URL base:
https://bigjpg.com
POST
Enlarge API
/api/task/
cURL
curl -d '{"style": "art", "noise": "3", "x2": "1", "input": "YOUR_IMAGE_URL"}' \
-H 'X-API-KEY: YOUR_API_KEY' \
https://bigjpg.com/api/task/
Python
import json
import requests
data = {
'style': 'art',
'noise': '3',
'x2': '1',
'file_name': 'small.jpg',
'input': 'YOUR_IMAGE_URL'
}
r = requests.post(
url='https://bigjpg.com/api/task/',
headers={'X-API-KEY': 'YOUR_API_KEY'},
data=json.dumps(data)
)
print(r.json())
- JSON format
- style can be 'art', 'photo' which means 'cartoon illustration', 'photo'
- noise can be '-1', '0', '1', '2', '3' which means 'None', 'Low, 'Medium', 'High', 'Highest'
- x2 can be '1', '2', '3', '4' which means 2x, 4x, 8x, 16x
- input your enlarge image url
- Una llamada correcta devuelve tid (id de la tarea), minute (tiempo estimado) y remaining_api_calls (llamadas restantes).
GET
Result Query API
/api/task/{task_ids}
cURL
curl https://bigjpg.com/api/task/tid1,tid2,tid3,tid100
Python
import requests
r = requests.get(
url='https://bigjpg.com/api/task/tid1,tid2,tid3,tid100'
)
print(r.json())
- Puedes pasar varios ids separados por comas — hasta 100 por petición.
- Cada tarea vuelve como {"status": ..., "url": ..., "size": ...}; status es new, process, success o error.
- url y size siguen vacíos hasta que la tarea termina.
POST
Task retry API
/api/task/{task_ids}
cURL
curl -X POST https://bigjpg.com/api/task/tid1,tid2,tid3,tid100
Python
import requests
r = requests.post(
url='https://bigjpg.com/api/task/tid1,tid2,tid3,tid100'
)
print(r.json())
Respuestas de error
status
- valid_api_key_required — falta la cabecera X-API-KEY o no se reconoce. Revisa el nombre de la cabecera y que la clave pertenezca a una cuenta de pago vigente.
- requires_vip — la cuenta es gratuita o ha caducado. La API necesita un plan de pago activo.
- month_limit — se agotó la cuota mensual. Cada llamada correcta devuelve remaining_api_calls, así que puedes vigilarlo antes de quedarte sin llamadas.
- param_error — parámetros fuera de rango: style debe ser art o photo, noise de -1 a 3 y x2 de 1 a 4 (en cuentas gratuitas, 1 a 2).
- input_url_error — input tiene que ser una URL de imagen http:// o https:// accesible públicamente.
X-API-KEY: Los miembros de pago pueden usar la API
Contacto con nosotros i@bigjpg.com para más llamadas a la API