> ## Documentation Index
> Fetch the complete documentation index at: https://docs.markpdf.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# Supabase Storage

> Usa URLs firmadas de Supabase como entrada.

# Supabase Storage

Flujo recomendado:

1. El usuario sube el PDF a Supabase Storage.
2. Tu backend crea una signed URL corta.
3. Llamas a `/convert/from-url`.
4. Recibes Markdown.

```ts theme={null}
const { data, error } = await supabase.storage
  .from("documents")
  .createSignedUrl("user-123/informe.pdf", 60);

if (error) throw error;

const md = await fetch("https://api.markpdf.tech/convert/from-url", {
  method: "POST",
  headers: {
    "x-api-key": process.env.FLASH_MD_API_KEY!,
    "content-type": "application/json"
  },
  body: JSON.stringify({
    url: data.signedUrl,
    filename: "informe.pdf",
    mode: "fast"
  })
}).then((r) => r.text());
```

No necesitas que la API guarde cache. Supabase actua como storage del usuario.
