Início Rápido da API do Imagen

  • Atualizado

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:

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:

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:

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:

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.

Esse artigo foi útil?

Tem mais dúvidas? Envie uma solicitação