Pixora model · dedicated GPUs · published prompts

Commercial images, seconds each.

Product shots, characters and backgrounds for video and illustration. An API, a catalog of 246 looks with every prompt published, and numbers that are measured, not claimed.

  • 13sper 1024×1280 image
  • $0.0032compute per image
  • 246looks, prompts open
  • 604samples below
Anima · World backgrounds, seed 1Anima · World backgrounds, seed 2Anima · World backgrounds, seed 3
Anima · World backgroundsSame prompt, 3 seeds · 10 steps · 1024 px class · GPU

Recipe · nine slots

The nine-slot recipe

Pixora reads a prompt like a camera brief, not prose. Lighting, palette and one telling detail are the difference between an image that is correct and one that sells.

  1. 01Shot and angleshot

    Leave it out and the model defaults to a centred, eye-level frame. That is why flat prompts give flat pictures.

  2. 02Subjectsubject

    Age, origin, two or three defining traits. Leave origin out and the model picks a generic face.

  3. 03Clothing or objectwear

    Three to five words, including coverage when the subject is a person.

  4. 04Three-layer settingscene

    Foreground, subject, background. No foreground and the image looks pasted on.

  5. 05Deliberate lightinglight

    The slot that matters most. The model follows lighting words very closely.

  6. 06Colour palettepalette

    Skip it and every image comes back the same neutral grade.

  7. 07One telling detailstory

    The small thing that stops a scroll: wind in the hair, steam, a rain bead.

  8. 08Mediummedium

    The genre of photograph, or the drawing style.

  9. 09Lenslens

    Really does change compression and depth of field.

Three lines to an image

The SDK depends on nothing but fetch. Drop it in a Lambda or a Worker and your cold start does not get heavier.

Read the docs
import { Pixora } from '@vovix/pixora'

const px = new Pixora({ apiKey: process.env.PIXORA_KEY })

const { images } = await px.createImages({ styleId, prompt, count: 4 })
const done = await px.waitFor(images.map((i) => i.assetId))