Imágenes
Crea imágenes a partir de una instrucción con cualquier modelo de imagen.
Los modelos de imagen usan la API de Images de OpenAI, así que
images.generate funciona en cualquier SDK de OpenAI con la misma URL base y
clave que el texto.
import { writeFile } from "node:fs/promises"
import OpenAI from "openai"
const ai = new OpenAI({
apiKey: process.env.UPSKY_API_KEY,
baseURL: "https://api.upsky.dev/v1/ai",
})
const image = await ai.images.generate({
model: "bfl/flux-2-pro",
prompt: "Un faro sobre un acantilado al amanecer, en acuarela",
size: "1024x1024",
})
await writeFile("faro.png", Buffer.from(image.data[0].b64_json, "base64"))Obtén los modelos de imagen en el
endpoint de modelos con ?type=image.
Opciones
n: cuántas imágenes crear, de 1 a 4. Se cobra cada una.size: ancho y alto en píxeles, como1024x1024. Cada modelo admite sus propios tamaños.aspect_ratio: la proporción entre ancho y alto, como16:9, para los modelos que usan una proporción en lugar de un tamaño.seed: hace que los resultados se puedan repetir, en los modelos que lo admiten.
Las imágenes siempre se devuelven en base64 en b64_json, nunca como
enlaces, y Upsky no las guarda. Los demás campos, como quality o style, se
ignoran.
Cuánto cuesta
La mayoría de los modelos de imagen cobran un precio fijo por imagen, que el
endpoint de modelos indica en pricing.image. Algunos cobran más por tamaños
grandes, que aparecen en pricing.image_sizes. Un tamaño entre dos de la
lista cuesta lo mismo que el siguiente más grande, y un tamaño mayor que el
más grande se rechaza.
Algunos modelos, como los de OpenAI, se cobran por tokens, igual que un modelo de texto. Upsky aparta una estimación antes de la solicitud y cobra lo que indica el proveedor.
Solo se cobran las imágenes que se devuelven. usage.cost en la respuesta
indica lo que costó la solicitud, en dólares estadounidenses.
Claves de prueba
Una clave de prueba recibe un PNG transparente de 1×1 por cada imagen que pida. Nunca llama a un modelo y nunca se cobra.