Skip to content

Wan 2.7 Image ​

Wan 2.7 Image é a família de imagem Wan da Alibaba na Pixapi. Trocar de wan2.7-image para wan2.7-image-pro geralmente exige apenas alterar o campo model.

Superfície da API ​

OperaçãoEndpointModo
Geração de imagensPOST /v1/images/generationsSíncrono
Tarefa de geração de imagensPOST /v1/async/images/generationsAssíncrono
Edição de imagensPOST /v1/images/editsSíncrono
Tarefa de edição de imagensPOST /v1/async/images/editsAssíncrono

IDs do modelo ​

ID do modeloIdeal para
wan2.7-imageGeração e edição Wan padrão
wan2.7-image-proSaída Wan de maior custo

Preços ​

ID do modeloCréditos / imagem
wan2.7-image3
wan2.7-image-pro7

Campos de requisição ​

Envie os campos comuns no nível superior e os controles específicos dentro de providerOptions.

CampoTipoObrigatórioDescrição
modelstringSimwan2.7-image, wan2.7-image-pro. ID diferencia maiúsculas.
promptstringSimDescreva o tema, a composição, o estilo e as alterações. A Pixapi mantém os primeiros 2.000 caracteres; o prompt também é obrigatório na edição.
nintegerNãoPadrão 1; modo padrão 1–4, sequencial 1–9 na Pixapi.
sizestringNãoUse pixels LARGURAxALTURA, por exemplo 1024x1024
imagestring / string[]Para ediçãoURL HTTP(S) pública ou lista de URLs; obrigatória em /images/edits. Pixapi: até 4 referências. JPEG/PNG/WebP/BMP, 240–8000 pixels, ≤ 20 MB. Edição segue a última proporção, máximo 2K.
providerOptionsobjectNãoOpções específicas; consulte a tabela abaixo.

providerOptions ​

Todos estes campos ficam dentro de providerOptions, não ao lado de model.

CampoTipoDescrição
nsfw_checkbooleanModeração opcional do prompt e das imagens; padrão false.
negative_promptstringDescreva o conteúdo a excluir.
watermarkbooleanAdiciona marca-d’água de IA; padrão false.
seedintegerSemente aleatória, 0–2147483647; aleatória se omitida. Não garante resultados idênticos.
thinking_modebooleanPadrão true; apenas texto para imagem sem modo sequencial.
enable_sequentialbooleanPadrão false. Série coerente; desativa thinking_mode e color_palette, limitando Pro a 2K.
bbox_listarrayUma matriz por imagem; até duas caixas [x1,y1,x2,y2] em pixels. Use [] sem região.
color_paletteobject[]3–10 objetos {hex,ratio}; porcentagens em texto que somam 100.00%. Não funciona no modo sequencial.

Regras de entrada ​

Use pixels em size. Pro texto para imagem: até 4K; padrão, edição e sequencial: 2K. Não envie providerOptions.resolution.

Exemplo ​

bash
curl https://api.pixapi.ai/v1/images/generations \
  -H "Authorization: Bearer $PIXAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"wan2.7-image","prompt":"Foto editorial de produto em um fundo cinza quente","n":1,"size":"1024x1024"}'
py
import os
import requests

response = requests.post(
    "https://api.pixapi.ai/v1/images/generations",
    headers={
        "Authorization": f"Bearer {os.environ['PIXAPI_KEY']}",
        "Content-Type": "application/json",
    },
    json={
  "model": "wan2.7-image",
  "prompt": "Foto editorial de produto em um fundo cinza quente",
  "n": 1,
  "size": "1024x1024"
},
)
response.raise_for_status()
print(response.json())
js
const response = await fetch('https://api.pixapi.ai/v1/images/generations', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.PIXAPI_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
  "model": "wan2.7-image",
  "prompt": "Foto editorial de produto em um fundo cinza quente",
  "n": 1,
  "size": "1024x1024"
}),
});

if (!response.ok) {
  throw new Error(await response.text());
}

console.log(await response.json());
go
package main

import (
  "bytes"
  "fmt"
  "io"
  "net/http"
  "os"
)

func main() {
  body := []byte(`{
  "model": "wan2.7-image",
  "prompt": "Foto editorial de produto em um fundo cinza quente",
  "n": 1,
  "size": "1024x1024"
}`)

  req, err := http.NewRequest(
    "POST",
    "https://api.pixapi.ai/v1/images/generations",
    bytes.NewBuffer(body),
  )
  if err != nil {
    panic(err)
  }
  req.Header.Set("Authorization", "Bearer "+os.Getenv("PIXAPI_KEY"))
  req.Header.Set("Content-Type", "application/json")

  resp, err := http.DefaultClient.Do(req)
  if err != nil {
    panic(err)
  }
  defer resp.Body.Close()

  result, _ := io.ReadAll(resp.Body)
  fmt.Println(string(result))
}

Editar uma imagem ​

json
{
  "model": "wan2.7-image",
  "prompt": "Substitua o fundo por um estúdio minimalista",
  "image": "https://example.com/input.png",
  "n": 1
}

Para requisições assíncronas e polling, consulte Tarefas assíncronas de mídia.

O formato de resposta compartilhado está na Referência da API.