# Imagen a imagen
> **POST** `/v3/generation/image-to-image`
Genera una nueva imagen a partir de una imagen de referencia.
## Solicitar parámetros
### Encabezados de solicitud
| Parámetro | Tipo | Requerido | Predeterminado | Descripción |
| :-: | :-: | :-: | :-: | :-: |
| Content-Type | cadena | si | - | `application/json` |
| Authorization | cadena | si | - | `Bearer {api_key}` |
### Cuerpo de solicitud
| Parámetro | Tipo | Requerido | Predeterminado | Descripción |
| :-: | :-: | :-: | :-: | :-: |
| input | cadena | si | - | Imagen de referencia. Admite `file_token`, una imagen URL o `task_id` |
| inputs | cadena [] | No | - | Lista de múltiples imágenes de referencia. Los modelos `seedream` admiten hasta 4 imágenes y los modelos `banana` admiten hasta 10 imágenes. Puede hacer referencia a una imagen específica en `prompt` usando `[image number]` |
| prompt | cadena | Requerido condicionalmente | - | Instrucción de edición de imágenes. Requerido cuando no se especifica `template` |
| model | cadena | No | `seedream_v5` | Modelo de imagen. Valores admitidos: `seedream_v5`, `banana`, `banana_pro`, `banana2`, `chat_image_1`, `chat_image_1.5`, `chat_image_2`, `chat_image_2.5_flare`, `chat_image_2.5_sunburst`. |
| quality | cadena | No | `low` | Nivel de calidad. Solo `chat_image_2` (`low`, `medium`, `high`) y `chat_image_2.5_flare` / `chat_image_2.5_sunburst` (además `xhigh`, `max`). Si se omite equivale a `low`; `auto` no es compatible. `high`/`xhigh`/`max` cuestan más créditos. |
| background | cadena | No | - | Tratamiento del fondo. Solo `chat_image_2.5_flare` / `chat_image_2.5_sunburst`: `auto`, `opaque`, `transparent`. Con otros modelos se ignora en lugar de rechazarse. `transparent` requiere `output_format=png` (JPEG no admite canal alfa). |
| template | cadena | No | - | Nombre de la plantilla. Valores admitidos: `asset_extraction`, `character_completion`, `t_pose`, `head_extraction`, `3d_enhance`, `variants`, `print_clay`, `figure`. |
| t_pose | booleano | No | `false` | Convertir a pose T |
| sketch_to_render | booleano | No | `false` | Convertir un boceto en una imagen renderizada |
## Ejemplos de solicitudes
### curl
```bash
curl -X POST https://openapi.tripo3d.ai/v3/generation/image-to-image \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {api_key}" \
-d '{
"input": "https://example.com/reference.png",
"prompt": "Replace the background with a starry sky",
"model": "seedream-v4"
}'
```
### Python
```python
import requests
url = "https://openapi.tripo3d.ai/v3/generation/image-to-image"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
}
payload = {
"input": "https://example.com/reference.png",
"prompt": "Replace the background with a starry sky",
"model": "seedream-v4"
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
```
### JavaScript
```javascript
const url = "https://openapi.tripo3d.ai/v3/generation/image-to-image";
const response = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
},
body: JSON.stringify({
input: "https://example.com/reference.png",
prompt: "Replace the background with a starry sky",
model: "seedream-v4"
})
});
const data = await response.json();
console.log(data);
```
## Respuesta
### Respuesta exitosa
```json
{
"code": 0,
"data": {
"task_id": "task_abc123"
}
}
```
### Campos de respuesta
| Parámetro | Tipo | Descripción |
| :-: | :-: | :-: |
| code | entero | Código de estado. `0` indica éxito |
| data.task_id | cadena | Identificador de tarea único utilizado para consultar el progreso y los resultados de la generación. |
## Códigos de error
| Código de estado HTTP | Código de error | Descripción | Recomendación |
| :-: | :-: | :-: | :-: |
| 429 | 2000 | Límite de generación excedido | Reduzca la frecuencia de las solicitudes y vuelva a intentarlo más tarde |
| 400 | 2002 | Parámetro de solicitud no admitido | Verifique los nombres de los parámetros del cuerpo de la solicitud y los rangos de valores |
| 400 | 2003 | El archivo de entrada está vacío | Confirme que `input` apunte a un recurso de imagen válido |
| 400 | 2004 | Tipo de archivo no compatible | Utilice un formato de imagen compatible (PNG, JPEG, WebP) |
| 400 | 2008 | La entrada viola la política de contenido. | Revisar la imagen de entrada o solicitar y eliminar las descripciones que infrinjan la política. |
| 403 | 2010 | Créditos insuficientes | Añade créditos y vuelve a intentarlo |
| 400 | 2015 | Versión del modelo obsoleta | Actualice `model` a una versión actualmente compatible |
Imagen a imagen
POST /v3/generation/image-to-image
Genera una nueva imagen a partir de una imagen de referencia.
Solicitar parámetros
Encabezados de solicitud
| Parámetro |
Tipo |
Requerido |
Predeterminado |
Descripción |
| Content-Type |
cadena |
si |
- |
application/json |
| Authorization |
cadena |
si |
- |
Bearer {api_key} |
Cuerpo de solicitud
| Parámetro |
Tipo |
Requerido |
Predeterminado |
Descripción |
| input |
cadena |
si |
- |
Imagen de referencia. Admite file_token, una imagen URL o task_id |
| inputs |
cadena [] |
No |
- |
Lista de múltiples imágenes de referencia. Los modelos seedream admiten hasta 4 imágenes y los modelos banana admiten hasta 10 imágenes. Puede hacer referencia a una imagen específica en prompt usando [image number] |
| prompt |
cadena |
Requerido condicionalmente |
- |
Instrucción de edición de imágenes. Requerido cuando no se especifica template |
| model |
cadena |
No |
seedream_v5 |
Modelo de imagen. Valores admitidos: seedream_v5, banana, banana_pro, banana2, chat_image_1, chat_image_1.5, chat_image_2, chat_image_2.5_flare, chat_image_2.5_sunburst. |
| quality |
cadena |
No |
low |
Nivel de calidad. Solo chat_image_2 (low, medium, high) y chat_image_2.5_flare / chat_image_2.5_sunburst (además xhigh, max). Si se omite equivale a low; auto no es compatible. high/xhigh/max cuestan más créditos. |
| background |
cadena |
No |
- |
Tratamiento del fondo. Solo chat_image_2.5_flare / chat_image_2.5_sunburst: auto, opaque, transparent. Con otros modelos se ignora en lugar de rechazarse. transparent requiere output_format=png (JPEG no admite canal alfa). |
| template |
cadena |
No |
- |
Nombre de la plantilla. Valores admitidos: asset_extraction, character_completion, t_pose, head_extraction, 3d_enhance, variants, print_clay, figure. |
| t_pose |
booleano |
No |
false |
Convertir a pose T |
| sketch_to_render |
booleano |
No |
false |
Convertir un boceto en una imagen renderizada |
Ejemplos de solicitudes
curl -X POST https://openapi.tripo3d.ai/v3/generation/image-to-image \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {api_key}" \
-d '{
"input": "https://example.com/reference.png",
"prompt": "Replace the background with a starry sky",
"model": "seedream-v4"
}'
import requests
url = "https://openapi.tripo3d.ai/v3/generation/image-to-image"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
}
payload = {
"input": "https://example.com/reference.png",
"prompt": "Replace the background with a starry sky",
"model": "seedream-v4"
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
const url = "https://openapi.tripo3d.ai/v3/generation/image-to-image";
const response = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
},
body: JSON.stringify({
input: "https://example.com/reference.png",
prompt: "Replace the background with a starry sky",
model: "seedream-v4"
})
});
const data = await response.json();
console.log(data);
Respuesta
Respuesta exitosa
{
"code": 0,
"data": {
"task_id": "task_abc123"
}
}
Campos de respuesta
| Parámetro |
Tipo |
Descripción |
| code |
entero |
Código de estado. 0 indica éxito |
| data.task_id |
cadena |
Identificador de tarea único utilizado para consultar el progreso y los resultados de la generación. |
Códigos de error
| Código de estado HTTP |
Código de error |
Descripción |
Recomendación |
| 429 |
2000 |
Límite de generación excedido |
Reduzca la frecuencia de las solicitudes y vuelva a intentarlo más tarde |
| 400 |
2002 |
Parámetro de solicitud no admitido |
Verifique los nombres de los parámetros del cuerpo de la solicitud y los rangos de valores |
| 400 |
2003 |
El archivo de entrada está vacío |
Confirme que input apunte a un recurso de imagen válido |
| 400 |
2004 |
Tipo de archivo no compatible |
Utilice un formato de imagen compatible (PNG, JPEG, WebP) |
| 400 |
2008 |
La entrada viola la política de contenido. |
Revisar la imagen de entrada o solicitar y eliminar las descripciones que infrinjan la política. |
| 403 |
2010 |
Créditos insuficientes |
Añade créditos y vuelve a intentarlo |
| 400 |
2015 |
Versión del modelo obsoleta |
Actualice model a una versión actualmente compatible |