首页 > 其他分享 >AI绘画,Midjourney API 接口对接和使用

AI绘画,Midjourney API 接口对接和使用

时间:2024-03-29 10:30:44浏览次数:37  
标签:String AI TT jobId API imagine Midjourney

项目背景

众所周知,Midjourney并没有提供任何的Api服务,但是基于Midjourney目前的行业龙头位置,很多企业以及个人会有相关的需求。TTApi平台基于Midjourney现有功能整理出一套完整的可集成性高的服务,如果你有类似的需求,那么恭喜你找到了正确的使用方式。

新用户注册免费送 100 配额,最多可以免费请求 50 次imagine接口

出图效果

在这里插入图片描述

在这里插入图片描述

Imagine接口示例
Java请求示例
import cn.hutool.http.HttpRequest;
import cn.hutool.json.JSONUtil;

import java.util.HashMap;
import java.util.Map;

/**
 * 参考文档
 *  (中文版):https://docs-zh.mjapiapp.com/midjourney/midjourney-api
 *  (英文版):https://docs.mjapiapp.com/reference/midjourney-api
 */
public class TTApiMain {

    //TT-API-KEY
    private static final String TT_API_KET = "your_key";
    //提交绘图申请
    private static final String IMAGINE_URL = "https://api.ttapi.io/midjourney/v1/imagine";
    //查询绘图结果
    private static final String FETCH_RESULT = "https://api.ttapi.io/midjourney/v1/fetch";

    public static void main(String[] args) {
        //发送imagine绘图请求
        String result = imagine("dog");
        //查询绘图结果
        fetch(JSONUtil.parseObj(result).getJSONObject("data").getStr("jobId"));
    }

    /**
     * 发送 imagine 绘图请求
     * @param prompt
     */
    public static String imagine(String prompt){
        Map<String, Object> map = new HashMap<>();
        //提示词
        map.put("prompt", prompt);
        String result = HttpRequest.post(IMAGINE_URL)
                .body(JSONUtil.toJsonStr(map))
                .header("TT-API-KEY", TT_API_KET)
                .execute().body();
        System.out.println("绘图请求响应:" + result);
        //{"status":"SUCCESS","message":"success","data":{"jobId":"******************************"}}
        return result;
    }

    /**
     * 查询绘图结果
     * @param jobId 任务ID
     */
    public static void fetch(String jobId){
        String result = HttpRequest.get(FETCH_RESULT + "?jobId=" + jobId)
                .header("TT-API-KEY", TT_API_KET)
                .execute().body();
        System.out.println("绘图结果:" + result);
        //{"status":"ON_QUEUE","message":"","jobId":"******************************","data":{"action":"imagine","jobId":"******************************","progress":null,"prompt":"dog","discordImage":null,"cdnImage":null,"hookUrl":null,"components":null,"seed":null}}
    }
}
python请求示例
import requests

endpoint = "https://api.ttapi.io/midjourney/v1/imagine"

headers = {
    "TT-API-KEY": your_key
}

data = {
    "prompt": "a cute cat",
    "mode": "fast",
    "hookUrl": "",
    "timeout": 300
}

response = requests.post(endpoint, headers=headers, json=data)

print(response.status_code)
print(response.json())

TT-API-KEY 获取方式

  • 首先:注册TTApi平台, 注册地址,注册后跳转至激活页面
    activation.png
  • 点击 Send Activate Email,发送激活邮件至您的邮箱
    activation.png
  • 在您的邮箱中点击Verify Email(如果找不到激活邮件,有可能被邮件服务商勿拦,请翻阅垃圾邮件)
    home.png
    home.png
  • 点击后即激活成功,自动跳转至平台主页,同时您的邮件中将会收到成功邮件,首页点击转个人中心即可查看TT-API-KEY以及其他相关信息
  • 注册激活成功系统赠送100quota,可以免费请求33次imagine接口。具体相关支持请查看文档地址

功能特点

  • 包含Midjourney目前所有功能 imagine U V zoom pan vary blend describe seed 等等
  • 支持Midjourney所有命令 –v --cref --ar 等等
  • 支持webhook回调任务状态交互以及主动查询任务结果
参数详解
  • header中的TT-API-KEY为全局必传参数,所有请求都需要使用,个人中心中即可获得
  • mode是我们要使用的模式支持 fast,relax,turbo对应的也就是midjourney的模式,不设置默认为fast
  • timeout参数为超时时间设置,fast模式一般300秒以内即可,relax模式一般600秒以内即可,不设置默认为300
  • hookUrl为任务成功失败回调的地址,注意该地址请保证一定可以接收请求,任务状态数据会以json格式返回到该地址,以http状态码为准200即认为通知成功,http状态码非200最多会进行通知三遍

说明

Midjourney的不同操作以及在不同模式下消耗的账户订阅套餐的GPU时间是不相同的,TTApi的mj服务计费同理,详见费用说明文档 。 文档中详细介绍了对其他相关端点的支持,例如 U1-U4、V1-V4、blend 等。如果您有任何使用问题或建议,可以在下方留言,也可以在官网添加我们的联系方式,我们会对您提出的问题和建议及时回复。

标签:String,AI,TT,jobId,API,imagine,Midjourney
From: https://blog.csdn.net/weixin_39606965/article/details/137078971

相关文章

  • Swagger 文档工具 设计、构建、文档化和使用您的 RESTful API
    SwaggerSwagger是一个功能强大的开源框架,支持大量工具生态系统,帮助您设计、构建、文档化和使用您的RESTfulAPI。使用SpringBoot您可以从swagger-springboot获取完整的项目演示。springboot-blog中文版文件结构可能如下所示:.|____main||____java|||____com|......
  • AI与语音识别合成:开启智能交互新时代
    引言:随着人工智能(AI)技术的不断发展,语音识别和语音合成成为了人机交互领域的重要组成部分。语音识别技术使得机器能够理解人类的语言,而语音合成则使得机器能够以人类自然的语音形式进行回应。本文将深入探讨AI与语音识别合成的技术原理、应用场景以及未来发展趋势。一、技术原......
  • AIGC、3D模型、轻量化、格式转换、可视化、数字孪生引擎...
    老子云3D可视化快速开发平台,集云压缩、云烘焙、云存储云展示于一体,使3D模型资源自动输出至移动端PC端、Web端,能在多设备、全平台进行展示和交互,是全球领先、自主可控的自动化3D云引擎。平台架构平台特性基于HTML5和WebGL技术,可在主流浏览器上进行快速浏览和调试,支持P......
  • 关于使用IconData时flutter build apk 打包报错Target aot_android_asset_bundle fail
    flutter项目中引入了iconfont.ttf之后,调试时正常,打包就报错。 网上有的说法是:使用了iconfont.ttf里面不存在的icon,但是我使用的都是在iconfont.tt文件中的icon。 我的情况是使用了switch  case给IconData的codePoint动态赋值,下面这种情况就是打包报错的 解决办法是......
  • 智慧酒店(二):AI智能分析网关V4视频分析技术在酒店管理中的应用
    一、人工智能技术如何应用在酒店管理中?随着科技的飞速发展,人工智能技术已经逐渐渗透到我们生活的方方面面,其中,酒店管理行业便是其应用的重要领域之一。人工智能技术以其高效、精准的特点,为酒店管理带来了革命性的变革。人工智能技术可以应用在酒店管理的这些场景中:1、智能客房管......
  • 基于TSINGSEE青犀AI视频智能分析技术的山区林区烟火检测方案
    随着清明节的临近,山区、林区防火迫在眉睫,TSINGSEE青犀AI智能分析网关V4烟火检测算法利用物联网、人工智能、图像识别技术,有效监测和管理烟火活动,并在火灾发生的同时发出告警,通知护林员与管理人员。将山区林区的视频监控接入到AI智能分析网关V4并配置烟火检测算法,通过实时监控、......
  • AI 老师助你学 | AI应用
    前言AI在线老师全屏手动自助搜使用方法说明:手动删除输入栏的关键词,输入你的关键词,回车搜索即可。......
  • 【Linux】生产者消费者模型{基于BlockingQueue的PC模型/RAII风格的加锁方式/串行,并行,
    文章目录1.认识PC模型2.基于BlockingQueue的PC模型2.1串行,并行,并发2.2理解linux下的并发2.2RAII风格的加锁方式2.3阻塞队列2.4深入理解pthread_cond_wait2.5整体代码1.Task.hpp2.lockGuard.hpp3.BlockQueue.hpp4.pcModel.cc3.总结PC模型1.认识PC模型知乎好文「......
  • ef8 Contains 查询条件 报错 $ 附近错误
    var info=newList<string>();ef查询语句query.Where(x=>info .Contains(x.Barcode))报错 $ 附近错误这是ef为了兼容 ,把查询语句转成了类似下方语句wherebarcodein(SELECT1FROMOpenJson(@__names_0)AS)解决方法:重点是添加 o=>o.UseCompati......
  • JavaScript Fetch API请求和响应
    JavaScriptFetchAPI请求和响应 //加载进场工人不安全行为数据varloadAllWorkerUsafeData=setInterval(function(){consturl=`http://35.98.90.55/api/info?project=23`;fetch(url).then(response=>response.json()).then(data=>{varhandle_c......