En esta sección
Guías / Imágenes

Imágenes

Genera, edita y anima imágenes por Meteor — misma key, debitando Energía, sin proveedor externo.

met.images genera, edita y anima imágenes desde tu código, por la misma key que el resto de la API. No necesitas contratar ni firmar contra un proveedor externo: Meteor corre el modelo, aloja el resultado y debita Energía a tu workspace por cada operación.

Requiere una key live (met_live_…) con scope integrations:execute. Una key de test devuelve 403. Además, tu workspace debe tener una integración de imágenes ACTIVA en el marketplace de MCPs; sin ella, la generación falla.

Como todas las operaciones con efectos, corre server-side:

import { Met } from '@meteor.ia/sdk';

const met = new Met(process.env.MET_KEY!, { workspaceId: 42 });

Generar una imagen

const img = await met.images.generate({
  prompt: 'Mockup de una taza blanca con logo minimalista, fondo neutro',
  aspect_ratio: '1:1',
});

console.log(img.url);            // URL pública alojada por Meteor
console.log(img.format);         // 'png' | 'jpeg' | 'webp' | …
console.log(img.size_bytes);     // tamaño del archivo
console.log(img.model);          // modelo usado
console.log(img.energy_debited); // Energía debitada por esta operación

El resultado es una URL pública alojada por Meteor, no los bytes crudos. Guárdala o pásala directo a donde la necesites:

const mockup = await met.images.generate({ prompt: 'Empaque de café artesanal, luz de estudio' });
await met.contacts.update(310, { image: mockup.url });

model y aspect_ratio son opcionales. Si omites model, se usa el modelo por defecto de la integración activa. aspect_ratio acepta valores como '1:1', '16:9', '9:16' o '3:4'.

Editar una imagen

Transforma una imagen existente pasándola en base64:

const edited = await met.images.edit({
  prompt: 'Cambia el fondo a azul degradado',
  image_base64: '...',   // la imagen base, en base64
});

console.log(edited.url);

Devuelve la misma forma que generate (url, format, model, energy_debited).

Animar (video)

Genera un clip desde un prompt, opcionalmente animando una imagen inicial:

const clip = await met.images.video({
  prompt: 'La taza gira lentamente sobre la mesa',
  image_base64: '...',    // primer frame opcional (base64)
  duration_seconds: 4,
});

console.log(clip.url);              // URL del video alojado
console.log(clip.duration_seconds); // duración real del clip
console.log(clip.energy_debited);

image_base64, duration_seconds y model son opcionales.

Costo

Cada generate, edit y video debita Energía a tu workspace y se atribuye a la key. El monto llega en energy_debited de la respuesta, y el consumo por API aparece separado del chat en tu dashboard. Si te faltan errores o paginación, mira Errores e idempotencia.