Search API
Referencia preview de la API de busqueda semantica de Polimake para encontrar activos creativos con lenguaje natural.
Polimake · Platform
El equipo detrás de Polimake. Exploramos la intersección entre tecnología, creatividad y automatización.
La Search API permite encontrar recursos creativos con lenguaje natural. Esta pensada para DAMs internos, CRMs, CMS, intranets, copilotos y agentes que necesitan recuperar el recurso correcto sin navegar carpetas.
Estado: contrato preview. Los nombres finales de endpoint y campos pueden cambiar antes de disponibilidad general.
Endpoint
POST /v1/media/search
Request
{
"project_id": "brand-assets",
"query": "presentacion para cliente de energia renovable",
"top_k": 10,
"mime_types": ["application/pdf", "application/vnd.ms-powerpoint"],
"filters": {
"has_logo": true
}
}
Parametros
| Campo | Tipo | Requerido | Descripcion |
|---|---|---|---|
project_id | string | Si | Proyecto donde buscar. |
query | string | Si | Consulta en lenguaje natural. |
top_k | number | No | Numero maximo de resultados. Por defecto, 10. |
mime_types | string[] | No | Limita resultados por tipo MIME. |
filters | object | No | Filtros estructurados disponibles segun proyecto. |
Ejemplo con curl
curl https://api.polimake.com/v1/media/search \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"project_id": "brand-assets",
"query": "presentacion para cliente de energia renovable",
"top_k": 10,
"mime_types": ["application/pdf", "application/vnd.ms-powerpoint"]
}'
Ejemplo con JavaScript
async function searchPolimakeMedia(query) {
const response = await fetch("https://api.polimake.com/v1/media/search", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.POLIMAKE_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
project_id: "brand-assets",
query,
top_k: 10,
}),
});
if (!response.ok) {
const error = await response.json().catch(() => null);
throw new Error(error?.error?.message || `Polimake API error: ${response.status}`);
}
return response.json();
}
Ejemplo con Python
import os
import requests
def search_polimake_media(query: str):
response = requests.post(
"https://api.polimake.com/v1/media/search",
headers={
"Authorization": f"Bearer {os.environ['POLIMAKE_API_KEY']}",
"Content-Type": "application/json",
},
json={
"project_id": "brand-assets",
"query": query,
"top_k": 10,
},
timeout=30,
)
response.raise_for_status()
return response.json()
Response
{
"object": "search_result",
"query": "presentacion para cliente de energia renovable",
"items": [
{
"id": "media_01HX9R8K4Q2Z4T",
"object": "media_object",
"score": 0.92,
"project_id": "brand-assets",
"filename": "deck-renovables-q2.pdf",
"mime_type": "application/pdf",
"urls": {
"preview": "https://cdn.polimake.com/previews/media_01HX9R8K4Q2Z4T.webp"
},
"ai": {
"description": "Presentacion comercial sobre energia renovable con graficos trimestrales.",
"tags": ["energia renovable", "presentacion", "ventas", "graficos"]
}
}
]
}
Buenas practicas
- Envia consultas completas, no solo keywords.
- Usa
mime_typescuando sepas que buscas documentos, imagenes o videos. - Usa
top_kbajo para interfaces rapidas y subelo para procesos offline. - Muestra
ai.descriptional usuario para explicar por que aparece un resultado. - Guarda el
iddel media object, no la URL temporal de preview.