Use nosso guia de início rápido pra aprender como a API do Imagen funciona e personalizar seu fluxo.
Complete a integração
Você precisa se cadastrar no Imagen, configurar seu ambiente, escolher um Perfil de IA e mais algumas etapas antes de usar este guia. Veja Integração.
Se você quer usar a API do Imagen com pouca programação, aqui está o SDK em Python.
1. Obtenha uma lista dos Perfis de IA disponíveis
Obtenha uma lista dos Perfis de IA e suas chaves. Aqui está a documentação de referência da API pra este endpoint.
GET /v1/profiles/
Exemplo de resposta
A resposta inclui os Perfis de IA disponíveis. Cada Perfil de IA tem uma profile_key que o identifica. Você precisa dessa profile_key pra editar as fotos no seu projeto.
{
"data": {
"profiles": [
{
"profile_key": <chave do perfil do Perfil de IA Pessoal>,
"profile_name": "casamento",
"profile_type": "Pessoal",
"image_type": "RAW"
},
{
"profile_key": 14715,
"profile_name": "LOVE & LIGHT",
"profile_type": "Talento",
"image_type": "RAW"
},
{
"profile_key": 163322,
"profile_name": "ELEGANT HOME",
"profile_type": "Talento",
"image_type": "RAW"
}
]
}
}
2. Selecione suas fotos sem a API
Selecione suas fotos antes de fazer o upload para edição. A seleção não faz parte da API do Imagen.
3. Crie um projeto e obtenha um ID de projeto
Recomendamos criar um projeto para cada ensaio. Um projeto organiza suas fotos com o Perfil de IA que você escolheu para editar essas fotos. Aqui estão os docs de referência da API para este endpoint.
POST /v1/projects/
Exemplo de resposta
A resposta é o project_uuid usado para identificar este projeto. Use este project_uuid até você exportar suas fotos para JPEG.
{
"data": {
"project_uuid": "<project_uuid>"
}
}
4. Crie links temporários de upload para enviar fotos
Você precisa de um link temporário para enviar cada foto. Na solicitação, no parâmetro files_list, inclua os nomes dos arquivos das fotos a enviar. Use o formato list. Aqui está a documentação de referência da API para este endpoint.
POST /v1/projects/<PROJECT_UUID>/get_temporary_upload_links
Exemplo de solicitação
curl --location 'https://api.dev.imagen-ai.com/v1/projects/<project_uuid>/get_temporary_upload_links' \
--header 'x-api-key: <api_key>' \
--header 'Content-Type: application/json' \
--data '{
“files_list”: [
{“file_name”: “922A4846.CR2”},
{“file_name”: “922A4832.CR2”},
{“file_name”: “922A4818.CR2”},
{“file_name”: “922A4809.CR2”}
]
}'
Exemplo de resposta
A resposta inclui um link temporário para cada foto no bucket S3 da Imagen na AWS. Este link é a URL pré-assinada da AWS.
{
"data": {
"files_list": [
{
"file_name": "922A4846.raw",
"upload_link": "<presigned URL for 922A4846.raw>"
},
{
"file_name": "922A4832.raw",
"upload_link": "<presigned URL for 922A4832.raw>"
},
{
"file_name": "922A4818.raw",
"upload_link": "<presigned URL for 922A4818.raw>"
},
{
"file_name": "922A4809.raw",
"upload_link": "<presigned URL for 922A4809.raw>"
}
]
}
}
5. Faça upload de cada foto para seu link temporário
Faça upload das fotos com uma solicitação PUT para o bucket S3 da Imagen na AWS. Use os links temporários de upload da resposta da etapa anterior.
Testando no Postman
- Desative o Content-Type nos cabeçalhos.
- Não envie Content-Type nos parâmetros de consulta.
Requisitos de cabeçalho da solicitação no código
Adicione Content-Type ao cabeçalho com uma string vazia ("") como valor.
6. Edite as fotos no seu projeto
Antes de enviar suas fotos para edição, você precisa:
- O valor do seu project_uuid
- O valor do seu profile_key. Veja a resposta de 1. Obter uma lista de Perfis de IA disponíveis para seu profile_key.
- Ferramentas de IA. Veja Ferramentas de IA da Imagen para escolher as ferramentas certas pro seu projeto.
- (Opcional) URL de callback. Veja [Adicionar uma URL de callback para receber mensagens de status]
Aqui estão os docs de referência da API para este endpoint.
POST /v1/projects/{project_uuid}/edit
Exemplo de requisição
{
"profile_key": <chave do perfil>,
"hdr_merge": true,
"photography_type": "REAL_ESTATE",
"callback_url": "string",
"perspective_correction": true,
"sky_replacement": true,
"sky_replacement_template_id": “2”
}
Exemplo de resposta
A resposta é uma mensagem informando que o projeto foi editado com sucesso. Se houver erro, envie um email para nossa equipe de sucesso do cliente.
{“project_uuid”: “<o UUID do projeto>”, “status”: “Failed/Completed/Pending”, “action”: “edit/export”“}
Adicione uma URL de callback pra receber mensagens de status
A callback_url é um endpoint POST que o Imagen pode usar pra te enviar mensagens de status. Esse parâmetro é opcional. Se você usar, não precisa verificar o status da edição. Esse endpoint deve estar aberto pro Imagen.
Status possíveis enviados na solicitação são:
- Failed: Envie um email pra equipe de sucesso do cliente.
-
Completed: A API do Imagen terminou de editar as fotos. Continue com uma das seguintes opções:
-
Obtenha links temporários de download pra baixar fotos editadas ou XMPs pra ajustar edições e exportar fotos com seu software de edição.
OU - Exportar fotos para entrega para criar JPEGs exportados para clientes.
-
Obtenha links temporários de download pra baixar fotos editadas ou XMPs pra ajustar edições e exportar fotos com seu software de edição.
Exemplo de resposta
{“project_uuid”: “<o UUID do projeto>”, “status”: “Failed/Completed”, “action”: “edit/export”“}
7. Verificar o status da edição
Se você não adicionou uma URL de callback à sua solicitação de edição, obtenha o status atual do processo de edição. Continue chamando este endpoint com long polling até que o status seja Concluído.
Aqui estão os docs de referência da API para este endpoint.
GET /v1/projects/<PROJECT_UUID>/edit/status
Aqui estão os status na resposta:
- Pendente: O processo de edição ainda não começou. Assim que a edição iniciar, o status mudará para Em Andamento.
- Em Andamento: A API Imagen está editando as fotos.
- Falhou: Envie um e-mail para a equipe de sucesso do cliente.
-
Concluído: O Imagen API terminou de editar as fotos. Continue com uma das seguintes opções:
-
Obtenha links temporários de download para baixar fotos editadas ou XMPs para ajustar edições e exportar fotos com seu software de edição.
OU - Exporte fotos para entrega para criar JPEGs exportados para clientes.
-
Obtenha links temporários de download para baixar fotos editadas ou XMPs para ajustar edições e exportar fotos com seu software de edição.
8. Obtenha links temporários de download para baixar fotos editadas ou XMPs
Após receber o status Concluído, obtenha os links temporários de download para baixar as fotos editadas.
Aqui estão os documentos de referência da API para este endpoint.
GET /v1/projects/<PROJECT_UUID>/edit/get_temporary_download_links
Exemplo de resposta
A resposta inclui um link temporário para cada foto no bucket S3 do Imagen na AWS. Este link é a URL pré-assinada da AWS.
{
"data": {
"files_list": [
{
"file_name": "922A4846.DNG",
"download_link": "<URL pré-assinada para 922A4846.DNG>"
},
{
"file_name": "922A4832.DNG",
"download_link": "<URL pré-assinada para 922A4832.DNG>"
},
{
"file_name": "922A4818.DNG",
"download_link": "<URL pré-assinada para 922A4818.DNG>"
},
{
"file_name": "922A4809.DNG",
"download_link": "<URL pré-assinada para 922A4809.DNG>"
}
]
}
}
9. Baixe as fotos editadas localmente
Quando o Imagen retorna os arquivos editados, estes são os respectivos formatos:
| Formato do arquivo antes da edição | Formato do arquivo retornado após a edição |
| RAW |
XMP Observação: Ao editar fotos com Mesclagem HDR, o formato retornado é sempre DNG, mesmo que o formato do arquivo antes da edição fosse RAW. |
| RAW + DNG | DNG com XMP incorporado |
| DNG | DNG com XMP incorporado |
| JPEG | JPEG com XMP incorporado |
Baixe as fotos do bucket S3 do Imagen na AWS usando os links temporários de download da resposta na etapa anterior. Use qualquer método que preferir. Para código de amostra em Python, veja api_client.py no projeto da API do Imagen no Github.
Revise as edições no software de edição da Adobe. Se você abrir as fotos com o visualizador de fotos padrão do seu computador, não verá as edições. Para ajuda, veja:
- Lightroom Classic: Minhas fotos não estão editadas após baixar as edições
- Lightroom: Minhas fotos não estão editadas após baixar as edições
- Photoshop: Minhas fotos não estão editadas após baixar as edições
- Bridge: Minhas fotos não estão editadas após baixar as edições
10. Opcional: Exporte JPEGs finais para entrega
A API do Imagen exporta todas as fotos de um projeto para o formato JPEG. Esta etapa é opcional. Alguns fotógrafos ajustam as edições e as exportam com seu software de edição. Após exportar os JPEGs finais, você os entrega ou faz upload para uma galeria.
1. Exporte as fotos do projeto
POST /v1/projects/<PROJECT_UUID>/export
Aqui estão os docs de referência da API para este endpoint.
A resposta inclui o project_uuid e uma mensagem de que a exportação foi bem-sucedida. Se houver um erro, envie um email para nossa equipe de sucesso do cliente.
2. Verifique o status da exportação
Se você não adicionou uma URL de callback na sua solicitação de edição, obtenha o status da exportação.
GET /v1/projects/<PROJECT_UUID>/export/status.
Aqui estão os docs de referência da API para este endpoint.
A resposta inclui o status da exportação. Os status possíveis são:
- Em andamento: a API do Imagen está editando as fotos.
- Falhou: Envie um email para a equipe de sucesso do cliente.
- Concluído: a API do Imagen terminou de exportar as fotos para JPEG.
3. Obtenha links temporários para baixar as fotos JPEG finais
Obtenha os links temporários quando o status da exportação retornar como COMPLETED.
GET /v1/projects/<PROJECT_UUID>/export/get_temporary_download_links
Na requisição, inclua as fotos exportadas para download no parâmetro files_list. Use o formato list.
Aqui está a documentação de referência da API para este endpoint.
Exemplo de resposta
A resposta inclui um link temporário para cada foto no bucket S3 da Imagen na AWS. Este link é a URL pré-assinada da AWS.
{
"data": {
"files_list": [
{
"file_name": "922A4846.JPG",
"download_link": "<presigned URL for 922A4846.JPG>"
},
{
"file_name": "922A4832.JPG",
"download_link": "<URL pré-assinada para 922A4832.JPG>"
},
{
"file_name": "922A4818.JPG",
"download_link": "<URL pré-assinada para 922A4818.JPG>"
},
{
"file_name": "922A4809.JPG",
"download_link": "<URL pré-assinada para 922A4809.JPG>"
}
]
}
}
4. Baixe as fotos JPEG finais localmente
Baixe as fotos do bucket S3 do Imagen na AWS usando os links temporários de download da resposta da etapa anterior. Use qualquer método que preferir. Para código de exemplo em Python, veja api_client.py no projeto da API do Imagen no Github.