API de Studii
Llama a cualquier herramienta de Studii desde tu propio servidor, script o producto. Plan Pro o superior.
Autenticación
Emite una clave en /app/settings/api-keys. Envíala en cada solicitud como token Bearer (o mediante x-api-key):
Authorization: Bearer stu_<your-key>Crear una tarea
Envía una generación. Devuelve de inmediato el ID de la tarea; consultastatus_urlhasta que el estado sea completed o failed.
POST https://studii.tech/api/v1/jobs
Authorization: Bearer stu_<your-key>
Content-Type: application/json
{
"tool": "studio",
"inputs": {
"mode": "image",
"source": "text",
"quality": "standard",
"aspect_ratio": "16:9",
"prompt": "A misty pine forest at dawn, shafts of golden light"
}
}Respuesta 202:
{
"id": "8a1f...",
"status": "queued",
"status_url": "https://studii.tech/api/v1/jobs/8a1f...",
"credits_charged": 8
}Consultar el estado
GET https://studii.tech/api/v1/jobs/<id>
Authorization: Bearer stu_<your-key>Respuesta 200:
{
"id": "8a1f...",
"status": "completed",
"output_url": "https://...supabase.co/.../outputs/<key>",
"output_kind": "image",
"tool": "studio",
"error": null,
"created_at": "2026-05-14T...",
"completed_at": "2026-05-14T...",
"credits_charged": 8
}Subir una imagen de origen
Las herramientas de imagen a imagen (virtual-staging, photo-restore, product-background, career-photo) necesitan una imagen de origen. Flujo en dos pasos:
Paso 1 — solicita una URL firmada:
POST https://studii.tech/api/v1/uploads
Authorization: Bearer stu_<your-key>
Content-Type: application/json
{
"filename": "kitchen.jpg",
"content_type": "image/jpeg"
}Respuesta 200:
{
"object_key": "8a1f.../9c3e....jpg",
"signed_url": "https://...supabase.co/storage/v1/...?token=...",
"token": "...",
"expires_in": 7200
}Paso 2 — envía los bytes con PUT (sin cabecera de autenticación, el content-type debe coincidir):
curl -X PUT "$SIGNED_URL" \
-H "Content-Type: image/jpeg" \
--data-binary "@kitchen.jpg"Paso 3 — envía la tarea con source_object_key definido con el object_key devuelto:
POST https://studii.tech/api/v1/jobs
Authorization: Bearer stu_<your-key>
Content-Type: application/json
{
"tool": "virtual-staging",
"inputs": { "style": "modern", "room": "living" },
"source_object_key": "8a1f.../9c3e....jpg"
}Slugs de las herramientas
studio— generación de texto o imagen a imagen / vídeovirtual-staging— requieresource_object_keyphoto-restore— requieresource_object_keyproduct-background— requieresource_object_keycareer-photo— requieresource_object_key(un retrato de frente)
Errores
| Estado | Significado |
|---|---|
| 400 | Solicitud incorrecta — campo ausente o entradas inválidas |
| 401 | Clave de API ausente, mal formada o revocada |
| 402 | Sin créditos, o límite de gasto alcanzado |
| 403 | El plan no permite esta herramienta / combinación |
| 404 | Tarea no encontrada, o pertenece a otro usuario |
| 500 | Error del servidor — seguro reintentar |
Límites de gasto
Cada clave puede tener un límite de créditos. Cuando se alcanza el límite, las tareas devuelven 402. Los límites son orientativos — no reembolsan a mitad de una tarea. Usa un límite bajo en las claves de producción para acotar costes descontrolados.
Límites de solicitudes
Pro: 60 solicitudes/min por clave. Team y Business: 300/min. Amplíalo a través de soporte si lo necesitas.