Processo de Solicitação
Para usar a API, você precisa primeiro acessar a página correspondente da API Midjourney Edits para solicitar o serviço correspondente. Após entrar na página, clique no botão “Acquire”, conforme mostrado na imagem:
Se você ainda não estiver logado ou registrado, será redirecionado automaticamente para a página de login, convidando-o a se registrar e fazer login. Após o registro e login, você será redirecionado de volta para a página atual.
Na primeira solicitação, haverá um crédito gratuito disponível, permitindo o uso gratuito da API.
Uso Básico
Primeiro, entenda a forma básica de uso, que envolve a entrada de palavras-chaveprompt, a ação de geração action e a imagem de referência image_url, para obter o resultado processado. Primeiro, é necessário passar um campo action, cujo valor é generate, com o conteúdo específico a seguir:

accept: o formato de resposta desejado, que deve ser preenchido comoapplication/json, ou seja, formato JSON.authorization: a chave para chamar a API, que pode ser selecionada diretamente após a solicitação.
mask: pode especificar a posição da máscara da área da imagem para edição e regeneração.split_images: divide a imagem gerada em várias imagens, retornando através do campo sub_image_urls. Por padrão, é false.action: a ação da tarefa de geração de imagem, que por padrão égenerate.image_url: o link da imagem a ser editada.prompt: palavras-chave.mode: modo de geração, podendo serfast/relax/turbo.callback_url: a URL para onde os resultados devem ser retornados.

success: o estado da tarefa de edição de imagem.task_id: o ID da tarefa de edição de imagem.image_id: o ID da imagem da tarefa de edição.sub_image_urls: os múltiplos resultados da tarefa de geração de imagem.image_url: o link da imagem gerada.image_width: a largura da imagem gerada.image_height: a altura da imagem gerada.progress: o campo de progresso da tarefa de edição de imagem.
image_url.
Além disso, se você quiser gerar o código correspondente para a integração, pode copiá-lo diretamente, como o código CURL a seguir:
Callback Assíncrono
Como o tempo de geração da API Midjourney Edits é relativamente longo, cerca de 1-2 minutos, se a API não responder por um longo período, a requisição HTTP manterá a conexão, resultando em consumo adicional de recursos do sistema. Portanto, esta API também oferece suporte a callbacks assíncronos. O fluxo geral é: quando o cliente inicia a solicitação, deve especificar um campocallback_url adicional. Após o cliente fazer a solicitação à API, a API retornará imediatamente um resultado, contendo um campo task_id, que representa o ID da tarefa atual. Quando a tarefa for concluída, o resultado da geração será enviado ao callback_url especificado pelo cliente em formato JSON POST, incluindo também o campo task_id, permitindo que o resultado da tarefa seja associado pelo ID.
A seguir, vamos entender como operar isso por meio de um exemplo.
Primeiro, o callback Webhook é um serviço que pode receber requisições HTTP, e o desenvolvedor deve substituí-lo pela URL do servidor HTTP que ele configurou. Para facilitar a demonstração, usaremos um site público de exemplo de Webhook, https://webhook.site/, onde você pode abrir o site e obter uma URL de Webhook, conforme mostrado na imagem:
Copie esta URL para usá-la como Webhook, sendo o exemplo https://webhook.site/556e6971-b41f-4fa8-9151-6e91acd0399f.
Em seguida, podemos definir o campo callback_url como a URL do Webhook acima, ao mesmo tempo que preenchemos os parâmetros correspondentes, conforme mostrado na imagem:

https://webhook.site/556e6971-b41f-4fa8-9151-6e91acd0399f, conforme mostrado na imagem:

task_id, os outros campos são semelhantes aos mencionados anteriormente, através deste campo é possível realizar a associação da tarefa.
Tratamento de Erros
Ao chamar a API, se encontrar um erro, a API retornará o respectivo código de erro e informações. Por exemplo:400 token_mismatched: Solicitação inválida, possivelmente devido a parâmetros ausentes ou inválidos.400 api_not_implemented: Solicitação inválida, possivelmente devido a parâmetros ausentes ou inválidos.401 invalid_token: Não autorizado, token de autorização inválido ou ausente.429 too_many_requests: Muitas solicitações, você excedeu o limite de taxa.500 api_error: Erro interno do servidor, algo deu errado no servidor.

